吴恩达《机器学习》笔记——第二章

吴恩达《机器学习》笔记——第二章,第1张

2、Linear regression with one variable(单变量线性回归)
  • 2.1 Model representation(模型描述)
  • 2.2 Cost function(代价函数)
  • 2.5 Gradient descent(梯度下降)
  • 2.6 Gradient descent intuition(梯度下降总结)
  • 2.7 Gradient descent for linear regression(线性回归的梯度下降)

2.1 Model representation(模型描述)

这门课程中的符号表示
m m m: Number of training examples(#Training set)
x ′ s x's xs: “input” variable / features
y ′ s y's ys: “output” variable / “target” variable
( x , y ) (x,y) (x,y): one training example
( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)): The i i i’th training example of training set

监督学习算法的工作流程:我们向学习算法提供训练集,学习算法的任务是输出一个函数,通常用 h h h表示,称为假设函数(hypothesis)。假设函数的作用是输入 x x x,输出预测值 y y y

对于单变量线性回归,假设函数如下表示: h θ ( x ) = θ 0 + θ 1 x h_\theta(x)=\theta_0+\theta_1x hθ(x)=θ0+θ1x

x x x是一个列向量,则 θ 1 \theta_1 θ1是一个行向量,对应多变量线性回归。

2.2 Cost function(代价函数)

如何选择参数 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1?
Idea:选择 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1,使得对于训练集中的 ( x , y ) (x,y) (x,y) h θ ( x ) h_\theta(x) hθ(x) y y y接近。

因此,有了如下最小化问题 min ⁡ θ 0 , θ 1 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 \min_{\theta_0,\theta_1} \frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 θ0,θ1min2m1i=1m(hθ(x(i))y(i))2 J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2,则上述最小化问题转化为 min ⁡ J ( θ 0 , θ 1 ) \min J(\theta_0,\theta_1) minJ(θ0,θ1) J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)就是这个线性回归的代价函数。这个代价函数也被称为平方误差(代价)函数。

平方误差函数对于大多数问题,特别是回归问题,都是一个合理的选择。当然也有其它代价函数,只不过在回归问题中常用的是平方误差代价函数。

2.5 Gradient descent(梯度下降)

利用梯度下降法最小化代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1),参数更新方向为负梯度方向。它不仅被用在线性回归上,还广泛应用于机器学习的众多领域。本节只是以单变量线性回归为例子来进行说明。
迭代以下步骤直到收敛:
θ j ← θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) \theta_j\leftarrow\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1) θjθjαθjJ(θ0,θ1) 正确 (同时更新 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1): t e m p 0 ← θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 ) ; t e m p 1 ← θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 ) temp0\leftarrow\theta_0-\alpha\frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1);temp1\leftarrow\theta_1-\alpha\frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1) temp0θ0αθ0J(θ0,θ1)temp1θ1αθ1J(θ0,θ1) θ 0 ← t e m p 0 ; θ 1 ← t e m p 1 \theta_0\leftarrow temp0;\theta_1\leftarrow temp1 θ0temp0θ1temp1

2.6 Gradient descent intuition(梯度下降总结)

梯度下降算法中的下降步长 α \alpha α在机器学习中被称为学习速率(learning rate)。

问题来了: α \alpha α取多大呢?固定值,还是自适应?这就和线搜索一样了。

2.7 Gradient descent for linear regression(线性回归的梯度下降)

根据复合函数求导法则,有 ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ; ∂ ∂ θ 1 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∗ x ( i ) \frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1)=\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)}); \frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1)=\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})*x^{(i)} θ0J(θ0,θ1)=m1i=1m(hθ(x(i))y(i));θ1J(θ0,θ1)=m1i=1m(hθ(x(i))y(i))x(i)代入梯度下降算法即可。

梯度下降算法会陷入局部最优,但是对于线性回归就没有这个问题。因为线性回归的代价函数是二次函数,所以是一个凸函数。

对于线性回归问题的最小化代价函数,除了使用梯度下降算法迭代求解,还可以通过最小二乘法(吴的课程中称为正规方程组法)直接求解。梯度下降适用于大规模的数据集。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/883300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-14
下一篇 2022-05-14

发表评论

登录后才能评论

评论列表(0条)

保存