线性回归与逻辑回归、softmax回归

1.线性回归

预测函数:
h θ ( x ) = θ 0 + θ 1 x h_\theta(x)=\theta_0+\theta_1x

1.1 梯度下降法

损失函数(均方差损失函数):
min J ( θ ) = 1 2 m i = 1 m ( h θ ( x i ) y i ) 2 \min J(\theta)=\frac{1}{2m} \sum_{i=1}^{m}(h_\theta(x_i)-y_i)^2

求偏导:
J θ 0 = 1 m i = 1 m ( h θ ( x i ) y i ) \frac{\partial J}{\partial \theta_0}=\frac{1}{m} \sum_{i=1}^{m}(h_\theta(x_i)-y_i)

J θ 1 = 1 m i = 1 m ( h θ ( x i ) y i ) x i \frac{\partial J}{\partial \theta_1}=\frac{1}{m} \sum_{i=1}^{m}(h_\theta(x_i)-y_i)x_i

重复进行直到收敛{
同步更新:
θ j : = θ j α J θ j \theta_j:=\theta_j-\alpha\frac{\partial J}{\partial \theta_j}
}

1.2 正则方程法

适用于特征数n较小时
X θ = y X\theta=y
θ = ( X T X ) 1 X T y \to \theta=(X^TX)^{-1}X^Ty
注意: X T X X^TX 须为列满秩矩阵,方可求逆,出现不可逆的情况:

  • 冗余特征,线性相关
  • 特征数太多n>>m ,应删减特征或使用正则化

2.逻辑回归

线性回归上加激活函数(sigmoid函数):
g ( z ) = 1 1 + e z g(z)=\frac{1}{1+e^{-z}}

Q:为什么要使用sigmoid函数?
从对数线性模型推导而来的,发生的概率,比上不发生的概率,取log,等于y,反推出来就sigmoid函数。
y = l n ( p 1 p ) y=ln(\frac{p}{1-p})
p = s i g m o i d ( y ) = e y 1 + e y = 1 1 + e y \to p=sigmoid(y)=\frac{e^y}{1+e^y}=\frac{1}{1+e^{-y}}
预测函数:
h θ ( x ) = g ( θ T X ) = 1 1 + e θ T X h_\theta(x)=g(\theta^TX)=\frac{1}{1+e^{-\theta^TX}}
h θ ( x ) h_\theta(x) 表示结果取1的概率:

  • P ( y = 1 x ; θ ) = h θ ( x ) P(y=1|x;\theta)=h_\theta(x) 结果取1的概率越大越好
  • P ( y = 0 x ; θ ) = 1 h θ ( x ) P(y=0|x;\theta)=1-h_\theta(x) 结果取0的概率越大越好
  • 总之就是希望结果越肯定越好
  • 逻辑回归的本质–极大似然估计: max i = 1 m l o g P ( y i x ; θ ) \max \sum_{i=1}^{m}logP(y_i|x;\theta)

Q:逻辑回归损失函数为什么使用最大似然而不用最小二乘?
用最小二乘的话损失函数是非凸函数,很容易陷入局部最优解。
在这里插入图片描述
损失函数(交叉熵损失函数):
min J ( θ ) = 1 m i = 1 m [ y i l o g h θ ( x i ) + ( 1 y i ) l o g ( 1 h θ ( x i ) ) ] \min J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y_ilogh_\theta(x_i)+(1-y_i)log(1-h_\theta(x_i))]

  • y i = 1 y_i=1 时中括号前半部分奏效, l o g P ( y i x ; θ ) = l o g P ( y i = 1 x ; θ ) = l o g h θ ( x i ) logP(y_i|x;\theta)=logP(y_i=1|x;\theta)=logh_\theta(x_i)
  • y i = 0 y_i=0 时中括号后半部分奏效。 l o g P ( y i x ; θ ) = l o g P ( y i = 0 x ; θ ) = l o g ( 1 h θ ( x i ) ) logP(y_i|x;\theta)=logP(y_i=0|x;\theta)=log(1-h_\theta(x_i))

求偏导:
J θ j = 1 m i = 1 m ( h θ ( x i ) y i ) x i j \frac{\partial J}{\partial \theta_j}=\frac{1}{m} \sum_{i=1}^{m}(h_\theta(x_i)-y_i)x_i^j
注意到上式同线性回归求偏导的公式完全一样!!!
推导过程参考:https://www.cnblogs.com/zhongmiaozhimen/p/6155093.html
利用到sigmoid函数的性质:
g ( z ) = g ( z ) ( 1 g ( z ) ) g'(z)=g(z)(1-g(z))

3.softmax回归

softmax回归是逻辑回归的多分类情况。
激活函数(softmax函数):
g ( z ) = e z j = 1 k e j g(z)=\frac{e^{z}}{\sum_{j=1}^{k} e^j}
预测函数:
在这里插入图片描述

损失函数(对数似然损失函数):
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_38493025/article/details/84189205