⏰本节内容:有监督学习与无监督学习,代价函数,梯度下降算法,线性回归
有监督学习与无监督学习
1.有监督学习
⚡给机器大量的数据集,该数据集中包含正确的答案,然后机器根据数据集拟合出一条曲线
- 分类
预测离散输出,例如:预测肿瘤的良性、恶性
- 回归
预测连续的输出,例如:预测房价走势
2.无监督学习
🔥有一个数据集,里面没有任何标签/或者相同的标签,机器在这组数据集中找规律,并归纳总结
- 聚类
例如:音频分离(如人声和背景声的分离)、百度新闻归档
代价函数
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。
⭐J(θ0, θ1):误差平方代价函数
⭐hθ(x) :拟合函数,就是你预测的函数
代价函数三维图,以θ0, θ1为x、y坐标轴
梯度下降算法
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J ( θ 0 , θ 1 )的最小值
1.随机θ0, θ1分配初值
2.不断改变,找到正确的θ0、θ1,使得J(θ0, θ1)最小
梯度下降背后的思想是:开始时我们随机选择一个参数的组合( θ 0 , θ 1 , . . . . . . , θ n ) ,计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到找到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
1.数学定义
- :=:赋值运算符,a:=b相当于取b的值赋给a;
🔓为什么不用a=b?
🔑答:在教学视频中,a=b被认为是真假判断,声明a=b是对的。所以我们不能写a=a+1,因为这永远都是错的
- α:学习率,用来控制我们在梯度下降的幅度,α越大,梯度下降的越快
2.同步更新
✅梯度下降算法应满足同步更新的条件,即θ0, θ1应同时改变,如图1️⃣
❌图2️⃣则是先计算了θ0,然后再用新的θ0去计算θ1
所以图1和图2区别在于,temp1的值不同
3.偏微分导数项
在这里,是梯度函数的斜率,乘以α则表示梯度变化幅度
所以当θ1已经处在一个局部最优点时,它所在点的曲线斜率为0,即
此时由得:
θ 1 : = θ 1,θ1不会变化,如下图:
🚀注意:α永远是正数
- α过小
不断拟合,去努力接近最低点,这样就需要很多步才能到达最低点,耗费大量时间,它会需要很多步才能到达全局最低点
- α过大
拟合的时候左右横跳,难以达到最低点,反而远离最低点了,所以,如果a aa太大,它会导致无法收敛,甚至发散
所以斜率不断减小,梯度下降的幅度也不断减少,这样就可以无限逼近于最低点
例如:品红色👉绿色👉红色👉蓝色👉最低点
因为曲线在下降的时候是不断变缓的,所以它的斜率也不断减小,你可以看到越靠近最低点,不同颜色的点就越密集
线性回归算法
使用梯度下降算法,去求误差代价函数的最小值
推导过程
凸函数
线性回归的代价函数曲线通常都是一个碗状的,这被称为凸函数/弓函数,这个函数只有全局最优解,而没有局部最优解,可以视作是三维的二次函数