您的位置:首页 > 其它

线性回归与逻辑回归

2015-09-07 19:33 246 查看

线性回归 Linear Regression

Cost Function

J(θ)=12m∑i=1m(hθ(x(i))−y(i))
J(\theta)=\frac{1}{2m}\sum_{i=1}^{m}\left ( h_\theta(x^{(i)})-y^{(i)} \right )

Hypothesis

hθ(x)=θTx
h_\theta(x)=\theta^Tx

梯度下降求解

为了最小化J(θ)J(\theta)

∂J(θ)∂θj=1m∑i=1m(hθ(x(i))−y(i))x(i)j
\frac{\partial J(\theta)}{\partial \theta_j}=\frac{1}{m}\sum_{i=1}^{m}\left( h_\theta(x^{(i)})-y^{(i)} \right)x_j^{(i)}

每一次迭代更新

θj:=θj−α1m∑i=1m(hθ(x(i))−y(i))x(i)j
\theta_j:=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^{m}\left( h_\theta(x^{(i)})-y^{(i)} \right)x_j^{(i)}

正规方程求解

最小二乘法

θ=(XTX)−1XTy⃗
\theta=\left(X^TX\right)^{-1}X^T\vec{y}

逻辑回归 Logistic Regression

Hypothesis

hθ(x)=g(θTx)
h_\theta(x)=g(\theta^Tx)

这里的gg是sigmoidsigmoid函数

g(z)=11+e−z
g(z)=\frac{1}{1+e^{-z}}

Cost Function

Cost(hθ(x(i)),y(i))={−log(hθ(x))−log(1−hθ(x)) if y=1 if y=0
Cost\left(h_\theta(x^{(i)}),y^{(i)}\right)
=\begin{cases}
-log\left(h_\theta(x)\right) & \text{ if } y=1 \\
-log\left(1-h_\theta(x)\right) & \text{ if } y=0
\end{cases}

J(θ)=1m∑i=1mCost(hθ(x(i)),y(i))=1m∑i=1m−y(i)log(hθ(x(i)))−(1−y(i))log(1−hθ(x(i)))
\begin{align*}
J(\theta)&=\frac{1}{m}\sum_{i=1}^{m}Cost\left(h_\theta(x^{(i)}),y^{(i)}\right) \\
&= \frac{1}{m}\sum_{i=1}^{m}-y^{(i)}log\left(h_\theta(x^{(i)})\right)-(1-y^{(i)})log\left(1-h_\theta(x^{(i)})\right)
\end{align*}

梯度下降求解

∂J(θ)∂θj=1m∑i=1m(hθ(x(i))−y(i))x(i)j
\frac{\partial J(\theta)}{\partial \theta_j}=\frac{1}{m}\sum_{i=1}^{m}\left( h_\theta(x^{(i)})-y^{(i)} \right)x_j^{(i)}

这个公式与线性回归的公式类似,区别是二者的hθ(x)h_\theta(x)不同

正则化

过拟合 模型过于复杂,波动大

欠拟合 模型过于简单,不能很好的你和数据

当特征过多时,容易发生过拟合。这时候可以减少不必要的特征,也可以用正则化来降低特征的影响的数量级。

在J(θ)J(\theta)中引入惩罚项λ∑nj=1θ2j\lambda\sum_{j=1}^{n}\theta_j^2,又称为L2L2正则化项。

由于参数θ\theta越小,模型越简单,因此在正则化里,通过惩罚项缩小了所有的参数。

注意在实际中,正则化不包括常数项θ0\theta_0。

λ\lambda称为正则化参数,当λ\lambda过大时,不能很好的拟合训练集;当λ\lambda过小时,不能很好的缩小参数。

蒸发箱

对于L2L2正则化的线性回归,CostFunctionCost Function定义为

J(θ)=12m∑i=1m(hθ(x(i))−y(i))+λ2m∑j=1nθ2j
J(\theta)=\frac{1}{2m}\sum_{i=1}^{m}\left ( h_\theta(x^{(i)})-y^{(i)} \right )+\frac{\lambda}{2m}\sum_{j=1}^{n}\theta_j^2

梯度下降求解

求偏导

∂J(θ)∂θ0∂J(θ)∂θj=1m∑i=1m(hθ(x(i))−y(i))x(i)j=(1m∑i=1m(hθ(x(i))−y(i))x(i)j)+λmθj for j=0 for j≥1
\begin{align*}
\frac{\partial J(\theta)}{\partial \theta_0} &=\frac{1}{m}\sum_{i=1}^{m}\left( h_\theta(x^{(i)})-y^{(i)} \right)x_j^{(i)}& \text{ for } j=0\\
\frac{\partial J(\theta)}{\partial \theta_j} &= \left(\frac{1}{m}\sum_{i=1}^{m}\left( h_\theta(x^{(i)})-y^{(i)} \right)x_j^{(i)}\right)+\frac{\lambda}{m}\theta_j& \text{ for } j\geq 1
\end{align*}

每一次迭代

θ0θj:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x(i)j:=θj−α1m∑i=1m(hθ(x(i))−y(i))x(i)j−λmθj
\begin{align*}
\theta_0&:=\theta_0-\alpha\frac{1}{m}\sum_{i=1}^{m}\left( h_\theta(x^{(i)})-y^{(i)} \right)x_j^{(i)} \\
\theta_j&:=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^{m}\left( h_\theta(x^{(i)})-y^{(i)} \right)x_j^{(i)} - \frac{\lambda}{m}\theta_j
\end{align*}

正规方程求解

θ=⎛⎝⎜⎜⎜⎜⎜⎜⎜XTX+λ⎡⎣⎢⎢⎢⎢⎢⎢⎢011⋱1⎤⎦⎥⎥⎥⎥⎥⎥⎥⎞⎠⎟⎟⎟⎟⎟⎟⎟−1XTy
\theta=\left(X^TX+\lambda\begin{bmatrix}
0 & & & & \\
& 1 & & & \\
& & 1 & & \\
& & & \ddots & \\
& & & &1
\end{bmatrix} \right )^{-1}X^Ty

如果忽略θ0\theta_0的话,公式可以看作

θ=(XTX+λI)−1XTy
\theta=(X^TX+\lambda I)^{-1}X^Ty

正则化项

L2L2正则化的线性回归又称为岭回归

除此之外还有

正则化项为λ∑nj=1∣∣θj∣∣\lambda\sum_{j=1}^{n}\left | \theta_j\right |的L1L1正则化

L1L1正则化的线性回归又称为Lasso回归

L1L1正则化有稀疏性,会趋向于产生少量的特征,而其他的特征都是0。L2L2正则化会选择更多的特征,这些特征都会接近于0。因此Lasso回归可以用来选择特征。

逻辑回归的正则化与线性回归类似。

线性回归与逻辑回归

线性回归以高斯分布为误差分析模型,而逻辑回归是伯努利分布

线性回归采用的是平方损失函数,而逻辑回归采用的是对数损失函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: