您的位置:首页 > 其它

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

2017-03-09 17:51 344 查看


转载自:原文


1. 感知机算法(Perceptron Algorithm)

  感知机算法是机器学习中的一个二分类监督学习算法,通过一个函数决定由向量代表的一个输入是否属于某一类。它是一种线性分类器:特征通过权重线性组合,然后通过一个线性预测函数来判断。这个算法最早由Frank Rosenblatt在1957年提出。

  假设输入为x⃗ ,通过某种确定的非线性变换成一组特征向量Φ(x⃗ ),特征向量通过一个函数构成广义线性模型:

  

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

  其中,非线性激活函数f(⋅)是以下形式的阶梯函数:

  

h(a)={1,a≥00,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)=−∑i∈E(y(i)−hw(x(i)))wTx(i)
其中E表示分错的样本集合。

  使用随机梯度下降法我们有:

w:=w−α(∇(l(w)):=w+α∑i∈E(y(i)−hw(x(i)))x(i)

考虑到,当样本未被分错时,有y(i)−hw(x(i))=0,因此我们可以将上次重写为:

w:=w−α(∇(l(w)):=w+α∑i∈D(y(i)−hw(x(i)))x(i)
其中D表示所有的样本集合。


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


线性回归:

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

l(w)=−12∑i∈D(y(i)−hw(x(i)))2
其中hw(x(i))=wTx,D表示所有的样本集合。

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

w:=w−α(∇(l(w)):=w+α∑i∈D(y(i)−hw(x(i)))x(i)


逻辑回归模型:

  逻辑回归模型也是一个二分类模型,属于广义线性模型。将特征空间映射成一种可能性。

  假设P(y=1|x;w)=hw(x),P(y=0|x;w)=1−hw(x)。则最大似然概率函数有:

l(w)=p(y⃗ |X;w)=∏i∈D(hw(x(i))y(i))(1−hw(x(i))1−y(i))
其中hw(x(i))=11+e−wTx(i),D表示所有的样本集合。

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

w:=w−α(∇(l(w)):=w+α∑i∈D(y(i)−hw(x(i)))x(i)


3. 三者的联系与区别

  最后我们发现三者虽然使用的不同思路,也属于不同问题(分类、回归)。但最后竟然有相同的求解形式。然而我目前还未明白这是为什么,也不知道有什么用….

  下面盗用台大林轩田老师的PPT(coursera上《机器学习基石》课程)阐述他们之间的一些联系关系:



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



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



  对比三种模型的优缺点。


优缺点对比  

PLA(感知机算法):

优点:有效、线性可分下有保证

缺点:仅在线性可分下有效,非线性需要pocket算法。

线性回归:

优点:容易优化

缺点:0/1错误下,对于|ys|有比较宽松的VC维界

逻辑回归:

优点:容易优化

缺点:0/1错误下,对于ys≪0有比较宽松的VC维界
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐