本文主要是介绍✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1️⃣线性回归(linear regression)
f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b(x)=wx+b
🎈A linear regression model predicting house prices:
如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^2 feet2时,预测的价格为 220k$。
🎈Terminology:
线性回归中可能用到的术语及含义
2️⃣代价函数(cost function)
为了预测出更准确的结果,需要模型更好的拟合程度,对于线性回归模型 f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b(x)=wx+b,我们需要找到合适的参数 w w w, b b b,使得拟合程度最高。
🎉而如何找到合适的 w w w, b b b 呢,这时需要通过代价函数(cost function)来进行衡量。我们希望对于每组数据,模型通过 x ( i ) x^{(i)} x(i) 预测出的 y ^ ( i ) \hat{y}^{(i)} y^(i) 接近真实的 y ( i ) y^{(i)} y(i) ,于是有如下的代价函数:
J = 1 2 m ∑ i = 1 m ( y ^ ( i ) − y ( i ) ) 2 J = \frac{1}{2m}\sum_{i=1}^{m}(\hat{y}^{(i)}-y^{(i)})^2 J=2m1i=1∑m(y^(i)−y(i))2
J ( w , b ) = 1 2 m ∑ i = 1 m ( f w , b ( x ( i ) ) − y ( i ) ) 2 J(w,b)=\frac{1}{2m}\sum_{i=1}^{m}(f_{w,b}(x^{(i)})-y^{(i)})^2 J(w,b)=2m1i=1∑m(fw,b(x(i))−y(i))2
✨现在的目标就变为 minimize w , b J ( w , b ) \underset{w, b}{\text{minimize}}J(w,b) w,bminimizeJ(w,b)✨
为了简单理解代价函数,让 b = 0 b=0 b=0 简化函数,针对 f ( x ) = w x f(x) = wx f(x)=wx 讨论。
对所有的 w w w 取值最终可以列出一个代价函数:
可以看到当 w = 1 w=1 w=1 时 J ( w ) J(w) J(w) 最小,此时的 w w w 即为我们找到的最合适的参数。
当我们不再忽略 b b b ,来研究两个参数 w w w 和 b b b 影响下的代价函数时,它的函数是一个三维图形,此时 J J J 的最小值在这个3D图形的底部:
假设我们拿一把小刀🔪去水平地给这样的三维图形砍一刀,去看这个横切面,大概可以得到这样的图形:
回归函数 f w , b f_{w,b} fw,b 和代价函数中的点的对应关系如下:
3️⃣梯度下降(gradient descent)
✨ 用于求代价函数 J ( w , b ) J(w,b) J(w,b) 的最小值的方法, α \alpha α 为学习率(learning rate)。
w = w − α ∂ ∂ w J ( w , b ) w=w-\alpha\frac{\partial}{\partial w} J(w, b) w=w−α∂w∂J(w,b)
b = b − α ∂ ∂ b J ( w , b ) b=b-\alpha\frac{\partial}{\partial b} J(w, b) b=b−α∂b∂J(w,b)
对于一个三维的代价函数,想象成有个小人站在山上一个点,对于自己的360度的方向,需要选择一个方向迈出一步,确保这一步比其他各个方向下降的都要快,然后到达下一个点后以此类推,最终下降到最低点。
如果从不同的 ( w , b ) (w,b) (w,b) 作为起点,最后降低到的最低点不同,这些谷底被称为 local mininum(局部极小值)。
🎉这个梯度下降的过程就是不断调整 w w w 和 b b b 的过程:
学习率 α \alpha α
这篇关于✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!