单变量线性回归
线性回归(linear regression)基本形式
- 问题描述
- 问题解决逻辑
在这里,输入特征数为1、用的直线进行拟合,因此为单变量线性回归(univariable linear regression)。
代价函数 (cost function)
引入:为了实现单变量线性回归,一个关键的步骤是:定义代价函数(cost function)。代价函数可以衡量算法的拟合效果。
定义:1/2m 的预测值与真实值差的平方和。其中,添加
1
2
\frac 12
21为惯例所致。
补充:
- 线性回归的代价函数一般用均方误差(square error)表示。
- 基于均方根误差最小化的模型求解方法称作:最小二乘法(least square distance )
但实际情况中, X T X X^T X XTX往往不是满秩,此时可选择引入正则化(regularization)。
理解代价函数 cost function intuition
引入:本部分展示如何使用代价函数,为模型寻找最佳的参数。
简化线性回归,设置
b
b
b为0。从简单的模型引入代价函数使用原理。
那么,线性回归模型
h
θ
(
x
)
h_\theta(x)
hθ(x)与代价函数
J
(
θ
1
)
J(\theta_1)
J(θ1)有什么关系呢?
下面展示
b
b
b为零的情况。
回归单变量线性回归的一般形式,即
b
,
θ
b, \theta
b,θ都是未知的。单变量线性回归目标如下图。
代价函数随
w
,
b
w, b
w,b变化的曲线如下图。
梯度下降函数
梯度下降(Gradient Descent),代价函数优化方法之一,可用于优化任何算法的代价函数。
基本思路
正式公式
每次迭代中,
θ
0
,
θ
1
\theta_0, \theta_1
θ0,θ1需要同时更新。
为什么梯度下降是有用的呢?如图所示,梯度下降总能使得代价函数
J
J
J下降到“最小值”。
学习率对代价函数的影响。
即使学习率
α
\alpha
α固定,梯度下降也能达到局部最小值,然后不动了。
线性回归函数与梯度下降函数结合
只要代价函数是凸函数(convex function),梯度下降一定能达到一个全局最小值。
本部分介绍的梯度下降,又称作批量梯度下降(Batch gradient descent)。每次迭代时,需要使用到全部的训练集。
参考资料
网易版 吴恩达机器学习
吴恩达机器学习 网易
2021机器学习(西瓜书+李航统计学习方法)实践部分 + Python