机器学习模型之逻辑回归

逻辑回归

如何使用线型模型进行分类操作?我们希望可以使用一个映射函数将线型模型的回归值用于分类问题(即只输出两个类别)。最简单的映射函数便是阶跃函数,但阶跃函数在x=0处不连续,因此需要另一个函数替代。

sigmoid函数

$$y = \dfrac{1}{1 + e^{-x}}$$
把 $ (-\infty, \infty)$ 的取值范围(用$x$表示)映射到$(0,1)$范围内,同时连续且任意阶可导。

拓展:为什么要使用sigmoid函数做激活函数?:https://blog.csdn.net/cloud_xiaobai/article/details/72152480

将sigmoid函数代入线型回归方程中
$$y=\omega^Tx+b$$
可得:
$$y=\dfrac{1}{1 + e^{-(\omega^Tx+b)}}$$
上式可变为
$$\ln{\frac{y}{1-y}}=\omega^Tx+b$$
若将$y$视为样本$x$作为正例的可能性,则$1-y$是其反例可能性,两者的比值称为“几率”(odds),反映了$x$作为正例的相对可能性。

损失函数

计算后验概率
$$p(y=1|x) = \dfrac{e^{(\omega^Tx+b)}}{1 + e^{(\omega^Tx+b)}}$$
$$p(y=0|x) = \dfrac{1}{1 + e^{(\omega^Tx+b)}}$$
通过极大似然估计 $w$ 和 $b$ ,似然函数可写作:
$$L(w,b)=\prod_{i=1}^{n}p(y^{(i)}|x^{(i)};w,b)$$
(何为似然函数?对上式简单说来,似然函数是参数$w$的函数,它的值是一个可能性,代表在相应参数$w$下,随机抽取n个样本点且这n个样本恰好是给定数据集$(x_1,x_2 … x_n$的概率)

则对数似然为:
$$l(w,b)=\ln L(w,b)=\sum_{i=1}^{n}\ln p(y^{(i)}|x^{(i)};w,b)$$

我们希望分类准确,即令每个样本属于其真实标记的概率越大越好。令$\beta=(w;b)$,则有:
$$l(\beta)=\sum_{i=1}^{n}\bigg(-y_i\beta^\mathbf{T}\mathbf{\hat{x}}_i+\ln(1+e^{\beta^\mathbf{T}\mathbf{\hat{x}}_i})\bigg)$$

逻辑回归的推广

上面介绍的逻辑斯谛回归模型是二项分类模型,用于二类分类。可以将其推广为多项逻辑斯谛回归模型(multi-nominal logistic regression model),用于多分类问题。
$$p(y=k|x) = \dfrac{e^{(\omega_k^Tx+b)}}{1 + e^{(\omega_k^Tx+b)}},k=1,2,3\cdots,K-1$$
$$p(y=K|x) = \dfrac{1}{1 + e^{(\omega_k^Tx+b)}}$$

优缺点

优点:

  1. 处理大数据时,效率高,伸缩性好。
  2. 它不是仅预测出“类别”,而是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用
  3. 对率函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解。

    缺点:

  4. 对数据和场景的适应能力有局限性,不如决策树算法适应性那么强
  5. k值是用户给定,再数据处理前,事先未知
  6. 特殊值(离群值)影响大
  7. 不适合发现非凸形状以及大小差别大的簇
  8. 对簇初始点敏感

参考资料:https://blog.csdn.net/loveliuzz/article/details/78783773

本文标题:机器学习模型之逻辑回归

文章作者:微石

发布时间:2018年06月30日 - 10:06

最后更新:2018年07月20日 - 08:07

原始链接:akihoo.github.io/posts/1ecc272.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。