感知机、logistic回归 损失函数对比探讨

感知机、logistic回归 损失函数对比探讨

感知机

  假如数据集是线性可分的,感知机学习的目标是求得一个能够将正负样本完全分开的分隔超平面 (wx+b=0) 。其学习策略为,定义(经验)损失函数并将损失函数最小化。通常,定义损失函数的策略是:误分类点到分隔超平面的总距离。【李航,2.2节】

  • 如果没有误分点,则损失函数值是0.
  • 感知机学习算法若采用不用的初始值或选取不同的误分类点,得到的分隔超平面可不同。

logistic回归(对数几率回归):

  逻辑回归和感知机一样,定义一个决策面(分隔面)来区分正负两类样本。但是其学习策略为:
  定义:(z= heta x=ln dfrac{p}{1-p}),其中 (zin R)(p=P(y=1mid x ; heta))(pin (0,1)),即样本点为1的概率。此时 (z = heta x=0)为分类决策面,(p=g(z)=dfrac{1}{1+e^{-z}}),其实可发现:
  当 ( heta^TXgt0),则有 (pgt0.5);若 ( heta^TX o+infty),则 (p o1),即 y 为 1 类;
  当 ( heta^TXlt0),则有 (plt0.5);若 ( heta^TX o-infty),则 (p o0),即 y 为 0 类。
  所以,通过以上分析,可得训练样本到决策面的距离为:(y) 为1类的对数几率比(几率比:1类的概率/0类的概率)
  于是整个模型的公式为:

[P(y=1mid x ; heta)=h_ heta (x)=g( heta x)=dfrac{1}{1+e^{- heta x}}$$,其中 $z= heta x=ln dfrac{p}{1-p}$,几何意义为样本点到决策面的“距离”,实际意义为:$y$ 为1类的对数几率比。注意,“距离” $z$ 范围为$(-infty , +infty )$。 > 这样做的好处是【周志华 P58】: > > 1. 直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题(无需事先知道样本数据的分布)。 > 2. 不仅预测出类别,通过 sigmoid 函数的压缩,对样本点到局侧面的“距离”——对数几率比值 $z(zin R)$,压缩到 $(0, 1)$, 还且给出具体的概率预测值。 > 3. 对数几率函数是热一节课到的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解。   **那重点来了:logistic回归的的损失函数,还会跟感知机或者下面即将提到的 SVM 一样,能根据样本点到决策面的距离来定义损失函数吗?**   答曰:不可以滴。刚才讲了,逻辑回归中的距离,是“ $y$ 为1类的对数几率比”,这个距离既不是最大就好,也不是最小就好。所有这里的“距离”不能直接作为损失函数。   但是,我们可以直观的理解为:**Logistic回归就是要学习得到 $ heta$,使得所有正例的距离远大于0,所有负例的距离远小于0,并强调在全部训练样本上达到这个目标**。   若还是以“距离”最大化为我们的指导思想,可以用分段函数来表达,来写出我们的优化目标(注意这里的“距离”不是指 $z$):   当 $y=1$ 时候,我们让正样本到决策面的距离变大,即“$y$为1的对数几率比值”$z$大,而 $z=ln dfrac{p}{1-p}$又是单调递增函数,因此,距离 $d(y=1) propto p propto logp$;同理,当 $y=0$ 时候,我们让负样本到决策面的距离变大,即“$y$为0的对数几率比值”$z$大,而 $z=ln dfrac{1-p}{p}$又是单调递减函数,因此,距离 $d(y=0) propto 1-p propto log(1-p)$。   将与“距离”成正比的函数 $D(y|x; heta)$ 可简化为一个式子: $$D(y|x; heta)=ylogp+(1-y)log(1-p),y={0,1}]

对于所有样本点的距离之和:

[D( heta)=sum _{ i=1 }^{ m }{ y^{(i)}logh_ heta (x^{(i)})+(1-y^{(i)})log(1-h_ heta (x^{(i)})) } ]

最大化到分割面之和可作为我们的优化目标。

  若根据 Ng 所讲,一定要写数损失函数,如果以真实值和预测值的误差平方和来作为损失函数,理论上来讲可行,但是,这样后我们的损失函数

[sum _{ i=1 }^{ m }{ ({h_ heta(x^{(i)})}- y^{(i)})^2 },其中h_ heta(x)=frac{1}{1+e^{- heta x}}$$是非凸的(non-convex function)。   但是,我们可以根据模型特点来设置损失函数,取对数损失函数【李航P7】: $$Cost(h_ heta(x))=egin{cases} -log(h_ heta(x)), & y=1 \ -log(1-h_ heta(x)),& y=0 end{cases}]

最后通过最小化所有损失函数作为优化目标,会发现我们的优化目标的函数形式其实是一样的。

总结:
  同样是选择决策面,逻辑回归选择策略是所有点到决策面的距离之和最大。这样有个弊端是,会决策面靠近一些点,来换取另外一部分点更加远离分割面。

原文地址:https://www.cnblogs.com/stevenlk/p/6529098.html