感知机

作者: shenghaishxt | 来源:发表于2019-03-26 11:26 被阅读0次

本文来自我的个人博客 https://www.zhangshenghai.com/posts/48428/

感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别。感知机是神经网络与支持向量机的基础。

感知机模型

假设输入空间\mathcal{X} \subseteq R^{n},输出空间\mathcal{Y} = \left\{+1, -1 \right\}。输入x \in \mathcal{X}表示实例的特征向量,对应于输入空间的点;输出y \in \mathcal{Y}表示实例的类别。由输入空间到输出空间的函数:
\begin{align*} \\& f \left( x \right) = sign \left( w \cdot x + b \right) \end{align*}
称为感知机。其中,wb为感知机模型参数,w \in R^{n}叫做权值或权值向量,b \in R叫偏置,w \cdot x表示wx的内积。sign是符号函数,即
\begin{align*} sign \left( x \right) = \left\{ \begin{aligned} \ & +1, x \geq 0 \\ & -1, x<0 \end{aligned} \right.\end{align*}
感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空间中的所有线性分类模型或线性分类器,即函数集合\left\{ f | f \left( x \right) = w \cdot x + b \right\}

感知机有如下的几何解释:线性方程
\begin{align*} \\& w \cdot x + b = 0 \end{align*}
对应于特征空间R^{n}中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。超平面S将特征空间划分为两部分,位于其中的点被分为正、负两类,超平面S称为分离超平面。

感知机的学习策略

输入空间R^{n}中的任一点x_{0}到超平面S的距离:
\begin{align*} \\& \dfrac{1}{\| w \|} \left| w \cdot x_{0} + b \right| \end{align*}
对于误分类数据\left( x_{i}, y_{i} \right),当w \cdot x + b > 0时,y_{i}=-1,当w \cdot x + b < 0时,y_{i}=+1,即y_iw\cdot x_i +b异号,有
\begin{align} \\& -y_{i} \left( w \cdot x_{i} + b \right) > 0 \end{align}
误分类点x_{i}到分离超平面的距离为
\begin{align*} \\& -\dfrac{1}{\| w \|} y_{i}\left( w \cdot x_{i} + b \right) \end{align*}
假设超平面S的误分类点集合为M,则所有误分类点到超平面S的总距离为
\begin{align*} \\& -\dfrac{1}{\| w \|} \sum_{x_{i} \in M} y_{i} \left( w \cdot x_{i} + b \right) \end{align*}
给定训练数据集
\begin{align*} \\& T = \left\{ \left( x_{1}, y_{1} \right), \left( x_{2}, y_{2} \right), \cdots, \left( x_{N}, y_{N} \right) \right\} \end{align*}
其中,x_{i} \in \mathcal{X} = R^{n}, y_{i} \in \mathcal{Y} = \left\{ +1, -1 \right\}, i = 1, 2, \cdots, N。感知机sign \left( w \cdot x + b \right)的损失函数定义为
\begin{align*} \\& L \left( w, b \right) = -\sum_{x_{i} \in M} y_{i} \left( w \cdot x_{i} + b \right) \end{align*}
其中,M为误分类点的集合。显然,损失函数L(w, b)是非负的。如果没有误分类点,损失函数值是0。而且,误分类点越少,误分类点离超平面越近,损失函数值就越小。感知机学习的策略是在假设空间中选取使上述损失函数式最小的模型参数w, b,即感知机模型。

感知机学习算法

感知机算法(原始形式)

输入:训练数据集T = \left\{ \left( x_{1}, y_{1} \right), \left( x_{2}, y_{2} \right), \cdots, \left( x_{N}, y_{N} \right) \right\},其中x_{i} \in \mathcal{X} = R^{n}, y_{i} \in \mathcal{Y} = \left\{ +1, -1 \right\}, i = 1, 2, \cdots, N;学习率\eta \left( 0 < \eta \leq 1 \right)

输出:w,b;感知机模型f \left( x \right) = sign \left( w \cdot x + b \right)

  1. 选取初值w_{0},b_{0}
  2. 在训练集中选取数据\left( x_{i}, y_{i} \right)
  3. 如果y_{i} \left( w \cdot x_{i} + b \right) \leq 0​

\begin{align*} \\& w \leftarrow w + \eta y_{i} x_{i} \\ & b \leftarrow b + \eta y_{i} \end{align*}

  1. 转至2,直至训练集中没有误分类点

感知机算法(对偶形式)

w,b修改n次,则w,b关于\left( x_{i}, y_{i} \right)的增量分别是\alpha_{i} y_{i} x_{i}\alpha_{i} y_{i},其中\alpha_{i} = n_{i} \etaw,b可表示为
\begin{align*} \\& w = \sum_{i=1}^{N} \alpha_{i} y_{i} x_{i} \\ & b = \sum_{i=1}^{N} \alpha_{i} y_{i} \end{align*}
其中,\alpha_{i} \geq 0, i=1,2, \cdots, N

输入:训练数据集T = \left\{ \left( x_{1}, y_{1} \right), \left( x_{2}, y_{2} \right), \cdots, \left( x_{N}, y_{N} \right) \right\},其中x_{i} \in \mathcal{X} = R^{n}, y_{i} \in \mathcal{Y} = \left\{ +1, -1 \right\}, i = 1, 2, \cdots, N;学习率\eta \left( 0 < \eta \leq 1 \right)

输出:\alpha,b;感知机模型f \left( x \right) = sign \left( \sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x + b \right) ,其中\alpha = \left( \alpha_{1}, \alpha_{2}, \cdots, \alpha_{N} \right)^{T}

  1. \alpha \leftarrow 0, b \leftarrow 0
  2. 在训练集中选取数据\left( x_{i}, y_{i} \right)
  3. 如果y_{i} \left( \sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x_{i} + b \right) \leq 0

\begin{align*} \\& \alpha_{i} \leftarrow \alpha_{i} + \eta \\ & b \leftarrow b + \eta y_{i} \end{align*}

  1. 转至2,直至训练集中没有误分类点

注:对偶形式中训练实例仅以内积形式出现,可预先计算Gram矩阵存储实例间内积
\begin{align*} \\& G = \left[ x_{i} \cdot x_{j} \right]_{N \times N} \end{align*}

相关文章

  • 感知机

    感知机 感知机模型 感知机学习策略 感知机学习算法 算法的收敛性 感知机学习算法的对偶形式 感知机实现二分类模型 ...

  • 1、深度学习入门-感知机

    感知机是什么? 感知机 (perceptron):感知机是神经网络(深度学习)的起源算法,学习感知机的构造是通向神...

  • 深度学习入门(1)感知机

    感知机 感知机基础知识 感知机是神经网络(深度学习)的起源算法。 感知机可以接收多个输入信息,输出一个信号。 感知...

  • 神经网络概述

    感知机 最小的神经网络结构,无论多复杂的神经网络都由许多感知机构成。 感知机结构:输入层、输出层感知机 感知机是一...

  • 动手学深度学习(三) 多层感知机

    多层感知机 多层感知机的基本知识 使用多层感知机图像分类的从零开始的实现 使用pytorch的简洁实现 多层感知机...

  • 多层感知机 2020-02-18

    多层感知机 多层感知机的基本知识 使用多层感知机图像分类的从零开始的实现 使用pytorch的简洁实现 多层感知机...

  • 多层感知机

    多层感知机 多层感知机的基本知识 使用多层感知机图像分类的从零开始的实现 使用pytorch的简洁实现 多层感知机...

  • 神经网络

    感知机和神经网络 感知机 我们对照感知机的公式 可以发现,从输入层到输出层,其实就是感知机的函数模型,当然了,这个...

  • 动手学深度学习笔记(二)

    从零开始写多层感知机 多层感知机 本节中,我们将以多层感知机(multilayer perceptron,简称 M...

  • 人工智能入门

    1、感知机 感知机 感知机接收多个输入信号,输出一个信号,上图是一个接收两个输入信号的感知机的例子。 x1、...

网友评论

      本文标题:感知机

      本文链接:https://www.haomeiwen.com/subject/mvqgvqtx.html