感知机(Perceptron)

感知机(Perceptron)是二分类问题的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。

感知机于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。感知机于1957年由Rosenblatt提出,是神经网络和支持向量机的基础。

在这里,不用《统计学习方法》书中的变量表示方式,我们用表示数据集,一共个样本,个维度,用表示数据集中的第个样本,用表示标记(类别)向量,代表第个样本的标记。

我们将要学习的目标函数是:

称为感知机。其中,为感知机模型参数,为权值向量,叫作偏置(bias),表示的内积。是符号函数,即:

所以,在这里,根据上式可知时为分类的边界(超平面)。

对于数据集,如果能够将数据集的正负样例完全正确地划分到超平面的两侧,即对于所有的实例,对于所有的实例,则称这个数据集为线性可分的数据集,否则数据集线性不可分。

假设数据集是线性可分的,感知机的学习目标是求得一个能够将训练集正负样例能够完全分开的超平面。找出这样的超平面,其实就是要确定感知机的模型参数。所以我们首先要定义损失函数,再将其最小化。

感知机的损失函数是针对误分类的点,最小化误分类的点到超平面的距离,不断进行调整。

对于输入空间的任一一个样例,所要计算的距离就是这个点到的距离。

根据点到直线的距离公式:

代入其中,可以得到:

进一步,进行简化约等,可以得到如下式子:

其中,范数。

对于误分类的样例来说,成立。所以误分类的点到超平面的距离为:

假如对于所有的误分类点集合为,那么所有的误分类点到超平面的总距离为:

不考虑,就得到了感知机的损失函数:

显然,损失函数是非负的,如果没有误分类的点,损失函数的值为0。并且,误分类点越少,误分类点离超平面越近,损失函数越小。所以对于完全线性可分的数据集,当损失函数为0时,即达到了完全正确分类。

这个损失函数可以用梯度下降法来解,对于的梯度用偏导可以直接求出来,具体过程不再赘述。

参考资料:

李航 《统计学习方法》

时间: 2024-07-28 14:50:32

感知机(Perceptron)的相关文章

[机器学习]感知机(Perceptron)算法的MATLAB实现

感知机是一种二类分类的线性分类模型,属于判别类型,它是神经网络和支持向量机的基础. 感知机的算法如图所示: 根据以上的算法,使用MATLAB对一组标签为"1"和"-1"的数据进行训练,得到的分类超平面. 数据为: %%perceptron clc clear %load the data 导入数据 data=load('testSet.txt'); %Sometimes you do not need too precise data % data=roundn(d

[Machine Learning]感知机(Perceptron)

感知机具体说明:见<统计学习方法第二章>. 实现(scikit-learn): 数据集 1 import numpy as np 2 import matplotlib.pyplot as plt 3 from sklearn.linear_model import perceptron 4 5 # Data 6 d = np.array([ 7 [2, 1, 2, 5, 7, 2, 3, 6, 1, 2, 5, 4, 6, 5], 8 [2, 3, 3, 3, 3, 4, 4 ,4 , 5,

统计学习方法:感知机

作者:桂. 时间:2017-04-16  11:53:22 链接:http://www.cnblogs.com/xingshansi/p/6718503.html 前言 今天开始学习李航的<统计学习方法>,考虑到之前看<自适应滤波>,写的过于琐碎,拓展也略显啰嗦,这次的学习笔记只记录书籍有关的内容.前段时间朋友送了一本<机器学习实战>,想着借此增加点文中算法的代码实现,以加深对内容的理解.本文梳理书本第二章:感知机(Perceptron). 1)原理介绍 2)代码实现

感知机介绍及实现

感知机(perceptron)由Rosenblatt于1957年提出,是神经网络与支持向量机的基础. 感知机是最早被设计并被实现的人工神经网络.感知机是一种非常特殊的神经网络,它在人工神经网络的发展史上有着非常重要的地位,尽管它的能力非常有限,主要用于线性分类. 感知机还包括多层感知机,简单的线性感知机用于线性分类器,多层感知机(含有隐层的网络)可用于非线性分类器.本文中介绍的均是简单的线性感知机. 图 1 感知机工作方式: (1).学习阶段:修改权值和偏置,根据"已知的样本"对权值和

感知机模型

感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值.感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型.感知机旨在求出将训练数据进行线性划分的分离超平面.为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型. 感知机模型 定义1(感知机) 假设输入空间(特征空间)是,输出空间是.输入表示实例的特征向量,对应于输入空间(特征空间)的点,输出表示实例的类别.由输入空间到输出空间

统计学习方法 李航---第2章 感知机

第2章 感知机 感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值.感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型. 感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度 下降法对损失函数进行极小化求得感知机模型. 2.1 感知机模型 定义(感知机):假设输入空间(特征空间)是X--Rn,输出空间是 Y={+1,-1}.输入x属于X表示实例的特征向量,对应于

Neural Networks and Deep Learning学习笔记ch1 - 神经网络

近期開始看一些深度学习的资料.想学习一下深度学习的基础知识.找到了一个比較好的tutorial,Neural Networks and Deep Learning,认真看完了之后觉得收获还是非常多的.从最主要的感知机開始讲起.到后来使用logistic函数作为激活函数的sigmoid neuron,和非常多其它如今深度学习中常使用的trick. 把深度学习的一个发展过程讲得非常清楚,并且还有非常多源代码和实验帮助理解.看完了整个tutorial后打算再又一次梳理一遍,来写点总结.以后再看其它资料

第五章 神经网络

读书笔记 周志华老师的<机器学习> 因为边看边记,所以写在随笔里,如果涉及版权问题,请您联系我立马删除,[email protected] 5.1 神经元模型 “神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应.” 神经元模型:生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位:如果某神经元的电位超过了一个“阈值”,那么它就会被激活,即“兴奋”起来,向其他神经

[转] 神经网络编程学习

本文主要内容包括: (1) 介绍神经网络基本原理,(2) AForge.NET实现前向神经网络的方法,(3) Matlab实现前向神经网络的方法 . 第0节.引例  本文以Fisher的Iris数据集作为神经网络程序的测试数据集.Iris数据集可以在http://en.wikipedia.org/wiki/Iris_flower_data_set  找到.这里简要介绍一下Iris数据集: 有一批Iris花,已知这批Iris花可分为3个品种,现需要对其进行分类.不同品种的Iris花的花萼长度.花萼