对数几率回归

从 \(y = \theta ^T x + b\) 出发

一般线性模型的假设:\(y = \theta ^T x + b\),广义线性模型的假设:\(g(y) = \theta ^T x + b\),其中 \(g( \cdot )\) 是单调可微函数。运用于分类问题,我们为线性回归的输出值划定一个阈值,当线性回归输出值大于这个阈值的时候为正类,否则反类。自然而然地,我们想到了取 0 作为阈值。

是否可以取其他值作为阈值?
可以取任何值作为阈值,比如 100。如果取 100 作为阈值,那么在训练阶段,对数几率模型内嵌的线性回归就要迫使正例样本的输出值大于 100,反例样本小于 100。

角度一:利用一个函数,能良好地将线性回归值映射到 \((0, 1)\) 区间上,作为 \(P(y=1|x)\)

最自然的函数自当是跃阶函数:

\[h(x) = \left\{\begin{matrix} 1 & \theta ^T x > 0 \\ 0& \theta ^T x \le 0 \end{matrix}\right. \]

但是这个函数对求导很不友好,所以采用了另一种函数作为替代:

\[h(x) = \frac{1}{1 + e^{-(\theta ^T x + b)}} \]

角度二:对数几率回归的输出值 \(\hat{y}\) 代表样本 \(x\) 为正例的概率

\(\frac{y}{1 - y}\) 的含义就是样本为正例的概率相对于为反例的可能性。在这个相对可能性外层套一个对数运算即可得到对数几率回归模型:

\[ln (\frac{y}{1 - y}) = \theta ^T x + b \]

这个模型的含义就是利用线性回归去拟合相对可能性的对数。至于为何能用一个线性模型去拟合非线性分布的数据,尚待考虑。

角度三:输入层加激活层直接映射到输出层的神经网络

从神经网络的角度来看,没有隐含层的神经网络就可以看做是一种对数几率回归模型。

上述两种角度都可以最终得到对数几率回归的模型假设,试述之。

模型假设

对数几率回归的模型假设是在线性回归的基础上加了一个激活层:

\[h (x) = \frac{1}{1 + e^{-\theta ^T x}} \]

如此我们就可以将线性回归值映射到 \((0, 1)\) 上。关于这个模型输出值,我们可以这么理解 \(P(y = 1| x ) = h (x)\)。为什么不是 \(P(y = 0 | x)\)?其实可以如此,这取决于我们在训练过程中损失函数的设计。若当 $ y = 0, \ h (x) \rightarrow 1$ 时损失函数增大,则我们是认为 \(P(y= 1| x) = h (x)\)的;反之若减小,则我们认为 \(P(y = 0| x ) = h (x)\)。

损失函数

对于 cost function 的设计,也有两种思考角度

角度一:交叉熵

我们希望当 \(h (x) \rightarrow 1, \ y = 0\) 时损失函数尽可能大,反之尽可能小。当 \(y = 1\) 时为 $ -log(h (x))$;当 \(y = 0\) 时为 $ -log(1-h (x))$ 。将这两种情况合并起来,单样本损失函数如下:

\[\min_{\theta, b} \ \ l (\theta ) = -y \cdot log(h (x)) - (1 - y) \cdot log(1-h (x)) \]

角度二:对数似然函数

从概率的角度,我们可以利用极大似然估计的方法。我们希望 \(P(y = 1 \vert x^+), \ P(y=0 \vert x^-)\) 这两个概率越大越好。所以我们得出初步优化目标:

\[\max_{\theta, b} \ \ \prod_{i = 1}^{n} P(y \vert x; \theta, b) \]

经过一系列操作:

\(\ \ \ \ \ \prod P(y \vert x; \theta, b)\)
\(\Leftrightarrow \prod P(y=1 \vert x; \theta, b)^y \cdot P(y=0 \vert x; \theta, b)^{(1-y)}\)
\(\Leftrightarrow \sum y \cdot lnP(y=1 \vert x; \theta, b) + (1-y) \cdot lnP(y=0 \vert x; \theta , b)\)
\(\Leftrightarrow \sum y \cdot ln(h) + (1-y) \cdot ln(1-h)\)

然后得到对于单个样本的损失函数如下:

\[\max_{\theta, b} \ \ L(\theta , b) = y \cdot ln(h) + (1-y) \cdot ln(1-h) \]

上述两种角度最终都可得到模型的 cost function:

\[\min_{\theta, b} \ \ J(\theta , b) = \frac{1}{n} \sum -y \cdot log(h) - (1 - y) \cdot log(1-h) \]

求导

\(\frac{\partial l}{\partial \theta}= -\frac{y }{h} \cdot h \cdot (1 - h) \cdot x + \frac{1-y}{1-h} \cdot h \cdot (1-h) \cdot x =x \cdot (h - y)\)
\(\frac{\partial J}{\partial \theta} = \frac{1}{n} \sum_{i=1}^n x \cdot (h - y)\)

我们可以发现,其导数为 feature · error 的形式。

posted @ 2020-02-02 22:11  问李白买酒  阅读(712)  评论(0)    收藏  举报