【深度学习】线性回归

news/2025/2/12 17:35:36/

Linear Regression

  • 一个例子
  • 线性回归
  • 机器学习中的表达
  • 评价函数好坏的度量:损失(Loss)
  • 损失函数(Loss function)
    • 哪个数据集的均方误差 (MSE) 高
  • 如何找出最优b和w?
  • 寻找最优b和w
  • 如何降低损失 (Reducing Loss)
  • 梯度下降法
    • 梯度
    • 计算梯度f^'^(x)i
    • 梯度下降法(gradient descent)
    • 学习速率(Learning rate)
    • 金发女孩原则(Goldilocks principle)
  • 如何训练模型

一个例子

相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更频繁。
现有数据如下图,请预测鸣叫声与温度的关系。
在这里插入图片描述

线性回归

如图这种由点确定线的过程叫回归,既找出因变量和自变量之间的关系

y = mx + b

y指的是温度(摄氏度),即我们试图预测的值
m指的是直线的斜率
x指的是每分钟的鸣叫声次数,即输入特征的值
b指的是y轴截距

机器学习中的表达

y=𝑤𝑥+𝑏

x 特征(feature)
y 预测值(target)
w 权重(weight)
b 偏差(bias)

在这里插入图片描述
样本(samples) (x,y)

在这里插入图片描述

如何找出最优的函数 , 即找出一组最佳的w和b?
首先需要对函数的好坏进行评价

评价函数好坏的度量:损失(Loss)

反应模型预测(prediction)的准确程度。

如果模型(model)的预测完全准确,则损失为零
训练模型的目标是从所有样本中找到一组平均损失 “较小” 的权重和偏差。

在这里插入图片描述

显然,相较于左侧曲线图中的蓝线,右侧曲线图中的蓝线代表的是预测效果更好的模型

损失函数(Loss function)

损失函数是指汇总各样本损失的数学函数。

· 平方损失(又称为 L2 损失)
· 单个样本的平方损失= ( observation - prediction(x) )2 = ( y - y’ )2
· 均方误差 (mean-square error, MSE) 指的是样本的平均平方损失

在这里插入图片描述

哪个数据集的均方误差 (MSE) 高

以下两幅图显示的两个数据集,哪个数据集的均方误差 (MSE) 较高?

在这里插入图片描述

B图线上的 8 个样本产生的总损失为 0。不过,尽管只有两个点在线外,但这两个点的离线距离依然是左图中离群点的 2 倍。平方损失进一步加大差异,因此两个点的偏移量产生的损失是一个点的 4 倍。
· 根据损失函数的定义
· 对于A:MSE = (02 + 12 + 02 + 12 + 02 + 12 + 02 + 12 + 02 + 02)/10 = 0.4
· 对于B:MSE = (02 + 02 + 02 + 22 + 02 + 02 + 02 + 22 + 02 + 02)/10 = 0.8

→因此B的MSE较高。

如何找出最优b和w?

定义了损失函数,我们就可以评价任一函数的好坏,下一步如何找出最优b和w?
靠猜~
在这里插入图片描述

像猜价格游戏,参与者给出初始价钱,通过“高了”或“低了”的提示,逐渐接近正确的价格。
在这里插入图片描述

寻找最优b和w

1. 首先随机给出一组参数b=1,w=1 
2. 评价这组参数的好坏,例如用MSE 
3. 改变w和b的值
4. 转到步骤2,直到总体损失不再变化或变化极其缓慢为止,该模型已收敛

在这里插入图片描述

最后一个问题:如何改变w、b ???

如何降低损失 (Reducing Loss)

简化问题,以只有一个参数w为例,所产生的损失Loss与 w 的图形是凸形(convex)。如下所示:

在这里插入图片描述

只有一个最低点 → 即只存在一个斜率正好为 0 的位置。
损失函数取到最小值的地方。

但是,如何找到这一点呢?

  1. 为w选择一个起点↓ 这里选择了一个稍大于 0 的起点
    在这里插入图片描述

梯度下降法

梯度

· 梯度是偏导数的矢量;有方向和大小。

· 梯度即是某一点最大的方向导数,沿梯度方向函数有最大的变化率
(沿梯度方向函数增加,负梯度方向函数减少)

· 损失Loss相对于单个权重的梯度大小就等于导数f(x)i

二元函数的梯度:
在这里插入图片描述

计算梯度f(x)i

求导数,即切线的斜率,在这个例子中,是负的,因此负梯度是w的正方向。

在这里插入图片描述

梯度下降法(gradient descent)

w=w-lr*w_grad

lr (learning rate,学习速率)

在这里插入图片描述

然后,重复此过程,逐渐接近最低点。
在这里插入图片描述
⭐负梯度指向损失函数下降的方向

学习速率(Learning rate)

通常梯度下降法用梯度乘以学习速率(步长),以确定下一个点的位置:

w=w-lr*w_grad

例如,如果学习速率为 0.01,梯度大小为 2.5,则:
w=w-0.01*2.5

学习速率是机器学习算法中人为引入的,是用于调整机器学习算法的旋钮,这种称为超参数。
在这里插入图片描述

金发女孩原则(Goldilocks principle)

每个回归问题都存在一个“Goldilocks principle”学习速率,该值与损失函数的平坦程度相关。 例如,如果损失函数的梯度较小,则可以采用更大的学习速率,以补偿较小的梯度并获得更大的步长。

(西方有一个儿童故事叫 “ The Three Bears(金发女孩与三只小熊)”,迷路了的金发姑娘未经允许就进入了熊的房子,她尝了三只碗里的粥,试了三把椅子,又在三张床上躺了躺。最后发现不烫不冷的粥最可口,不大不小的椅子坐着最舒服,不高不矮的床上躺着最惬意。道理很简单,刚刚好就是最适合的,just the right amount,这样做选择的原则被称为 Goldilocks principle(金发女孩原则)。)

采取恰当学习速率,可以高效的到达最低点,如下图所示:

在这里插入图片描述
降低损失:优化学习速率-模拟动图

如何训练模型

  1. 定义一个函数的集合
  2. 给出评价函数好坏的方法
  3. 利用梯度下降法找到最佳函数

在这里插入图片描述


http://www.ppmy.cn/news/1379333.html

相关文章

multiprocessing快速入门和总结

multiprocessing 官网地址:https://docs.python.org/3/library/multiprocessing.html# 1.Pool 2.Process 3.set_start_method spawnforkforkserver 4.Exchanging objects between processes QueuesPipes 5.Synchronization between processes Lock 6.Shar…

查询IP地址保障电商平台安全

随着电子商务的快速发展,网购已经成为人们日常生活中不可或缺的一部分。然而,网络交易安全一直是人们关注的焦点之一,尤其是在面对日益频发的网络诈骗和欺诈行为时。为了提高网购平台交易的安全性,一种有效的方法是通过查询IP地址…

【Element】Vue3 中快捷设置 Element 主题色

直接放代码&#xff0c;很简单 <script setup lang"ts"> import zhCn from element-plus/dist/locale/zh-cn.mjs; import { computed, onMounted, watch } from vue; import { ElNotification } from element-plus; import { useUserStore } from /store/inde…

【C++庖丁解牛】模拟实现STL的string容器(最后附源码)

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 1.vs和g下string结构…

【工具相关】zentao用例管理平台部署实践

文章目录 一、备份还原1、数据备份1.1、前言1.2、版本备份1.3、数据备份 2、数据恢复2.1、版本恢复2.2、数据恢复 二、问题处理1、ERROR: SQLSTATE[HY000] [2002] Connection refused 一、备份还原 1、数据备份 1.1、前言 禅道系统从10.6版本以后&#xff0c;新增数据备份设…

最新基于R语言lavaan结构方程模型(SEM)技术

原文链接&#xff1a;最新基于R语言lavaan结构方程模型&#xff08;SEM&#xff09;技术https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247596681&idx4&sn08753dd4d3e7bc492d750c0f06bba1b2&chksmfa823b6ecdf5b278ca0b94213391b5a222d1776743609cd3d14…

如何轻松打造属于自己的水印相机小程序?

水印相机小程序源码 描述&#xff1a;微信小程序。本文将为您详细介绍小程序水印相机源码的搭建过程&#xff0c;教您如何轻松打造属于自己的水印相机小程序。无论您是初学者还是有一定基础的开发者&#xff0c;都能轻松掌握这个教程。 一&#xff1a;水印相机搭建教程 1 隐…

代码背后的女性:突破性别壁垒的技术先驱

个人主页&#xff1a;17_Kevin-CSDN博客 收录专栏&#xff1a;《程序人生》 引言 在计算机科学的历史长河中&#xff0c;有许多杰出的女性为这个领域的发展做出了重要贡献。她们不仅在技术上取得了卓越成就&#xff0c;还打破了性别壁垒&#xff0c;为后来的女性树立了榜样。今…