回归问题
线性回归
- 线性回归公式
h(θ)=θTX
当h(θ)≥0 时,y=1;当h(θ)<0时,y=0
逻辑回归
- 逻辑回归公式
假设 hθ(x(i)) , hθ(x(i)) 可以是y=1的概率。当为多分类问题时, hθ(x(i)) 可以作为样本属于当前类别的概率训练多个逻辑回归分类器用以实现多分类。
hθ(x(i))=P(y=i|x:θ)
当z≥0.5 时,y=1;当z<0.5 时,y=0 :
hθ(x(i))=11+e−θTX
则,代价函数定义为:
J(θ)=−1m∑imy(i)log(hθ(x(i)))+(1−y(i)log(1−hθ(x(i)))
采用梯度下降法进行求解:
θj:=θj−α∑i=1m(hθ(x(i))−y(i))x(i)j
解目标函数的方法
- Gradient descent, 梯度下降法
- Conjugate descent, 共轭梯度
- BFGS
- L-BFGS
后三种与梯度下降法相比:不需要设置学习率;收敛速度快
避免overfitting
在模型训练时,由于数据较少或者模型过于复杂,会产生过拟合的现象,避免过拟合主要有两种方法:
1. 减少特征维数,人工选择特征或者模型选择
2. 正则化(regularization),抑制参数的值。适用于特征多的情况
正则化
在训练模型时,希望得到的分类模型是一个simple的模型。我们希望某些参数的值特别小,通过在目标函数中添加惩罚实现。
例如下面的目标函数:
J(θ)=12m∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθ2j
其中 λ∑nj=1θ2j 是正则化项。
最小化目标函数
minJ(θ)
如果 λ 设置为非常大,可能模型最后只剩下 θ0 。所以 λ 的设置也非常重要。
有正则项,参数解法
参数梯度计算
前面讲到了使用梯度下降法最小化目标函数的解法,在有正则项的情况下,优化目标函数:
Gradient descent
{
repeat:
θ0:=θ0−α∑mi=1(hθ(x(i))−y(i))x(i)0
θj:=θj−α[∑mi=1(hθ(x(i))−y(i))x(i)j+λmθj]
}
第二个可以写成:
θj:=θj(1−αλm)−α∑i=1m(hθ(x(i))−y(i))x(i)j
可以看出, θj 一直在减小
正则方程解法
有
XT=[x(1),x(2),...,x(m)]
,
yT=[y(1),y(2),...,y(m)]
, 解
θX=y
:
θ=(XTX)−1XTy
而再有正则项的情况下,参数 θ 的估计为:
θ=(XTX+λI0)−1XTy
其中, I0 为第一个对角元素为0的单位阵
当 m(样本数)<n(特征数) 时,标准正态方程中 XTX 为奇异的,不可逆。加入正则项可以在一定程度上避免不可逆的情况。