《统计学习方法》阅读笔记及代码实现-Ch2

0. 前言

寒假参加夏令营的时候,老师就说过深度学习其实最开始的原型就是感知机,不过是多加了一些层而已。虽然不知道多加了几层为什么work,但是它的效果就是比传统的可证明的方法来的好,这也掀起了如今的AI狂潮 + 深度学习遍地走,你如果不会点机器学习算法,估计是招不到研究生的(玩笑话..并且机器学习也只是一种工具而已,没有那么玄乎其神)。一定要好好的钻研最经典的算法,从中汲取到养分,才能拥有核心的竞争力。在知乎上看到有关AI热的讨论,我也想说说我的理解:AI现在逐渐沦陷为一种劳动密集型产业,大部分的”调参专家“处于最底层,他们不清楚这样调参为什么work,为什么improve,但是他们总是能在结果看起来更好的时候编造一个像样的理由(私以为神经网络,深度学习等等的取名也是这样,以脑神经网络的来强行解释这个模型)。随着时代的发展,他们也是并不可少的一类人群,AI会不会凉我不知道,但是历史的浪潮会把有真才实学的人群推到最耀眼的地方,以上。之前和天凡聊天他也说过在焦虑夏令营和老师套磁的事情,做CV还是NLP,过了几天(据说是经过赵神和想神的洗脑),他近乎是用吼出来的对我说了句:"AI已死,系统当立",今天和赵神聊了聊他也说分布式好,哎我现在倒是想的很简单,经过了数学建模的洗礼,我总觉得数据科学是一类非常实用的学科,掌握数据挖掘的一些工具总是没错的,我也不确定自己做不做学术已经能不能做学术,但是踏踏实实地推些公式,学点技能点总是没错的,最近的事情还是很烦心,俱乐部招新的宣传工作又得我来操办了,该死,又给自己揽了不少锅,又有预备党员需要写的学习心得,还有周末的一个去玩的小比赛,今天上嵌入式的课也是完全一头雾水,下来得补补课,学术图谱的代码还没调通,老师想要的demo我可能还做不出来...每天还困得不行,晚上还上闲鱼淘点生产力工具(主机键盘surface),大学生活真是充实的不行了!冲冲冲,大一大二年轻的时候不懂事,现在不能再这样搞下去喽

之前看到一篇推送采访了一些大牛问他们觉得最优雅的算法是什么,感知机算法和逻辑回归算法被大牛们颇为推崇,那么巧妙的收敛,那么优美的证明让我也对他有了一些好奇,读完第二章,还是有些收获的,将笔记记录在此

附上传送门:Quora上的大牛们最喜欢哪种机器学习算法?

1. 第二章 感知机

1.1 感知机模型

感知机(perceptron)是二类分类的“线性分类模型”,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值.感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型.感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化求得感知机模型感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式感知机预测是用学习得到的感知机模型对新的输入实例进行分类

Name Function
输入空间 X
输出空间 Y = {-1,+1}
输入空间到输出空间的函数 f(x) = sign(w*x + b)

w和b都称为感知机模型参数,w叫做权值(weight),b叫做偏置(bias),w * x表示w和x的内积,sign是符号函数


image

感知机的几何解释:线性方程 w*x + b = 0对应于特征空间的一个超平面S,其中w是超平面的法向量,b是超平面的
截距.这个超平面将特征空间划分为两个部分.位于两部分的点(特征向量)分别被分为正、负两类.因此,超平面S称为分离超平面(separating hyperp1ane)

image

1.2 感知机学习策略

1.2.1 数据集的线性可分性: 给出了数据集线性可分的定义

image

1.2.2 感知机的学习策略

假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集的正实例点和负实例点完全正确分开的分离超平面.为了找出这样的超平面,即确定感知机模型参数w,b,需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化.

损失函数的一个自然选择是误分类点的总数.但是,这样的损失函数不是参数w,b的连续可导函数(不可导就不可应用梯度下降算法),不易优化.损失函数的另一个选择是误分类点到超平面S的总距离,这是感知机所采用的.为此,首先写出输入空间中任一点x0到超平面S的距离

image

显然,损失函数L(w,b)是非负的.如果没有误分类点,损失函数值是0.而且,误分类点越少,误分类点离超平面越近,损失函数值就越小.一个特定的样本点的损失函数:在误分类时是参数w,b的线性函数,在正确分类时是0.因此,给定训练数据集T,损失函数L(w,b)是w,b的连续可导函数.

感知机学习的策略是在假设空间中选取使损失函数式(2.4)最小的模型参数 w, b,即感知机模型.即找到Min(L(w,b))

1.2.3 感知机学习算法

感知机学习问题转化为求解损失函数式的最优化问题,最优化的方法是随机梯度下降法

1.2.3.1 感知机学习算法的原始形式
image

image

之后还有算法收敛性的证明,定理2.1(Novikoff定理)--证明略

(1)存在满足条件的超平面将训练数据集完全分开
(2)能够得到误分类次数k的上限(应该是在随机梯度下降的前提下的误分类次数)

这个定理表明了”经过有限次搜索就可以找到将训练数据完全正确分开的分离超平面“,也就是说,当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的。

1.2.3.2 感知机学习算法的对偶形式

之后再来填坑

2. 注解:

(1)详解梯度下降法的三种形式BGD、SGD以及MBGD

来源:https://zhuanlan.zhihu.com/p/25765735

image
1. 批量梯度下降法BGD(Batch Gradient descent)

我们的目的是要误差函数尽可能的小,即求解weights使误差函数尽可能小。首先,我们随机初始化weigths,然后不断反复的更新weights使得误差函数减小,直到满足要求时停止。这里更新算法我们选择梯度下降算法,利用初始化的weights并且反复更新weights:


image

这里\alpha 代表学习率,表示每次向着J最陡峭的方向迈步的大小。为了更新weights,我们需要求出函数J的偏导数。首先当我们只有一个数据点(x,y)的时候,J的偏导数是:


image

image

由上图更新公式我们就可以看到,我们每一次的参数更新都用到了所有的训练数据(比如有m个,就用到了m个),如果训练数据非常多的话,是非常耗时的。


image

由上图更新公式我们就可以看到,我们每一次的参数更新都用到了所有的训练数据(比如有m个,就用到了m个),如果训练数据非常多的话,是非常耗时的。

2. 随机梯度下降法SGD(Stochastic Gradient Descent)
image

随机梯度下降是通过每个样本来迭代更新一次,对比上面的批量梯度下降,迭代一次需要用到所有训练样本(往往如今真实问题训练数据都是非常巨大),一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次。但是,SGD伴随的一个问题是噪音较BGD要多,使得SGD并不是每次迭代都向着整体最优化方向。
 


image

SGDd迭代的次数较多,在解空间额搜索过程看起来很盲目,但是大体上是沿着最优值方向移动

3. min-batch 小批量梯度下降法MBGD(Min-Batch Gradient Descent)

是上面两种方法的一种折衷,算法训练过程比较快,而且也要保证最终参数训练的准确率。


image

(2) L0,L1,L2范数

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容

  • 【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...
    sealaes阅读 11,072评论 0 7
  • 本文总结了《统计学习方法》(李航)中的一些机器学习方法,组织目录如下: 【第1章】 统计学习方法概论【第2章】 感...
    牛奶芝麻阅读 4,423评论 0 13
  • 以西瓜书为主线,以其他书籍作为参考进行补充,例如《统计学习方法》,《PRML》等 第一章 绪论 1.2 基本术语 ...
    danielAck阅读 4,515评论 0 6
  • 【概述】 1、感知机模型特征:感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型。 2、感知机策...
    sealaes阅读 3,115评论 2 3
  • 第二个Topic讲深度学习,承接前面的《浅谈机器学习基础》。 深度学习简介 前面也提到过,机器学习的本质就是寻找最...
    我偏笑_NSNirvana阅读 15,604评论 7 49