zoukankan      html  css  js  c++  java
  • 感知机相关难点细解

    感知机

    感知机:
    1.感知机是一种线性分类模型,而且只针对二分类问题。如果对于一组二分类数据其不能找到一个超平面将所有数据正确划分,那么感知机模型将不可收敛。

    2感知机定义模型表达式:
    在这里插入图片描述
    w为权重向量,b为偏置,x是输入向量,也就是一个样本的特征向量。f(x)的结果即为x表示的样本预测的类别,结果为+1或-1.
    sign为符号函数

    x>=0,sign=+1
    x<0 ,sign=-1

    一般书中都会提到w,提到w为超平面的法向量,但都很少提到偏置b,其实很多同学可能会疑惑,为什么偏偏w.x+b>=0时,f(x)=1,w.x+b<0时,f(x)=-1。为什么不是w.x+b>=a时,f(x)=1,w.x+b<a时,f(x)=-1。即a不等于0可不可以。其实也可以a为任何值,不会影响我们模型的性能,但是一般我们定义a=0,这是一种约定俗成的东西吧。之所以a可以为任何值的原因就在于b,w.x其实可以看作将空间中坐标为x的点进行映射。可以想象成将空间中的点都映射在一条直线上,如果这些点在空间中能被一个超平面完美分成两部分,那么这些点被映射在这个直线上时就会被完美分成两部分,现在我们应该是需要找到直线上一个点将直线以这个点分为两侧,空间中的两类点分别映射到两侧。现在问题来了,这个点怎么找呢。然后,我们可以发现其实不需要去找,我们可以移动这个点,用偏执b来移动,想象一下,w.x将样本在空间中表示的点投影在一条直线上,我们可以在w.x后面加上一个b这样就可以在这条直线上移动这些点,但是不改变它们的分布。这条直线其实相当于一条坐标轴,我们约定俗成将两类点通过b分别移动到0的两端。

    3.感知机模型的损失函数

    感知机模型的学习策略是根据误分类的点来更新权重w和偏置b,这里用到了空间中点到面的距离公式,这里就不多说了,我在之前的博客专门提过这个公式,不了解的可以看看。
    同时对于一个模型的损失函数应该是连续的,即可导不然如何更新权重和偏置呢。所以感知机将误分类的点到超平面的距离定义为最小化的损失函数。
    下面这个公式就是在“某一时刻”所有误分类的点到超平面的距离,很好推导,只用到一个距离公式,感兴趣的可以试试。

    在这里插入图片描述
    那么很多书中会说,我们可以“忽略”1/||w||,直需要最小化下面这个式子
    在这里插入图片描述有些人会觉得1/||w||也会影响这个损失函数的大小呀,为什么可以忽略,其实这里只是一个方向,如果你看到我前面对b的解释是关于w的相关描述,你就会理解,这里w很重要,但发挥的是他方向的作用,也有的书里直接定义他为单位向量。

  • 相关阅读:
    出乎意料的else语句
    2015年全国谷歌卫星地图离线数据存储方案
    Convert Sorted List to Binary Search Tree
    程序猿学习资料分享---爱分享的程序猿(新浪微博)
    myeclipse中断点调试
    J2EE之13个规范标准概念
    ora-01036: 非法的变量名/编号
    CCNA Cloud CLDFND 210-451 QUIZ: Server Virtualization
    已知二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列
    UML类图中的几种关系总结
  • 原文地址:https://www.cnblogs.com/gaoxing2580/p/12423438.html
Copyright © 2011-2022 走看看