1. 感知机学习模型

感知机是一个二分类的线性分类问题,求解是使误分类点到超平面距离总和的损失函数最小化问题。采用的是随机梯度下降法,首先任意选取一个超平面w0和b0,然后用梯度下降法不断地极小化目标损失函数,极小化过程中不是一次使所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。假设误分类点集合M是固定的,那么损失函数L(w,b)的梯度:
随机选取一个误分类点,对w和b进行更新:
其中n是步长,又称为学习率(learning rate),这样通过迭代可以使损失函数L(w,b)不断减小,直到训练集中没有误分类点。直观的解释:当一个实例点被误分类,即位于超平面的错误一侧时,则调整w和b的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过该分类点使其正确分类[1]。注意:当训练数据集线性可分时,这个迭代是收敛的,也就是经过有限次数的迭代是可以找到最优的超平面的[1]。下面就详细讲解这个迭代的过程。

2.感知机算法的原始形式

输入:

训练数据集 T={(x1,y1),(x2,y2),...,(xn,yn)},其中x1∈Rn,yi={+1,-1},i=1, 2, ..., n,学习率η(0 < η<= 1)

输出:

w, b;感知机模型 f(x) = sign(w·x + b)

过程:

1, 选取初值w, b

2, 在训练集中取数据(xi,yi)

3, 若 yi(w·xi+ b) <= 0 即分类不正确,则:

w= w + ηyixi

         b= b + ηyi

注:因为此时分类不对,所以yi= -1

4, 转至步骤2,直到训练数据集中无误分类点

3.感知机算法的对偶形式

在原始形式中有公式:

w= w + ηyixi

        b= b + ηyi

那么假设一共修改了n次,则w,b关于(xi(1),xi(2))的增量分别为:

aiyixi和 aiyi                    (ai= niη)

即: 

若η=1,则ai就是第i个点由于误分类而进行更新的次数,即ai = ni

ai越大 => 实例点更新次数越多 =>越难正确分类,换句话说:这样的实例对学习结果影响更大!

 算法如下:

输入:

线性可分数据集 T={(x1,y1),(x2,y2),...,(xn,yn)},其中x1∈Rn,yi={+1,-1},i=1, 2, ..., n,学习率η(0 < η<= 1)

输出:

感知机模型 f(x) = sign( aiyixi·x + b)

过程:

1, 令a = 0,b = 0

2,  在训练集中取数据(xi,yi)

3,  若

则:

ai= ai + η

b= b + ηyi

4,  转至2直到无误分类数据

而由于对偶形式的训练实例仅以内积形式出现

所以我们预先将训练集中实例间的内积计算出来并以矩阵形式存储,即:产生Gram矩阵(格拉姆矩阵)

G = [ xi, yi ]n*n

[1] 李航,《统计学习方法》,第2章,2.3节

转载于:https://www.cnblogs.com/tenderwx/p/6680119.html

【统计学习】随机梯度下降法求解感知机模型相关推荐

  1. 统计学习笔记(2)——感知机模型

    感知机学习旨在求出将训练数据集进行线性划分的分类超平面,为此,导入了基于误分类的损失函数,然后利用梯度下降法对损失函数进行极小化,从而求出感知机模型.感知机模型是神经网络和支持向量机的基础.下面分别从 ...

  2. 深度学习初级课程 3.随机梯度下降法

    深度学习初级课程 1.单一神经元 2.深度神经网络 3.随机梯度下降法 4.过拟合和欠拟合 5.剪枝.批量标准化 6.二分类问题 应用.用TPU探测希格斯玻色子 正文 介绍 在前两节课中,我们学习了如 ...

  3. 深度学习基础之-2.2用梯度下降法求解w,b

    用梯度下降法求解w,b. 预设函数 Hypothesis Function z=wx+bz = wx+bz=wx+b 损失函数 Loss Function J(w,b)=12(z−y)2J(w,b) ...

  4. 深度学习入门之SGD随机梯度下降法

    SGD SGD为随机梯度下降法.用数学式可以将 SGD 写成如下的式(6.1). 这里把需要更新的权重参数记为W,把损失函数关于W的梯度记为 ∂L/∂W .ηηη 表示学习率,实际上会取 0.01 或 ...

  5. 梯度下降法和随机梯度下降法的区别

    这几天在看<统计学习方法>这本书,发现 梯度下降法 在 感知机 等机器学习算法中有很重要的应用,所以就特别查了些资料.  一.介绍 梯度下降法(gradient descent)是求解无约 ...

  6. 一篇详解带你再次重现《统计学习方法》——第二章、感知机模型

    个性签名:整个建筑最重要的是地基,地基不稳,地动山摇. 而学技术更要扎稳基础,关注我,带你稳扎每一板块邻域的基础. 博客主页:七归的博客 专栏:<统计学习方法>第二版--个人笔记 创作不易 ...

  7. 梯度下降法、随机梯度下降法、批量梯度下降法及牛顿法、拟牛顿法、共轭梯度法

    http://ihoge.cn/2018/GradientDescent.html http://ihoge.cn/2018/newton1.html 引言 李航老师在<统计学习方法>中将 ...

  8. 机器学习:随机梯度下降法

    1.梯度下降 1)什么是梯度下降? 因为梯度下降是一种思想,没有严格的定义,所以用一个比喻来解释什么是梯度下降. 简单来说,梯度下降就是从山顶找一条最短的路走到山脚最低的地方.但是因为选择方向的原因, ...

  9. 批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD)

    在机器学习中,对于很多监督学习模型,需要对原始的模型构建损失函数,接下来便是通过优化算法对损失函数进行优化,以便找到最优的参数. 梯度下降法作为机器学习中较常使用的优化算法,在其求解过程中,只需要求解 ...

最新文章

  1. python中matplotlib.pyplot的使用示例
  2. OpenCV进阶篇视频
  3. list-style-type:decimal在IE中显示全是1的解析
  4. Docker Centos 7.X部署Tomcat 并且修改Server.xml配置文件方案 并设置时区 只要十一步
  5. perl中q,qq,qw,qr的区别。
  6. 前端学习(526):等分布局
  7. 同步和异步概念(由DZW前端框架引发的百度地图api无法加载问题总结)
  8. dp之01背包hdu3466(带限制的,当你所拥有的钱数大于某个限定值时才可以购买该物品)...
  9. properties 配置回车_PTB220/330 | 长春气象仪器所自动站配置
  10. 赶在 2018 年前推荐 30 个最火爆的开源库
  11. Eclipse下创建Spring MVC web程序--非maven版
  12. 洛谷P1136 迎接仪式
  13. Windows Bat脚本实现定时重启应用程序
  14. access 的几种更新语句:update where 与 update join where
  15. Opencv 傅立叶变换 傅立叶逆变换
  16. C++基础知识(常函数和常对象)
  17. Quartz任务调度器详解
  18. unwallet白皮书解读
  19. 监控视频压缩1—INSTANCE SEGMENTATION BASED BACKGROUND REFERENCE FRAME GENERATIONFOR SURVEILLANCE VIDEO CODI
  20. VC 不愿承认的 4 个暗黑事实

热门文章

  1. 句柄与指针的区别(一)
  2. leetcode —— 48. 旋转图像
  3. RichEdit 各个版本介绍
  4. 数据可视化系列(二):艺术画笔见乾坤
  5. 开源软件软件著作权执照详细研究和实例分析
  6. 【书摘001】android 底层开发技术实战详解 - 基础 - 进程管理的一些常用命令
  7. 字符串不替代_【数据挖掘】MySQL中的字符串数据类型
  8. python 代码_如何让Python代码加速运行?
  9. java antd实现登录,AntDesign(React)学习-4 登录页面提交数据简单实现
  10. java返回类型自动_java-Apache Flink:由于类型擦除,无法自动确定函数的返回类型...