感知机损失函数的定义

损失函数

感知机的损失函数如下:
−1∣∣w∣∣∗∑i=1myi(w⋅xi+b) -{\frac{1}{||w||}}*\sum_{i=1}^{m}y_i({w}\cdot{x_i}+b) w1i=1myi(wxi+b)
这是针对于误分类的数据集来说的,也就是说针对分类错误的样本数据所采用损失函数,正确分类的数据不参与,两类误分类的数据:

  • 1、正类数据分类到-1结果中,yi=1y_i=1yi=1,但(w⋅xi+b)等于−1({w}\cdot{x_i}+b)等于-1(wxi+b)1,此时损失公式依旧大于0。
  • 2、负类数据分类到1结果中,yi=−1y_i=-1yi=1,但(w⋅xi+b)等于1({w}\cdot{x_i}+b)等于1(wxi+b)1,此时损失公式依旧大于0。
    也就是说误分类的样本数据都能使得损失公式大于0,很容易就计算误差,但是这里有一个问题就是难道每个样本还要判断是否分类正确,跟线性回归、逻辑回归的损失函数公式不一样,它们是直接拿所有样本来统计损失误差,正确的样本的误差是0。这个地方不太清楚为啥这么设计。
### 感知器损失函数的详细推导过程 #### 定义感知器模型 感知器是一种用于二分类问题的线性分类模型,其目标是在输入空间中找到一个能够将不同类别的样本分开的超平面[^4]。 #### 超平面方程 假设给定一组训练数据 \((\mathbf{x}_i, y_i)\),其中 \(y_i\) 是标签 (\(+1\) 或者 \(-1\)),而 \(\mathbf{x}_i\) 表示特征向量。为了描述这些点之间的关系,引入权重向量 \(\mathbf{w}\) 和偏置项 \(b\) 来定义决策边界: \[ f(\mathbf{x}) = sign(\mathbf{w}^\top\mathbf{x} + b) \] 这里的 \(sign(z)=+1\) 如果 \(z>0\);否则为 \(-1\)。 #### 构建损失函数 对于任意误分类的数据点而言,它们应该满足条件: \[ -y_i(\mathbf{w}^\top\mathbf{x}_i+b)>0 \] 因此,可以构建如下形式的经验风险最小化问题作为损失函数\(L(\mathbf{w},b)\): \[ L(\mathbf{w},b)=-\sum_{x_i\in M}{y_i(\mathbf{w}^\top\mathbf{x}_i+b)} \] 这里 \(M=\{\mathbf{x}|f(\mathbf{x})\neq y,\forall i=1,...,N\}\)代表所有被错误分类的例子组成的集合[^3]。 上述表达式意味着:当某个样例被正确预测时它不会贡献任何误差;而对于那些错分的情况,则会按照一定比例增加整体代价。这种设计使得随着迭代次数增多,模型逐渐调整参数直至尽可能减少甚至消除所有的错误分类现象。 #### 计算梯度并更新规则 为了让损失降到最低,采用随机梯度下降(SGD)的方法不断修正权值矩阵以及阈值。具体操作上,在每次遇到一个新的训练样本之后立即修改当前估计值。此时对应的梯度计算公式如下所示: 针对每一个误分类样本 \(\mathbf{x}_m,y_m(m\in M)\), 对应于 \(\mathbf{w}\) 的部分导数为: \[ \frac{\partial L}{\partial \mathbf{w}}=-y_m\mathbf{x}_m \] 同样地,对于偏差项 \(b\) : \[ \frac{\partial L}{\partial b}=-y_m \] 于是乎就可以通过下面的方式来进行在线学习中的参数更新了(设步长为η): ```python for each misclassified sample (xm,ym): w := w + η * ym * xm b := b + η * ym ``` 以上便是整个感知机算法里有关损失函数及其优化的核心思路[^5]。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值