机器学习——逻辑回归
本文最后更新于 584 天前,其中的信息可能已经有所发展或是发生改变。

逻辑回归

逻辑斯谛回归模型

我们可以用线性模型$z=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b$ 来做回归任务,如果我们用此线性模型来做分类任务,需要用一个单调可微函数$g(\cdot)$将分类任务的真实标签$y$与线性回归模型的预测值联系起来:
$$
y=g^{-1}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right)\tag{1}
$$
这里我们使用对数几率函数(logistic function):
$$
y=\frac{1}{1+e^{-z}} \tag{2}
$$
它将$z$值转化为一个接近0或1的值,结合(1)和(2)可以得到:
$$
y=\frac{1}{1+e^{-\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right)}} \tag{3}
$$

$$
\ln \frac{y}{1-y}=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b
$$

将$y$视为样本$\boldsymbol{x}$是正例的可能性,则$1-y$是其反例的可能性,其比值$\frac y{1-y}$称为几率(odds),反映了$\boldsymbol{x}$作为正例的相对可能性,取对数得到$\mathrm{ln}\frac y{1-y}$,称为对数几率。这实际上使用线性回归模型的预测结果取逼近真实标签的对数几率。

上面提到$y$视为样本$\boldsymbol{x}$是正例的可能性,即$y=p(y=1|\boldsymbol{x})$,显然有:
$$
\begin{aligned}
p(y&=1 | \boldsymbol{x})=\frac{e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}} \\
p(y&=0 | \boldsymbol{x})=\frac{1}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}}
\end{aligned}
$$

极大似然估计

我们的任务就是估计参数$\boldsymbol{w}$和$b$,可以使用极大似然估计。给定数据集$\left\{\left(\boldsymbol{x}_{i}, y_{i}\right)\right\}_{i=1}^{m}$,并设$\boldsymbol{\theta}=\left\{\boldsymbol{w}, b\right\}$,$h_{\theta}(\boldsymbol{x})=\frac{e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}}$,那么:

$$
\begin{array}{l}{p(y=1 | \boldsymbol{x} ; \boldsymbol{\theta})=h_{\theta}(\boldsymbol{x})} \\
{p(y=0 | \boldsymbol{x} ; \boldsymbol{\theta})=1-h_{\theta}(\boldsymbol{x})}
\end{array}
$$

上式可以合写为:

$$
p(y | \boldsymbol{x} ; \boldsymbol{\theta})=\left(h_{\theta}(\boldsymbol{x})\right)^{y}\left(1-h_{\theta}(\boldsymbol{x})\right)^{1-y} \tag{4}
$$

则可以写出似然函数:

$$
\begin{aligned}
L(\boldsymbol{\theta}) &=p(Y | \boldsymbol{X} ; \boldsymbol{\theta}) \\
&=\prod_{i=1}^{m} p\left(y_{i} | \boldsymbol{x}_{i} ; \boldsymbol{\theta}\right) \\ &=\prod_{i=1}^{m}\left(h_{\theta}\left(\boldsymbol{x}_{i}\right)\right)^{y_{i}}\left(1-h_{\theta}\left(\boldsymbol{x}_{i}\right)\right)^{1-y_{i}}
\end{aligned}
$$

取对数得到对数似然函数:

$$
\begin{aligned}
\ell(\boldsymbol{\theta}) &=\log L(\boldsymbol{\theta}) \\
&=\sum_{i=1}^{m} y_{i} \log h_{\theta}\left(\boldsymbol{x}_{i}\right)+\left(1-y_{i}\right) \log \left(1-h_{\theta}\left(\boldsymbol{x}_{i}\right)\right)
\end{aligned}
$$

每个样本属于真实标签的概率越大越好,因此要最大化对数似然函数:

$$
\begin{equation}
{\theta}^{*}=\underset{\theta}{\arg \max } \ell(\theta)
\end{equation}
$$

$\ell(\boldsymbol{\theta})$是关于$\boldsymbol{\theta}$的高阶连续可导凸函数,可以使用梯度下降法、牛顿法等得到其最优解。以梯度下降法为例,我们需要最小化$-\ell(\boldsymbol{\theta})$:

$$
\begin{equation}
{\boldsymbol{\theta}}^{*}=\underset{\theta}{\arg \min } -\ell(\boldsymbol{\theta})
\end{equation}
$$

对其求导得:

$$
\begin{aligned}
\frac{\partial}{\partial \boldsymbol{\theta}} \ell(\boldsymbol{\theta}) &=\left(-y \frac{1}{h_{\theta}\left(\boldsymbol{x}\right)}+(1-y) \frac{1}{1-h_{\theta}\left(\boldsymbol{x} \right)}\right) \frac{\partial}{\partial \boldsymbol{\theta}} h_{\theta}\left(\boldsymbol{x}\right) \\
&=\left(-y \frac{1}{h_{\theta}\left(\boldsymbol{x} \right)}+(1-y) \frac{1}{1-h_{\theta}\left(\boldsymbol{x} \right)}\right) h_{\theta}\left(\boldsymbol{x} \right) \left(1-h_{\theta}(\boldsymbol{x} ) \right) \frac{\partial}{\partial \boldsymbol{\theta}} \boldsymbol{\theta}^{\mathrm T} \boldsymbol{x} \\
&=\left(-y\left(1-h_{\theta}\left(\boldsymbol{x} \right)\right)+(1-y) h_{\theta}\left(\boldsymbol{x}\right)\right) \boldsymbol{x} \\
&=\left(h_{\theta}(\boldsymbol{x})-y\right) \boldsymbol{x}
\end{aligned}
$$

再更新梯度:

$$
\boldsymbol{\theta} :=\boldsymbol{\theta}-\alpha\left(h_{\theta}\left(\boldsymbol{x}\right)-y\right) \boldsymbol{x}
$$

参考资料

  • 周志华《机器学习》
  • 李航《统计学习方法》
  • 吴恩达《机器学习》公开课
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇