感知机模型

输入空间是$\chi\subseteq\mathbb{R}^n$,输出空间是$y={+1,-1}$
感知机定义为:$f(x)=sign(wx+b)$

感知机学习策略

输入空间任一点$x_0$到超平面S的距离:
$\frac{1}{||w||}|wx_0+b|$
误分类数据$(x_i,y_i)$,有$-y_i(wx_i+b)>0$
误分类点$x_i$到超平面S的距离$-\frac{1}{||w||}y_i(wx_i+b)$
误分类点集合M,所有误分类点到超平面S的距离
$-\frac{1}{||w||}\sum_{x_i\in{M}}y_i(wx_i+b)$
由此,感知机损失函数定义为
$L(w,b)=-\sum_{x_i\in{M}}y_i(wx_i+b)$

感知机学习算法(原始形式)

输入:训练数据集
$T={(x_1,y_1),(x_2,y_2),(x_N,y_N)...,(x_1,y_1)}$
$x_i\in\chi\subseteq\mathbb{R}^n$,$y_i\in{y}={+1,-1}$,学习率$\eta$
输出:w,b;感知机模型$f(x)=sign(wx+b)$
(1)选取初值$w_0$,$b_0$
(2)训练集选取$(x_i,y_i)$
(3)IF $y_i(wx_i+b)≤0$
$w←w+\eta{y_ix_i}$
$b←b+\eta{y_i}$
(4)转至(2),直到没有误分类点。

:感知机算法是收敛的,在训练数据及上的误分类次数k满足
$k≤(\frac{R}{\gamma})^2$

感知机学习算法(对偶形式)

由原始形式
$w←w+\eta{y_ix_i}$
$b←b+\eta{y_i}$
进行n次,w,b关于$(x_i,y_i)$增量分别为$a_iy_ix_i$和$a_iy_i$
记$a_i=n_i\eta$,最后学习到的w,b表示为
$w=\sum_{i=1}^{N}a_iy_ix_i$
$b=\sum_{i=1}^{N}a_iy_i$
输入:训练数据集
$T={(x_1,y_1),(x_2,y_2),(x_N,y_N)...,(x_1,y_1)}$
$x_i\in\chi\subseteq\mathbb{R}^n$,$y_i\in{y}={+1,-1}$,学习率$\eta$
输出:a,b;感知机模型$f(x)=sign(\sum_{j=1}^{N}a_jy_jx_j·x+b)$
其中$a=(a_1,a_2,...,a_N)^T$
(1)$a←0$;$b←0$
(2)训练集选取$(x_i,y_i)$
(3)IF $y_i(\sum_{j=1}^{N}a_jy_jx_j·x_i+b)≤0$
$a_i←a_i+\eta$
$b←b+\eta{y_i}$
(4)转至(2),直到没有误分类点。
记Gram矩阵$G=[x_i·x_j]_{N×N}$

《统计学习方法》极简笔记P2:感知机数学推导的更多相关文章

  1. 《统计学习方法》极简笔记P5:决策树公式推导

    <统计学习方法>极简笔记P2:感知机数学推导 <统计学习方法>极简笔记P3:k-NN数学推导 <统计学习方法>极简笔记P4:朴素贝叶斯公式推导

  2. 《统计学习方法》极简笔记P4:朴素贝叶斯公式推导

    <统计学习方法>极简笔记P4:朴素贝叶斯公式推导 朴素贝叶斯基本方法 通过训练数据集 T={(x_1,y_1),(x_2,y_2),(x_N,y_N)...,(x_1,y_1)} 学习联合 ...

  3. 统计学习方法笔记 -- KNN

    K近邻法(K-nearest neighbor,k-NN),这里只讨论基于knn的分类问题,1968年由Cover和Hart提出,属于判别模型 K近邻法不具有显式的学习过程,算法比较简单,每次分类都是 ...

  4. 统计学习方法 --- 感知机模型原理及c++实现

    参考博客 Liam Q博客 和李航的<统计学习方法> 感知机学习旨在求出将训练数据集进行线性划分的分类超平面,为此,导入了基于误分类的损失函数,然后利用梯度下降法对损失函数进行极小化,从而 ...

  5. 我的第一个 Rails 站点:极简优雅的笔记工具-Raysnote

    出于公司开发需求,这个暑假我開始搞Ruby on Rails.在业余时间捣鼓了一个在线笔记应用:http://raysnote.com.这是一个极简而优雅的笔记站点(至少我个人这么觉得的). 笔记支持 ...

  6. 《统计学习方法》笔记九 EM算法及其推广

    本系列笔记内容参考来源为李航<统计学习方法> EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计或极大后验概率估计.迭代由 (1)E步:求期望 (2)M步:求极大 组成,称 ...

  7. 《统计学习方法》笔记三 k近邻法

    本系列笔记内容参考来源为李航<统计学习方法> k近邻是一种基本分类与回归方法,书中只讨论分类情况.输入为实例的特征向量,输出为实例的类别.k值的选择.距离度量及分类决策规则是k近邻法的三个 ...

  8. 统计学习方法与Python实现(一)——感知机

    统计学习方法与Python实现(一)——感知机 iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.定义 假设输入的实例的特征空间为x属于Rn的n维特征向量, ...

  9. 统计学习方法笔记--EM算法--三硬币例子补充

    本文,意在说明<统计学习方法>第九章EM算法的三硬币例子,公式(9.5-9.6如何而来) 下面是(公式9.5-9.8)的说明, 本人水平有限,怀着分享学习的态度发表此文,欢迎大家批评,交流 ...

随机推荐

  1. CDQZ集训DAY8 日记

    又一次翻车…… 先提一句昨晚的事.昨天晚上身后一帮成都七中的人用十分戏谑的语气交出了达哥的名字,看着NOI2017的获奖名单,如果他们真的是在嘲笑的话,真的挺想上去干他们一顿的…… 上午考试第一题一脸 ...

  2. py+selenium 老是定位不到文本内容【已解决】

    问题:定位不到文本内容,路径也正确,该加frame也有加,等待时间也够长 测试: 上图看不出差异,但是测试1就定位得到,测试2就定位不到,为什么? 看下图就知道了 区别就在于,测试2后面多了个空格!! ...

  3. 搭建oj平台

    欢迎使用https://github.com/QingdaoU/OnlineJudgeDeploy

  4. [USACO10FEB]给巧克力Chocolate Giving

    题意简叙: FarmerFarmerFarmer JohnJohnJohn有B头奶牛(1<=B<=25000)(1<=B<=25000)(1<=B<=25000), ...

  5. php 自己封装一个调用第三方接口的函数

    ①在php.ini中开启php_curl扩展(必须开启) ②建议在php.ini中开启php_openssl扩展(本身不是curl必须的,是调用一些第三方接口需要的 ③如果以上操作重启apache后, ...

  6. 十三、asp.net中Repeater控件用法笔记

    大家可能都对datagrid比较熟悉,但是如果在数据量大的时候,我们就得考虑使用 repeater作为我们的数据绑定控件了.Repeater控件与DataGrid (以及DataList)控件的主要区 ...

  7. 【git】Github上面的开源代码怎么在本地编译运行

    最近才发现Github是一个好东西,可以从上面学到很多东西,不说了,赶快写完去学习去... 1.首先你可以看看这个开源项目的README.md,一般一般这里都会有项目的使用方式以及一些注意的点 2.你 ...

  8. 盘一盘 synchronized (一)—— 从打印Java对象头说起

    Java对象头的组成 Java对象的对象头由 mark word 和  klass pointer 两部分组成, mark word存储了同步状态.标识.hashcode.GC状态等等. klass  ...

  9. [译].Net中的内存

    原文链接:https://jonskeet.uk/csharp/memory.html 人们在理解值类型和引用类型之间的差异时因为“值类型在栈上分配,引用类型在堆上分配”这句话造成了很多混乱.这完全是 ...

  10. cookbook_类与对象

    1修改实例的字符串表示 可以通过定义__str__()和__repr__()方法来实现 class Pair: def __init__(self,x,y): self.x = x self.y = ...