每天五分钟机器学习:神经网络和支持向量机的基础——感知机模型
作者头像
  • ccpitxm
  • 2020-05-11 18:44:46 5

本文重点

感知机模型是神经网络和支持向量机的基础。感知机是一种二分类的线性分类器,通过学习出一个分类超平面,将正样本和负样本分开。感知机的数学表达式为 ( w cdot x + b = 0 ),其中 ( w ) 是超平面的法向量,( b ) 是超平面的截距。当 ( w cdot x + b > 0 ) 时,样本 ( x ) 被判定为正样本;当 ( w cdot x + b < 0 ) 时,样本 ( x ) 被判定为负样本。

感知机模型的函数

感知机的函数可以表示为: [ f(x) = text{sign}(w cdot x + b) ] 其中 ( text{sign} ) 函数的定义是: [ text{sign}(x) = begin{cases} 1 & text{if } x > 0 0 & text{if } x leq 0 end{cases} ]

损失函数

损失函数是衡量模型误差的重要指标。在感知机中,损失函数是所有误分类点到超平面的距离之和。具体而言,对于误分类点 ( (xi, yi) ),满足 ( yi(w cdot xi + b) < 0 )。误分类点到超平面的距离公式为: [ frac{|w cdot x_i + b|}{||w||} ]

所有误分类点到超平面的总距离为: [ L(w, b) = -sum{(xi, yi) in M} yi(w cdot x_i + b) ] 其中 ( M ) 表示所有误分类点的集合。为了最小化损失函数,我们需要不断调整参数 ( w ) 和 ( b )。

如何优化

优化感知机模型通常采用随机梯度下降法。首先初始化参数 ( w ) 和 ( b ),然后通过随机选取一个误分类点,逐步调整参数,以最小化损失函数。具体步骤如下:

  1. 初始化参数 ( w ) 和 ( b )。
  2. 选取一个误分类点 ( (xi, yi) )。
  3. 计算损失函数的梯度: [ nablaw L(w, b) = -yi xi ] [ nablab L(w, b) = -y_i ]
  4. 更新参数: [ w leftarrow w + eta yi xi ] [ b leftarrow b + eta y_i ] 其中 ( eta ) 是学习率。

如果数据线性可分,经过有限次迭代可以找到一个完美的超平面。然而,如果数据线性不可分,则无法找到合适的超平面。

对偶形式

感知机的对偶形式提供了一种不同的视角来理解模型。在对偶形式中,参数 ( w ) 和 ( b ) 的更新方式不同。具体来说,我们不再直接更新 ( w ) 和 ( b ),而是更新每个样本的更新次数 ( n_i )。

  1. 初始化所有 ( n_i = 0 )。
  2. 在训练集中选择一个误分类点 ( (xi, yi) )。
  3. 更新 ( ni ): [ ni leftarrow n_i + 1 ]
  4. 更新参数: [ ai = eta ni ] [ b = sum{i=1}^N ai yi xi ]

通过这种方法,我们可以得到最终的参数 ( a_i ) 和 ( b ),从而确定超平面的方程。

例如,假设训练集中有三个样本,正样本 ( (3, 3)^T ) 和 ( (4, 3)^T ),负样本 ( (1, 1)^T )。经过学习得到 ( a = (2, 0, 5) ),( b = -3 ),则超平面方程为: [ w = 2 cdot (3, 3)^T + 0 cdot (4, 3)^T + 5 cdot (-1) cdot (1, 1)^T = (6, 6) + (-5, -5) = (1, 1) ] 因此,超平面方程为: [ x1 + x2 - 3 = 0 ]

这就是对偶形式感知机的解。

    本文来源:图灵汇
责任编辑: : ccpitxm
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
神经网络向量感知模型机器分钟每天支持基础学习
    下一篇