感知机、线性回归、逻辑回归的简单对比
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维界
相关文章推荐
- 感知机、线性回归、逻辑回归的简单对比
- Spark ML机器学习算法svm,als,线性回归,逻辑回归简单试验
- 线性回归、逻辑回归等问题对比分析总结
- 逻辑回归、线性回归、最小二乘、极大似然、梯度下降
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
- 【机器学习】线性回归和逻辑回归的理解
- PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)
- 回归、线性回归和逻辑回归【逻辑回归部分待完成】
- 七月算法机器学习笔记4--线性回归与逻辑回归
- 线性回归和逻辑回归
- 线性回归与逻辑回归
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
- Spark中组件Mllib的学习26之逻辑回归-简单数据集,带预测
- 线性回归, 逻辑回归和线性分类器
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
- 数据挖掘方法(2) 回归模型(简单线性回归)
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
- Stanford机器学习网络课程---第三讲(续)Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression