Course1-Week1:
https://github.com/kaieye/2022-Machine-Learning-Specialization/tree/main/Supervised%20Machine%20Learning%20Regression%20and%20Classification/week1
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
α