ML1 单变量线性回归

简介: 有一个数据集,里面没有任何标签/或者相同的标签,机器在这组数据集中找规律,并归纳总结

⏰本节内容:有监督学习与无监督学习,代价函数,梯度下降算法,线性回归


有监督学习与无监督学习


1.有监督学习


⚡给机器大量的数据集,该数据集中包含正确的答案,然后机器根据数据集拟合出一条曲线


  • 分类


预测离散输出,例如:预测肿瘤的良性、恶性


202204211155853.png


  • 回归


预测连续的输出,例如:预测房价走势


202204211155344.png


2.无监督学习


🔥有一个数据集,里面没有任何标签/或者相同的标签,机器在这组数据集中找规律,并归纳总结


  • 聚类


例如:音频分离(如人声和背景声的分离)、百度新闻归档


202204221325005.png


代价函数


代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。


⭐J(θ0, θ1):误差平方代价函数


⭐hθ(x) :拟合函数,就是你预测的函数


image.png


202204211241103.png


代价函数三维图,以θ0, θ1为x、y坐标轴


d5ea98d5cd45b1f307ea8da4e61d75ce.png


梯度下降算法


梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J ( θ 0 , θ 1 )的最小值


1.随机θ0, θ1分配初值

2.不断改变,找到正确的θ0、θ1,使得J(θ0, θ1)最小


5d13583bae065a75eeeef7480fb6b817.png


92646eac78607356c078a8d45f2ec81e.png


梯度下降背后的思想是:开始时我们随机选择一个参数的组合( θ 0 , θ 1 , . . . . . . , θ n ) ,计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到找到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。


1.数学定义


image.png


  • :=:赋值运算符,a:=b相当于取b的值赋给a;


🔓为什么不用a=b?


🔑答:在教学视频中,a=b被认为是真假判断,声明a=b是对的。所以我们不能写a=a+1,因为这永远都是错的


  • α:学习率,用来控制我们在梯度下降的幅度,α越大,梯度下降的越快


2.同步更新


202204212020768.png


✅梯度下降算法应满足同步更新的条件,即θ0, θ1应同时改变,如图1️⃣


❌图2️⃣则是先计算了θ0,然后再用新的θ0去计算θ1


所以图1和图2区别在于,temp1的值不同


3.偏微分导数项


image.png


在这里,image.png是梯度函数的斜率,乘以α则表示梯度变化幅度


202204221316374.png


所以当θ1已经处在一个局部最优点时,它所在点的曲线斜率为0,即image.png


此时由image.png得:


θ 1 : = θ 1,θ1不会变化,如下图:


2f664eb32b99e0c85fcec6669900f227.png


🚀注意:α永远是正数


  • α过小


c976bbe737dfe4d5e6751a48fb7d120b.png


不断拟合,去努力接近最低点,这样就需要很多步才能到达最低点,耗费大量时间,它会需要很多步才能到达全局最低点


  • α过大


ca5070cd32ff3c4983ff21fc060a54bf.png


拟合的时候左右横跳,难以达到最低点,反而远离最低点了,所以,如果a aa太大,它会导致无法收敛,甚至发散


所以斜率不断减小,梯度下降的幅度也不断减少,这样就可以无限逼近于最低点


例如:品红色👉绿色👉红色👉蓝色👉最低点


因为曲线在下降的时候是不断变缓的,所以它的斜率也不断减小,你可以看到越靠近最低点,不同颜色的点就越密集


278cc6456dd67846b77b7a9e3f8c84ca.png


线性回归算法


使用梯度下降算法,去求误差代价函数的最小值


推导过程


image.png


凸函数


线性回归的代价函数曲线通常都是一个碗状的,这被称为凸函数/弓函数,这个函数只有全局最优解,而没有局部最优解,可以视作是三维的二次函数


cbe6f54e14d6b62b92f0fc0c7ac4e20f.png

相关文章
|
8月前
|
数据可视化 vr&ar
时间序列分析实战(七):多个变量的ARIMA模型拟合
时间序列分析实战(七):多个变量的ARIMA模型拟合
|
7月前
|
机器学习/深度学习 算法 数据可视化
[04-00]单变量线性回归问题
[04-00]单变量线性回归问题
|
8月前
|
数据可视化 Python
Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练和预测可视化
Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练和预测可视化
Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练和预测可视化
|
8月前
|
机器学习/深度学习 算法 数据可视化
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择分类心肌梗塞数据模型案例(上)
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择分类心肌梗塞数据模型案例
|
8月前
|
机器学习/深度学习 数据可视化
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择分类心肌梗塞数据模型案例(下)
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择分类心肌梗塞数据模型案例
|
8月前
|
机器学习/深度学习 Python
Python用PyMC3实现贝叶斯线性回归模型
Python用PyMC3实现贝叶斯线性回归模型
|
8月前
|
供应链 算法 vr&ar
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测
|
机器学习/深度学习 算法 安全
使用PyTorch-LSTM进行单变量时间序列预测的示例教程
时间序列是指在一段时间内发生的任何可量化的度量或事件。尽管这听起来微不足道,但几乎任何东西都可以被认为是时间序列。一个月里你每小时的平均心率,一年里一只股票的日收盘价,一年里某个城市每周发生的交通事故数。在任何一段时间段内记录这些信息都被认为是一个时间序列。对于这些例子中的每一个,都有事件发生的频率(每天、每周、每小时等)和事件发生的时间长度(一个月、一年、一天等)。
1370 0
|
机器学习/深度学习 算法 数据可视化
【深度学习02】 多变量线性回归
为了节约训练的时间和数据,我们可以随机抽取 b 个样本
111 0
Python之建模数值逼近篇–最小二乘拟合
Python之建模数值逼近篇–最小二乘拟合
Python之建模数值逼近篇–最小二乘拟合