感知机、线性回归、逻辑回归的简单对比

标签: 机器学习算法


1. 感知机算法(Perceptron Algorithm)

  感知机算法是机器学习中的一个二分类监督学习算法,通过一个函数决定由向量代表的一个输入是否属于某一类。它是一种线性分类器:特征通过权重线性组合,然后通过一个线性预测函数来判断。这个算法最早由Frank Rosenblatt在1957年提出。
  假设输入为 x⃗  ,通过某种确定的非线性变换成一组特征向量 Φ(x⃗ ) ,特征向量通过一个函数构成广义线性模型:
  

y(x⃗ )=h(wTΦ(x⃗ ))=hw(x⃗ )

  其中,非线性激活函数 f() 是以下形式的阶梯函数:
  
h(a)={1,a00,a<0  

  一般情况下, Φ(x⃗ ) 包含偏分量 ϕ0(x⃗ )=1 。在很多讨论中, f(a) 的值域为 1,+1 。本文为了和后文统一,选用了 0,1

感知机算法求解

  感知机算法是假设数据集的特征空间是线性可分的,我们需要求得一个超平面,将数据集在特征空间分开。需找超平面即确定参数 w 。我们需要定义一个损失函数,通过求损失函数最小值来获得参数 w 。直观的做法是选择被分类器分错的样本数作为优化目标,然而这不是一个简单的学习算法,因为损失函数将是一个关于 w 的分段常量函数。梯度下降法在此处无法使用。
  对于样本,我们有 (y(i)hw(x(i)))wTx(i)0 成立。因此将损失函数定义为(使用 x 代替了 x⃗  ):

l(w)=iE(y(i)hw(x(i)))wTx(i)
其中 E 表示分错的样本集合。
  使用随机梯度下降法我们有:
w:=wα((l(w)):=w+αiE(y(i)hw(x(i)))x(i)

考虑到,当样本未被分错时,有 y(i)hw(x(i))=0 ,因此我们可以将上次重写为:
w:=wα((l(w)):=w+αiD(y(i)hw(x(i)))x(i)
其中 D 表示所有的样本集合。

2. 线性回归模型和逻辑回归模型

线性回归:

  线性回归模型的损失函数(或者叫错误函数)是最小平方误差,逻辑回归模型的求解是使用极大似然函数法,损失函数可以看做对似然函数求底为 e 的对数。

l(w)=12iD(y(i)hw(x(i)))2
其中 hw(x(i))=wTx D 表示所有的样本集合。
运用随机梯度下降法后我们发现:
w:=wα((l(w)):=w+αiD(y(i)hw(x(i)))x(i)

逻辑回归模型:

  逻辑回归模型也是一个二分类模型,属于广义线性模型。将特征空间映射成一种可能性。
  假设 P(y=1|x;w)=hw(x) P(y=0|x;w)=1hw(x) 。则最大似然概率函数有:

l(w)=p(y⃗ |X;w)=iD(hw(x(i))y(i))(1hw(x(i))1y(i))
其中 hw(x(i))=11+ewTx(i) D 表示所有的样本集合。

运用随机梯度下降法后我们发现:

w:=wα((l(w)):=w+αiD(y(i)hw(x(i)))x(i)

3. 三者的联系与区别

  最后我们发现三者虽然使用的不同思路,也属于不同问题(分类、回归)。但最后竟然有相同的求解形式。然而我目前还未明白这是为什么,也不知道有什么用….
  下面盗用台大林轩田老师的PPT(coursera上《机器学习基石》课程)阐述他们之间的一些联系关系:

  上图是描述统一三者的符号,为了后面对比做准备。并定义三种模型的损失函数(错误函数)。

  对比单个样本分类错误时,三种模型的损失函数。  

  对比三种模型的优缺点。

优缺点对比  

PLA(感知机算法):
优点:有效、线性可分下有保证
缺点:仅在线性可分下有效,非线性需要pocket算法。
线性回归:
优点:容易优化
缺点:0/1错误下,对于 |ys| 有比较宽松的VC维界
逻辑回归:
优点:容易优化
缺点:0/1错误下,对于 ys0 有比较宽松的VC维界

你可能感兴趣的:(机器学习,机器学习)