Week3 逻辑回归、过拟合和正则化
1. 逻辑回归(Logistic Regression)介绍
1.1 逻辑回归是什么,为什么需要用逻辑回归?
线性回归通常用于解决目标问题是个数值的问题,该数值 h θ ( x ) h_θ (x) hθ(x)可能是 ( − ∞ , + ∞ ) (-∞,+∞) (−∞,+∞)。考虑如果目标问题是个二分类问题,即问题的答案只有是/否,那么此时如果用线性回归来解决该问题,通常会设置一个阈值,当预测输出大于阈值时,选择“是”;反之,选择“否”。
用线性回归来解决分类问题,如果样本点中存在大量离群样本,则分类效果不是很好。如下图,少数的离群点对线性回归的结果影响很大。此时可以通过数学模型的更改,将离群样本靠近大群体,再用线形回归来分类会好一些。
更好地解决上述问题的回归方式就是逻辑回归(Logistic回归)。
2.逻辑回归的数学表达
2.1Sigmoid方程及其特性
对于二分类问题,直观上我们会将负例设置为0,正例设置为1。但是线性回归 h θ ( x ) h_θ (x) hθ(x)输出的取值范围可能是 ( − ∞ , + ∞ ) (-∞,+∞) (−∞,+∞),虽然可以设置阈值,但这并不理想,所以考虑将输出的取值范围控制在(0,1)之间。以此,逻辑回归需要在线性回归的基础上,再进行一次映射,该映射使用了sigmoid函数,即:
s i g m o i d 函 数 : g ( z ) = 1 1 + e − z , 其 中 g ( z ) ′ = ( 1 1 + e − z ) ′ = g ( z ) ( 1 − g ( z ) ) sigmoid函数:g(z)=\frac{1}{1+e^{-z}},其中g(z)'=(\frac{1}{1+e^{-z}})'=g(z)(1-g(z)) sigmoid函数:g(z)=1+e−z1,其中g(z)′=(1+e−z1)′=g(z)(1−g(z))
2.2逻辑回归的数学表达式
h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x h_θ (x)=g(\textbf{θ}^T \textbf{x})=\frac{1}{1+e^{-\textbf{θ}^T \textbf{x}}} hθ(x)=g(θTx)=1+e−θTx1
此时输出的h_θ (x)就可以解释为在特征x和参数向量θ的条件下,目标y=1的预测概率。
h θ ( x ) = P ( y = 1 ∣ x ; θ ) h_θ (\textbf{x})=P(y=1|\textbf{x};\textbf{θ}) hθ(x)=P(y=1∣x;θ)
同理,则有 P ( y = 0 │ x ; θ ) = 1 − h θ ( x ) P(y=0│\textbf{x};\textbf{θ})=1-h_θ (\textbf{x}) P(y=0│x;θ)=1−hθ(x)。
所以上述两式可以合并写成:
P ( y = 0 │ x ; θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x ) ) 1 − y , y = 0 , 1 P(y=0│\textbf{x};\textbf{θ})=(h_θ (\textbf{x}))^y (1-h_θ (\textbf{x}))^{1-y}, y=0,1 P(y=0│x;θ)=(hθ(x))y(1−hθ(x))1−y,y=0,1
2.3 逻辑回归的“非线性拟合”
注意,和线性回归一样,逻辑回归也可以应用在非线性的样本数据上,只需要和线性回归一样将数据进行适当的处理即可。
3.逻辑回归的几何解释
以二分类问题为例,通常取0.5为阈值,即
y = { 1 , h θ ( x ) ≥ 0.5 0 , h θ ( x ) < 0.5 ⇔ y = { 1 , θ T x ≥ 0 0 , θ T x < 0 y= \begin{cases} 1,& h_θ (x)≥0.5 \\ 0,& h_θ (x)<0.5 \end{cases}⇔ y= \begin{cases} 1,& \textbf{θ}^T \textbf{x}≥0 \\ 0,& \textbf{θ}^T \textbf{x}<0 \end{cases} y={
1,0,hθ(x)≥0.5hθ(x)<0.5⇔y={
1,0,θTx≥0θTx<0
当特征数不多时(以两个为例),可以根据θ^T x≥0等条件在图上画出该函数对应的函数曲线,该曲线将样本数据分割在两侧,一侧代表一类事物。这个图像曲线就称为决策边界(Decision boundary),其与数据集无关,只与参数向量和目标函数的数学模型构造有关。以下面两图为例:
![]() |
![]() |
---|---|
h θ ( x ) = g ( θ 0 + θ 1 x 1 + θ 2 x 2 ) h_θ (x)=g(θ_0+θ_1 x_1+θ_2 x_2 ) hθ(x)=g(θ0+θ1x1+θ2x2)的决策边界 | h θ ( x ) = g ( θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 1 2 + θ 4 x 2 2 ) h_θ (x)=g(θ_0+θ_1 x_1+θ_2 x_2+θ_3 x_1^2+θ_4 x_2^2 ) hθ(x)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22)的决策边界 |
4.逻辑回归参数向量θ的选择
4.1 逻辑回归的损失函数
J ( θ ) = { − l o g ( h θ ( x ) ) , i f y = 1 − l o g ( 1 − h θ ( x ) ) , i f y = 0 J(\textbf{θ})= \begin{cases} -log(h_θ (\textbf{x})),&if \quad y=1 \\ -log(1-h_θ (\textbf{x})),&if \quad y=0 \end{cases} J(θ)={
−log(hθ(x)),−log(1−hθ(x)),ify=1ify=0
上述损失函数的几何解释很直观了,当目标函数预测的分类结果越偏离正确分类时,损失函数就会得到越大的损失值,以此在参数更新时对参数进行调整。
为什么不能用线性回归的损失函数?
理论解释为,因为损失函数是非凸函数。线性回归的损失函数为 J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ) − y ( i ) ) 2 J(\textbf{θ})=\frac{1}{2m}\sum_{i=1}^m(h_θ (\textbf{x})-y^{(i)})^2 J(θ)=2m1∑i=1m(hθ(x)−y(i))2,但此时的 h θ ( x ) h_θ (\textbf{x}) hθ(x)已经不再是 θ T x \textbf{θ}^T \textbf{x} θTx,而是 g ( θ T x ) g(\textbf{θ}^T \textbf{x}) g(θTx)。因此,此时的损失函数已经转变为非凸函数(如下图左),而不再是线性回归的凸函数(如下图右)。所以,非凸函数如果再进行梯度下降的话,只能找到局部最小值,而非全局最小值。
4.2 logistic回归的损失函数的简化
J ( θ ) = 1 m ∑ i = 1 m [ − y ( i ) log h ( x ( i ) ) − ( 1 − y ( i ) ) log ( 1 − h ( x ( i ) ) ) ] J(\textbf{θ})=\frac{1}{m}\sum_{i=1}^m[-y^{(i)}\logh(\textbf{x}^{(i)})-(1-y^{(i)})\log(1-h(\textbf{x}^{(i)})) ] J(θ)=m1i=1∑m[−y(i)logh(x(i))−(1−y(i))log(1−h(x(i)))]
逻辑回归损失函数的理论推导(了解)
极大似然估计简介:最大似然估计的目的就是,利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。
假设在每个样本 x ( i ) \textbf{x}^{(i)} x(i)的条件下,能出现真实情况 y ( i ) y^{(i)} y(i)的概率为 P ( y ( i ) ∣ x ( i ) ) P(y^{(i)}|\textbf{x}^{(i)}) P(y(i)∣x(i))。极大似然估计就是寻找一组参数向量θ,使得所有样本出现真实情况的概率的乘积最大。此时的参数向量θ就是我们要寻找的参数。
即 θ = arg max θ ( L ( θ ) = p ( y│X;θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) ) 即\textbf{θ}=\arg\max\limits_\textbf{θ}(L(\textbf{θ})=p(\textbf{y│X;θ})=\prod_{i=1}^m p(y^{(i)} |\textbf{x}^{(i)};\textbf{θ})) 即θ=argθmax(L(θ)=p(y│X;θ)=i=1∏mp(y(i)∣x(i);θ))
由极大似然估计有:
L ( θ ) = p ( y │ X ; θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = ∏ i = 1 m ( h θ ( x ( i ) ) ) y ( i ) ( 1 − h θ ( x ( i ) ) ) 1 − y ( i ) L(\textbf{θ})=p(\textbf{y}│\textbf{X};\textbf{θ})=\prod_{i=1}^mp(y^{(i)} |\textbf{x}^{(i)};\textbf{θ})=\prod_{i=1}^m(h_θ (\textbf{x}^{(i)}))^{y^{(i)}} (1-h_θ (\textbf{x}^{(i)}))^{1-y^{(i)}}