吴恩达《机器学习》笔记——第二章《单变量线性回归》

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)代入梯度下降算法即可。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值