这一章就讲了感知机。我觉得是深受工业革命的影响,把一些可以实现功能的基本单元都喜欢叫做什么机,这里的感知机,还有后来的以感知机为基础的支持向量机。直接看定义,看本质,实际上,感知机是一种线性分类模型。下面就以这句话为中心仔细阐述一下。

什么叫线性。

线性liner,正如其名,两个变量的关系的函数是一条直线,那它们就是线性关系,扩展到三维,一个平面依然是一次方程,所以平面也行线性的。线性有两个性质:可加性f(x+y)=f(x)+f(y);齐次性f(ax)=af(x).这两个性质的好处就是可以化整为零,各个击破;可以以小见大。通信中的放大器就很怕出现非线性失真,通信中研究的系统也多是线性时不变系统。事实上,自然界中的信号几乎都是连续的,问题也多是非线性的,只是我们在解决问题的时候都转换为简单问题。线性划分,简单来说就是通过直线或者超平面将数据进行划分。典型的线性分类器有感知机,LDA,逻辑斯特回归,SVM(线性核);

典型的非线性分类器有朴素贝叶斯(有文章说这个本质是线性的,http://dataunion.org/12344.html),kNN,决策树,SVM(非线性核)

什么叫分类。

之前博客中提到,机器学习的任务就是预测和分析数据,而当输出变量为有限离散变量时就是一种特殊的问题,我们预测数据属于哪一类,这就是分类问题。分类问题又可分为二分类问题和多分类问题。感知机是一种二分类的分类器。

什么叫模型。

既然知道了新数据的分类情况只能是二选一,那么我们就要定义分类的条件就是模型。而根据分类器对数据进行硬判决还是软判决,可以分为感知器模型和逻辑回归模型。前者对数据一刀切,非黑即白,具体用符号函数sign()实现,属于判别模型。后者将分类问题看作概率问题,像天气预报一样,多大的概率会下雨,多大的机会不下雨。

三要素

感知机算是一种简单的机器学习,机器学习三要素:模型、策略、算法。所以我们再看一下感知机的策略。很自然地,对平面上的两类点,首先我们当然希望能有一个直线将他们完全正确地隔在直线的两边。可以达到这个目的的直线有很多,我们当然希望从中挑选一个最好的。我们选择误分类点到平面S的总距离作为损失函数(连续可导),目标是将损失函数最小化。具体确定超平面还需要具体的算法,我们选择随机梯度下降法SGD(Stochastic Gradient Descent)。随机的意思是在误分类点中随机选择一个点,然后计算它的损失函数的梯度,梯度是下降最快的方向,在这个方向上迭代可以尽快找到使损失函数最小的点。决定了方向,还涉及到每次更新的幅度,这就是步长,也叫学习率(learning rate),lr太大的话容易越过最优点,太小又会导致收敛太慢。

感知机学习的算法又分为原始形式和对偶形式。在对偶形式中,把原来函数sign(wx+b)中的w和b看作是实例x和标记y的线性组合。实质与原始形式一样,只不过因为函数形式变为线性组合,在判断是否是误分类点时可以使用内积,即Gram矩阵。在上一篇博客的python代码中也出现了这个矩阵,用于计算feature map的内积。

最后需要说明的是,可以证明算法是收敛的,但是最后的结果却依赖于误分类点的选择顺序。为了得到唯一的超平面,需要我们对分离超平面增加约束条件,这也就是线性支持向量机SVM的由来。SVM也有对偶性,是面试官喜闻乐见的问题。这里先简单说两句SVM。支持向量机有两个特点,一是支持向量,一个是核函数。支持向量指只有超平面附近的点对结果影响大。核函数的引入使得SVM可以解决低维空间的线性不可分的问题,学习非线性支持向量机,其实是在高维空间隐式地学习线性支持向量机。

在习题部分,Minsky和Papert指出,感知机等线性模型不能表示复杂函数如异或XOR。其实就是要说明异或不是线性可分的。

Reference:

1.      https://zhuanlan.zhihu.com/p/30596284

2.      https://zhuanlan.zhihu.com/p/21301974

3.  https://blog.csdn.net/u014755493/article/details/70182532

4.  https://blog.csdn.net/yangfeisc/article/details/45486067

李航《统计学习方法》---感知机相关推荐

  1. 李航统计学习方法----感知机章节学习笔记以及python代码

    目录 1 感知机模型 2 感知机学习策略 2.1 数据集的线性可分性 2.2 感知机学习策略 3 感知机学习算法 3.1 感知机学习算法的原始形式 3.2 感知机算法的对偶形式 4 感知机算法pyth ...

  2. 【李航统计学习方法】感知机模型

    目录 一.感知机模型 二.感知机的学习策略 三.感知机学习算法 感知机算法的原始形式 感知机模型的对偶形式 参考文献 本章节根据统计学习方法,分为模型.策略.算法三个方面来介绍感知机模型. 首先介绍感 ...

  3. 李航统计方法——感知机

    李航统计学习方法--感知机 文章目录 李航统计学习方法--感知机 1.数据集的线性可分性 2.感知机学习策略 3.感知机学习算法 3.1感知机学习算法原始形式 3.2感知机学习算法的对偶形式 1.数据 ...

  4. 统计学习方法 pdf_李航统计学习方法(第三章)

    第3章 k 近邻法 k 近邻法(k-NN)是一种基于实例的学习方法,无法转化为对参数空间的搜索问题(参数最优化问题).它的特点是对特征空间进行搜索.除了k近邻法,本章还对以下几个问题进行较深入的讨论: ...

  5. 统计学习方法|感知机原理剖析及实现

    欢迎直接到我的博客查看最近文章:www.pkudodo.com.更新会比较快,评论回复我也能比较快看见,排版也会更好一点. 原始blog链接: http://www.pkudodo.com/2018/ ...

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

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

  7. 李航统计学习感知机算法实现

    前言 李航的<统计学习方法>和西瓜书是入门机器学习进而到深度学习的经典书籍,笔者是数学专业大二在读,在编程方面仍有许多不足之处,在已经看完相关经典书籍后开始编程实践.因为本人愚钝,且不善编 ...

  8. 统计学习方法感知机(附简单模型代码)

    1. 感知机模型 输入为实例的特征向量, 输出为实例的类别, 取+1和-1:感知机对应于输入空间中将实例划分为正负两类的分离超平面, 属于判别模型:导入基于误分类的损失函数:利用梯度下降法对损失函数进 ...

  9. 统计学习方法——感知机

    1. 感知机原理 感知机是一个二类分类模型,输入为实例的特征向量,输出为实例的类别,取值为+1和-1. 定义1-1:数据的线性可分性 假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练数 ...

  10. 李航-统计学习方法-笔记-1:概论

    写在前面 本系列笔记主要记录<统计学习方法>中7种常用的机器学习分类算法,包括感知机,KNN,朴素贝叶斯,决策树,逻辑斯谛回归与最大熵模型,SVM,boosting. 课本还涉及到3种算法 ...

最新文章

  1. stm32 常见错误及原因【持续更新】
  2. 民生银行 IT运维故障管理 可视化案例
  3. 学完html4需要学什么,学完了html4,再学习html5需要重点学习什么??
  4. TensorFlow模型转换h5转pb
  5. 2007年10月小记
  6. 自然语言理解——introduction
  7. 计算机应用技术专业全国排名,计算机应用技术专业全国排名
  8. mysqldump文件中有SET @@SESSION.SQL_LOG_BIN= 0;解决方法
  9. linux挂载iso镜像进系统,linux可以加载iso镜像文件到启动项吗
  10. ios 返回指定导航控制器
  11. go test遇到的一些问题-command-line-arguments undefined: xxxxx
  12. [转载] su和sudo
  13. 国内使用bing国际版(非国内国际切换版本)
  14. spark streaming读取kafka数据,记录offset
  15. 北京林业大学计算机考研录取分数线,北京林业大学信息学院计算机技术(专业学位)专业考研招生人数 考研报录比 考研复试分数线 考研辅导.pdf...
  16. 对于Ubuntu16.04中jstest-gtk不能正常识别Logitech G920 racing wheel的问题补充
  17. 2023临沂大学计算机考研信息汇总
  18. 职称计算机考试 ps太难,2012年职称计算机考试photoshop常用技巧(3)
  19. 计算机取证科普性基础
  20. 2020 豆瓣API使用(代理方法) 解决无key方法 code 104解决方法

热门文章

  1. 2021届秋招算法岗真的要灰飞烟灭了吗?
  2. 2016,你最不应该错过的热门技术文章
  3. 论文浅尝 | 知识图谱问答中的层次类型约束主题实体识别
  4. 工程实践:基于规则模式的军事和医药领域知识图谱问答快速实现
  5. Cognitive Inference:认知推理下的常识知识库资源、常识推理测试评估与中文实践项目索引
  6. 【Java】如何理解Java中的双列集合Map?
  7. 【实体对齐·HGCN】Jointly Learning Entity and Relation Representations for Entity Alignment
  8. oracle函数 INITCAP(c1)
  9. -bash: id: command not found -bash: tty: command not found
  10. CONTINUE...? ZOJ - 4033