1. 线性回归
简述
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方)。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
优点:结果易于理解,计算上不复杂。
缺点:对非线性数据拟合不好。
适用数据类型:数值型和标称型数据。
算法类型:回归算法
线性回归的模型函数如下:
h θ = θ T x h_\theta = \theta ^T x hθ=θTx
它的损失函数如下:
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta) = {1\over {2m}} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2 J(θ)=2m1i=1∑m(hθ(x(i))−y(i))2
通过训练数据集寻找参数的最优解,即求解可以得到 m i n J ( θ ) minJ(\theta) minJ(θ)的参数向量 θ \theta θ,其中这里的参数向量也可以分为参数 和 w 和 b 和w和b 和w和b,分别表示权重和偏置值。
求解最优解的方法有最小二乘法和梯度下降法。
梯度下降法
梯度下降算法的思想如下(这里以一元线性回归为例):
首先,我们有一个代价函数,假设是 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1),我们的目标是 m i n θ 0 , θ 1 J ( θ 0 , θ 1 ) min_{\theta_0,\theta_1}J(\theta_0,\theta_1) minθ0,θ1J(θ0,θ1)。
接下来的做法是:
- 首先是随机选择一个参数的组合 ( θ 0 , θ 1 ) (\theta_0,\theta_1) (θ0,θ1),一般是设 θ 0 = 0 , θ 1 = 0 \theta_0 = 0,\theta_1 = 0 θ0=0,θ1=0;
- 然后是不断改变 ( θ 0 , θ 1 ) (\theta_0,\theta_1) (θ0,θ1),并计算代价函数,直到一个局部最小值。之所以是局部最小值,是因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值,选择不同的初始参数组合,可能会找到不同的局部最小值。
下面给出梯度下降算法的公式:
repeat until convergence{
θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) ( f o r j = 0 a n d j = 1 ) \theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta_0,\theta_1)\quad (for\quad j=0 \quad and\quad j=1) θj:=θj−α∂θj∂J(θ0,θ1)(forj=0andj=1)
}
也就是在梯度下降中,不断重复上述公式直到收敛,也就是找到 局 部 最 小 值 局 部 最 小 值 局部最小值\color{red}{局部最小值} 局部最小值局部最小值。其中符号:=
是赋值符号的意思。
而应用梯度下降法到线性回归,则公式如下: