感知机

原创 2017年01月03日 17:31:24

1. 感知机模型

  感知机是一个二类的线性分类器,输入特征向量,输出+1或-1代表实例的类别。感知机的本质是能在特征空间中将实例划分为正负两类的超平面。从输入空间到输出空间的映射函数为: y=sign(\omega x+b)

y=sign(ωx+b)
其中sign是符号函数:
sign(x)={+11x0x<0
只有正样本和负样本完全位于超平面两侧的时候称样本为线性可分的。

2. 感知机的训练

  感知机模型学习的目的就是获得参数ωb

2.1 损失函数

  在选择损失函数的时候,比较容易想到的是误分类样本的个数,但是这样的损失函数不可导不易优化。因此,感知机常用的损失函数是误分类的点到超平面的距离之和。任意一个点x0到超平面的距离表示为:

1ω|ωx0+b|
对于一个错误分类的样本,满足yi(ωxi+b)>0。所以所有误分类点到超平面的总距离为:
1ωΣyi(ωx0+b)
省略常数项,感知机的损失函数写作:
L(ω,b)=Σyi(ωx0+b)

2.2 学习算法

  损失函数L(ω,b)是关于ωb的可导函数。学习算法采用随机梯度下降法(stochastic gradient descent)。损失函数的梯度表示为:

ωL(ω,b)=Σyixi
bL(ω,b)=Σyi
对应的算法步骤如下:
1. 初始化ω0b0
2. 在训练集中选取数据点(yi,xi)
3. 如果yi(ωxi+b)0
ωω+ηyixi
bb+ηyi
4.重复步骤2和3,直到训练集中没有误分类的点。

2.3 算法的收敛性

  当训练数据集是线性可分的时候,感知机的学习算法是收敛的。但是感知机学习算法具有很多种可能的解,取决于初值的选择和迭代过程中误分类点的选择顺序。

版权声明:本文为博主原创文章,未经博主允许不得转载。

感知机模型学习笔记及Python实现

参照李航博士的《统计学习方法》,简要介绍了感知机模型,并对其学习算法的原始形式和对偶形式进行了比较,加深对感知机模型的理解。最后结合一个简单的例子,通过Python实现算法的对偶形式,并做一定的可视化...
  • u011098721
  • u011098721
  • 2016年08月14日 15:30
  • 1912

感知机算法的matlab实现

编写的函数如下:function [ w,b ] = original_style( training_set,study_rate ) %training_set是一个m*n维矩阵,其中第一行是y_...
  • njustzj001
  • njustzj001
  • 2014年03月23日 20:24
  • 3760

机器学习-感知机perceptron

在机器学习中,感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面。感知机...
  • Dream_angel_Z
  • Dream_angel_Z
  • 2015年10月05日 18:28
  • 16703

Java感知机

  • 2017年05月25日 15:20
  • 38KB
  • 下载

深度学习概述:从感知机到深度网络

  • 2018年01月04日 10:36
  • 958KB
  • 下载

《统计学习方法》+感知机+C++代码(简单)实现

  • 2015年10月23日 20:07
  • 908KB
  • 下载

基于Python+Theano实现的多层感知机MLP(附详细注释)

  • 2015年10月10日 20:05
  • 24KB
  • 下载

感知机简单实现c++

  • 2017年12月03日 21:48
  • 3.51MB
  • 下载

基于感知机的分词算法简介

  • 2008年05月27日 20:28
  • 1.5MB
  • 下载

python写的基于感知机的中文分词系统

  • 2008年05月26日 19:42
  • 4.92MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:感知机
举报原因:
原因补充:

(最多只允许输入30个字)