为什么机器学习的分类器用logistic模型?

能不能从数学的角度去解释why...或者只要能理解就行
关注者
130
被浏览
15,675

8 个回答

不是非得用 Logistic 函数,其它从 0 到 1 光滑单调递增的函数也可以用。但为什么都在用 Logistic 呢?

简单地说,这是由广义线性模型推导出来的函数。

题主只看到分类器用了 Logistic 模型来解决问题,忽视了这背后的概率假设,所以会有这种困惑。

先确定下,这里的分类器为二分类器,如果是多分类器,概率分布就不一样了。

这里二分类器的假设是,给定 x 后,y 是符合伯努利分布的。对于不同的 x 值,y 就符合不同均值的伯努利分布。

举一个邮件分类的例子,要将邮件分为垃圾邮件和非垃圾邮件,当检测到邮件中包含的字词时,即确定了 x,那么这邮件是垃圾的概率是多少,即 y 为 1 的概率是多少,这时 y 就是一个由 x 决定的伯努利分布。这个概率就是 y 的伯努利分布的均值。

伯努利分布的唯一参数是 \phi ,也是期望。

p(y;\phi )=\phi^{y} (1-\phi)^{1-y}

说 x 决定 y 的伯努利分布,其实 x 就是通过 \phi 来决定 y 的分布的。如何把 x 映射到 \phi ,什么样的 x 对应什么样的 \phi ,这是需要通过训练集来学习的,学习到的参数记作 \theta 。那么,\phi \theta 和 x 的函数关系是什么呢?先给答案再解释。

\phi =\frac{1}{1+e^{-\theta ^{T} x} }

这就是所谓的 Logistic 模型。

这个模型怎么来的?简单地说,就是套用广义线性模型得来的。

(至于为什么伯努利模型要套用到广义线性模型中,是因为广义线性模型有许多优良的属性,如易学习性,而且广义线性模型使我们可以导出许多优雅的学习算法类,对建模许多不同的分布都非常有效,如多项式分布、泊松分布、伽马分布、指数分布、贝塔分布和 Dirichlet 分布等)

广义线性模型要求概率分布属于指数分布簇,伯努利模型属于指数分布簇,凡是概率能写成以下形式的都是指数分布簇。

把上面的伯努利概率模型修改成这种形式,可得:

其中:

可以看到 \phi 的定义就是个 Logistic 函数了。

在广义线性模型中,\eta =\theta ^{T} x,可得前面 \phi 的 Logistic 公式。

\phi =\frac{1}{1+e^{-\theta ^{T} x} }

想深入了解 Logistic 模型,务必要了解广义线性模型。

参考资料:

1、

cs229.stanford.edu/note

感觉

@午后阳光

说得很好了,补充一下自己的观点,如果不对请指正

Logisticfunction

(a) 很优美。

这个函数不但能把输入映射到0-1之间,而且这种中间陡峭的性质使得只有少数样本在0附近。


(b) 便于求导

这样使得模型的求解和实现更加方便