转载自:原文
1. 感知机算法(Perceptron Algorithm)
感知机算法是机器学习中的一个二分类监督学习算法,通过一个函数决定由向量代表的一个输入是否属于某一类。它是一种线性分类器:特征通过权重线性组合,然后通过一个线性预测函数来判断。这个算法最早由Frank Rosenblatt在1957年提出。
假设输入为
x⃗
,通过某种确定的非线性变换成一组特征向量
Φ(x⃗ )
,特征向量通过一个函数构成广义线性模型:
其中,非线性激活函数 f(⋅) 是以下形式的阶梯函数:
一般情况下, Φ(x⃗ ) 包含偏分量 ϕ0(x⃗ )=1 。在很多讨论中, f(a) 的值域为 −1,+1 。本文为了和后文统一,选用了 0,1 。
感知机算法求解
感知机算法是假设数据集的特征空间是线性可分的,我们需要求得一个超平面,将数据集在特征空间分开。需找超平面即确定参数
w
。我们需要定义一个损失函数,通过求损失函数最小值来获得参数
w
。直观的做法是选择被分类器分错的样本数作为优化目标,然而这不是一个简单的学习算法,因为损失函数将是一个关于
w
的分段常量函数。梯度下降法在此处无法使用。
对于样本,我们有
(y(i)−hw(x(i)→))wTx(i)→≥0
成立。因此将损失函数定义为(使用
x
代替了
x⃗
):
使用随机梯度下降法我们有:
考虑到,当样本未被分错时,有 y(i)−hw(x(i))=0 ,因此我们可以将上次重写为:
2. 线性回归模型和逻辑回归模型
线性回归:
线性回归模型的损失函数(或者叫错误函数)是最小平方误差,逻辑回归模型的求解是使用极大似然函数法,损失函数可以看做对似然函数求底为 e 的对数。
运用随机梯度下降法后我们发现:
逻辑回归模型:
逻辑回归模型也是一个二分类模型,属于广义线性模型。将特征空间映射成一种可能性。
假设
P(y=1|x;w)=hw(x)
,
P(y=0|x;w)=1−hw(x)
。则最大似然概率函数有:
运用随机梯度下降法后我们发现:
3. 三者的联系与区别
最后我们发现三者虽然使用的不同思路,也属于不同问题(分类、回归)。但最后竟然有相同的求解形式。然而我目前还未明白这是为什么,也不知道有什么用….
下面盗用台大林轩田老师的PPT(coursera上《机器学习基石》课程)阐述他们之间的一些联系关系:
上图是描述统一三者的符号,为了后面对比做准备。并定义三种模型的损失函数(错误函数)。
对比单个样本分类错误时,三种模型的损失函数。
对比三种模型的优缺点。
优缺点对比
PLA(感知机算法):
优点:有效、线性可分下有保证
缺点:仅在线性可分下有效,非线性需要pocket算法。
线性回归:
优点:容易优化
缺点:0/1错误下,对于
|ys|
有比较宽松的VC维界
逻辑回归:
优点:容易优化
缺点:0/1错误下,对于
ys≪0
有比较宽松的VC维界