机器学习算法——神经网络2(感知机)

本文详细介绍了感知机模型的结构、逻辑运算实现、几何解释、学习策略和算法。感知机是线性分类模型,用于处理线性可分数据。通过随机梯度下降法不断调整权重和截距,寻找最佳超平面以最小化误分类点的总距离。当训练数据线性可分时,算法保证收敛。此外,还提到了感知机对偶形式和线性不可分情况下的行为。感知机是支持向量机等复杂算法的基础,对于非线性问题,可通过核函数转换来解决。
摘要由CSDN通过智能技术生成

感知机(Perception)是由两层神经元组成。输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称之为“阈值逻辑单元”,如下图所示。

 图 两个输入神经元的感知机网络结构示意图

感知机能很容易的实现逻辑与、或、非运算(只考虑0和1的取值)。注意到y=f(\sum_{i} w_ix_i-\theta),假设f是跃阶函数,有

  • “与”(x_1 \wedge x_2):令w_1=w_2=1,\theta = 2,则y=f(1\cdot x_1+1 \cdot x_2-2),仅在x_1=x_2=1时,y=1。
  • “或”(x_1\vee x_2):令w_1=w_2=1,\theta = 0.5,则y=f(1\cdot x_1+1 \cdot x_2-0.5),仅在x_1=1x_2=1时,y=1。
  • "非"(\overline{x}),令w_1=-0.6,w_2=0,\theta = -0.5,则y=f(-0.6\cdot x_1+0 \cdot x_2+0.5),仅在x_1=1时,y=0;当x_1=0时,y=1。

定义感知机:

假设输入空间(特征空间)是\chi \subset R^{n},输出空间是y={+1,-1}

输入x \in \chi表示实例的特征向量,对应于输入空间(特征空间)的点,输出y表示实例的类别,由输入空间到输出空间的函数:

f(x) = sign(w \cdot x +b)

称为感知机。模型参数为:w和b.

符号函数:

sign(x) = \left\{\begin{matrix} +1, x \geq 0\\ -1, x<0 \end{matrix}\right.

感知机几何解释

线性方程:w \cdot x + b =0

对应于超平面S,w为法向量,b截距,分离正负类。

分离超平面:

感知机学习策略

 如何定义损失函数?

自然选择:误分类点的数目,但损失函数不是w,b连续可导,不宜优化。

另一选择:误分类点到超平面的总距离。

距离: \frac{|w \cdot x_0+b|}{||w||},||w||=\sqrt{w_1^2+w_2^2+...+w_n^2}

误分类点: y_i(w \cdot x_i +b)<0

误分类点距离: \frac{-y_i(w \cdot x_i+b)}{||w||}

总距离: \frac{-\sum_{x_i \in M}{y_i(w \cdot x_i+b)}}{||w||}M为误分类点的数目

希望找到w和b,使得总距离最小,得到损失函数 L(w,b)=-\sum_{x_i \in M} y_i(w \cdot x_i+b)

感知机学习算法(有监督学习)

求解最优化问题:

 \underset{w_i,b}{min} L(w,b)=-\sum_{x_i \in M} y_i(w \cdot x_i+b)

最基本的算法为随机梯度下降法

首先任意选择一个超平面,w,b,然后不断极小化目标函数,损失函数L的梯度【各个偏导数构成的向量。】:

\bigtriangledown_w L(w,b) = - \sum_{x_i \in M} y_i x_i

\bigtriangledown_b L(w,b) = - \sum_{x_i \in M} y_i

选取误分类点更新:

w\leftarrow w+ \eta y_ix_i, b \leftarrow b+ \eta y_i

\eta \in (0,1)称为学习率。

所以感知机学习算法为:

===================================================================

输入: 训练数据集T = \{(x_1,y_1), (x_2,y_2), ..., (x_N,y_N)\},其中,x_i \in \chi = R^n, y_i \in{+1,-1}, i=1,2,...,N,学习率\eta

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

(1)选取初值w_0,b_0

(2)在训练集中选取数据(x_i,y_i)

(3)如果y_i(w \cdot x_i +b) \leq 0

w_t \leftarrow w_{t-1} + \eta y_ix_i, b_t \leftarrow b_{t-1}+\eta y_i

(4)转至(2),直至训练集中没有误分类点。

===================================================================

感知机算法收敛性分析

算法的收敛性:证明经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。

将b并入权重向量w,记作:\hat{w} = (w^T,b)

\hat{x} = (x^T, 1)^T, \hat{x} \in R^{n+1},\hat{w}\in R^{n+1}

则, \hat{w} \cdot \hat{x} =w \cdot x +b

定理:设训练数据T = \{(x_1,y_1), (x_2,y_2), ..., (x_N,y_N)\}线性可分的,其中:x_i \in \chi = R^n, y_i \in{+1,-1}, i=1,2,...,N,则,存在满足条件||\hat{w}_{opt}||=1的超平面\hat{w}_{opt} \cdot \hat{x} = w_{opt} \cdot x + b_{opt} =0且存在\gamma >0,对所有i=1,2,...,N,y_i(\hat{w}_{opt} \cdot \hat{x}_{i}) = y_i (w_{opt} \cdot x_i + b_{opt}) \geq \gamma

R=\underset{1\geq i \geq N}{max} ||\hat{x}_{i}||,算法在训练集上的误分类次数k满足不等式k\leq (\frac{R}{\gamma })^2

 证明略。

定理表明:误分类的次数k是有上界的:当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的。感知机算法是不稳定的:存在许多解,既依赖于初值,也依赖于迭代过程中误分类点的选择顺序。为得到唯一分离超平面,需要增加约束,就发展成了后来的支持向量机。

如果训练数据集线性不可分,会出现迭代震荡

感知机学习对偶形式

基本思想:将w和b表示为实例xi和标记yi的线性组合的形式,通过求解其系数而求得w和b,对误分类点:

w\leftarrow w+ \eta y_ix_i, b \leftarrow b+ \eta y_i--------------------> w = \sum_{i=1}^{N} \alpha_iy_i x_i, b=\sum_{i=1}^{N} \alpha_iy_i, \alpha=\eta_i \eta

输入: 训练数据集T = \{(x_1,y_1), (x_2,y_2), ..., (x_N,y_N)\},其中,x_i \in \chi = R^n, y_i \in{+1,-1}, i=1,2,...,N,学习率\eta

输出:a,b;感知机模型为f(x) = sign(\sum_{j=1}^{N} \alpha_j y_jx_j \cdot x +b),其中\alpha=(\alpha_1,\alpha_2,...,\alpha_N)^T

(1) \alpha \leftarrow 0, b\leftarrow 0

(2)在训练集中选取数据(x_i,y_i)

(3)如果y_i(\sum_{j=1}^{N} \alpha_jy_jx_j \cdot x_i +b) \leq 0

\alpha_i \leftarrow \alpha_i + \eta, b\leftarrow b+\eta y_i

(4)转至(2)中,直到没有误分类数据。

Gram矩阵G=[x_i\cdot x_j] _{N \times N}

讲解至此,我们知道感知机是解决训练数据集线性可分的问题,那对于非线性可分的问题怎么解决?下节将继续介绍。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值