机器学习与数据挖掘机器学习数据蛙数据分析每周作业

林轩田机器学习基石课程笔记2 - 知识点补充3

2019-02-07  本文已影响25人  Spareribs

问题

如下图所示,update1的法向量是怎么确定的呢?


image.png

详细分析

看了一篇文章:感知机算法原理(PLA原理)及 Python 实现
具体怎么求呢,我们采用随机梯度下降法,即随意找一个点,如果分类错误,我们就更新 ω

  1. 输入数据 D=(x_1,y_1),(x_2,y_2),...,(x_m,y_m),其中 x_i∈X⊂R_ny∈Y={+1,−1}i=1,2,...,n
  2. 选取初值 ω^0=0,即设为零向量。
  3. 遍历 D 中的数据,如果遇到某个样本 (x_i,y_i) 使得 y_i(ω^⋅x)⩽0,即目前分类输出和真实分类不同,则ω ← ω^0+y_ix^i
  4. ω 更新后,回到第三步,重新开始遍历,如果遍历完整个数据集 D 都未有更新操作(没有错误分类点),则转第五步。
  5. 输出当前超平面的法向量 ω

最后程序输出的 ω 即为我们要找的能够完美划分数据集的超平面的法向量。

这里有个疑问? 法向更新只能确定到方向,怎么确定到一个平面的直线呢?
看到笔记里面提及到 w = b = 0,这里解释了我的疑惑,但是图形第一个法向量的确定和起始点的确定还是有点晕,估计后面还要回来看看,暂时就这些了

上一篇下一篇

猜你喜欢

热点阅读