1.线性回归
预测函数:
hθ(x)=θ0+θ1x
1.1 梯度下降法
损失函数(均方差损失函数):
minJ(θ)=2m1i=1∑m(hθ(xi)−yi)2
求偏导:
∂θ0∂J=m1i=1∑m(hθ(xi)−yi)
∂θ1∂J=m1i=1∑m(hθ(xi)−yi)xi
重复进行直到收敛{
同步更新:
θj:=θj−α∂θj∂J
}
1.2 正则方程法
适用于特征数n较小时
Xθ=y
→θ=(XTX)−1XTy
注意:
XTX须为列满秩矩阵,方可求逆,出现不可逆的情况:
- 冗余特征,线性相关
- 特征数太多n>>m ,应删减特征或使用正则化
2.逻辑回归
线性回归上加激活函数(sigmoid函数):
g(z)=1+e−z1
Q:为什么要使用sigmoid函数?
从对数线性模型推导而来的,发生的概率,比上不发生的概率,取log,等于y,反推出来就sigmoid函数。
y=ln(1−pp)
→p=sigmoid(y)=1+eyey=1+e−y1
预测函数:
hθ(x)=g(θTX)=1+e−θTX1
hθ(x)表示结果取1的概率:
-
P(y=1∣x;θ)=hθ(x) 结果取1的概率越大越好
-
P(y=0∣x;θ)=1−hθ(x) 结果取0的概率越大越好
- 总之就是希望结果越肯定越好
- 逻辑回归的本质–极大似然估计:
max∑i=1mlogP(yi∣x;θ)
Q:逻辑回归损失函数为什么使用最大似然而不用最小二乘?
用最小二乘的话损失函数是非凸函数,很容易陷入局部最优解。
损失函数(交叉熵损失函数):
minJ(θ)=−m1i=1∑m[yiloghθ(xi)+(1−yi)log(1−hθ(xi))]
- 当
yi=1时中括号前半部分奏效,
logP(yi∣x;θ)=logP(yi=1∣x;θ)=loghθ(xi)
- 当
yi=0时中括号后半部分奏效。
logP(yi∣x;θ)=logP(yi=0∣x;θ)=log(1−hθ(xi))
求偏导:
∂θj∂J=m1i=1∑m(hθ(xi)−yi)xij
注意到上式同线性回归求偏导的公式完全一样!!!
推导过程参考:https://www.cnblogs.com/zhongmiaozhimen/p/6155093.html
利用到sigmoid函数的性质:
g′(z)=g(z)(1−g(z))
3.softmax回归
softmax回归是逻辑回归的多分类情况。
激活函数(softmax函数):
g(z)=∑j=1kejez
预测函数:
损失函数(对数似然损失函数):