标签: 机器学习算法


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维界