nndl 读书笔记 第3章 线性模型

github开源:https://nndl.github.io/
nndl作者:邱锡鹏
笔记作者:Isaac.(原创)

本书其他章节的笔记目录

线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。

分类问题中,由于输出目标 y 是一些离散的标签,而 f(x; w)的值域为实数,因此无法直接用 f(x; w)来进行预测,需要引入一个非线性的决策函数(Decision Function)g(·)来预测输出目标。

其中 f(x; w)也称为判别函数(Discriminant Function)

对于两类分类问题,比较典型的非线性决策函数g(·)可以是符号函数(Sign Function)

目录结构

3.1 线性判别函数和决策边界
3.1.1 两类分类
3.1.2 多类分类
3.2 Logistic回归
3.2.1 参数学习
3.3 Softmax回归
3.3.1 参数学习
3.4 感知器
3.4.1 参数学习
3.4.2 感知器的收敛性
3.4.3 参数平均感知器
3.4.4 扩展到多类分类
3.5 支持向量机
3.5.1 参数学习
3.5.2 核函数
3.5.3 软间隔
3.6 损失函数对比
3.7 总结和深入阅读

3.1 线性判别函数和决策边界

一个线性分类模型(Linear Classification Model)或线性分类器(Linear Classifier),是由一个(或多个)线性的判别函数 f(x; w) = wTx + b 和非线性的决策函数 g(·)组成。

3.1.1 两类分类

两类分类(Binary Classification)的类别标签 y 只有两种取值,通常可以设为 {+1, -1}。

在两个分类中,我们只需要一个线性判别函数 f(x; w) = wTx + b。特征空间Rd 中所有满足 f(x; w) = 0的点组成用一个分割超平面(Hyperplane),称为决策边界(Decision Boundary)决策平面(Decision Surface)。决策边界将特征空间一分为二,划分成两个区域,每个区域对应一个类别。

所谓“线性分类模型”就是指其决策边界是线性超平面

两类分类的决策边界示例

3.1.2 多类分类

多类分类(Multi-class Classification)问题是指分类的类别数 C 大于 2。多类分类一般需要多个线性判别函数。

  1. “一对其余”方式:把多类分类问题转换为 C 个“一对其余”的两类分类问题。这种方式共需要C 个判别函数,其中第c个判别函数fc 是将类c的样本和不属于类 c的样本分开。

  2. “一对一”方式:把多类分类问题转换为 C(C - 1)/2个“一对一”的两类分类问题。这种方式共需要 C(C - 1)/2个判别函数,其中第 (i, j)个判别函数是把类 i和类 j 的样本分开。

  3. “argmax”方式:这是一种改进的“一对其余”方式,共需要 C 个判别函数

如果存在类别c,对于所有的其他类别 ​ (​ ≠ c)都满足

那么 x 属于类别 c。即

“一对其余”方式和“一对一”方式都存在一个缺陷:特征空间中会存在一些难以确定类别的区域,而“argmax”方式很好地解决了这个问题。

三个多类分类方式

argmax()函数简单的说就是取最大值的自变量。

  • y = max f(t) 代表:y 是f(t)函式所有的值中最大的output。
  • y = argmax f(t) 代表:y 是f(t)函式中,会产生最大output的那个参数t。

3.2 Logistic回归

Logistic回归(Logistic Regression, LR)是一种常用的处理两类分类问题线性模型。

为了解决连续的线性函数不适合进行分类的问题,我们引入非线性函数 g :Rd → (0, 1)来预测类别标签的后验概率 p(y = 1|x)

其中g(·)通常称为激活函数(Activation Function),其作用是把线性函数的值域从实数区间“挤压”到了(0, 1)之间,可以用来表示概率。

在 Logistic回归中,我们使用 Logistic函数来作为激活函数。

3.2.1 参数学习

Logistic 回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化。

Logistic函数具有如下的特性:当x趋近于负无穷时,y趋近于0;当x趋近于正无穷时,y趋近于1;当x= 0时,y=0.5。Logistic函数是Sigmoid函数的一种。

理解 logistic 回归 写的很好

3.3 Softmax回归

Softmax 回归(Softmax Regression),也称为多项(multinomial)或多类(multi-class)的 Logistic回归,是 Logistic回归在多类分类问题上的推广。

对于多类问题,类别标签 y ∈ {1, 2, · · · , C}可以有 C 个取值。给定一个样本x,Softmax回归预测的属于类别 c的条件概率为:

当类别数 C = 2时,Softmax回归的决策函数就是Logistic函数。

3.3.1 参数学习

Softmax回归使用交叉熵损失函数来学习最优的参数矩阵 W。

小白都能看懂的softmax详解

3.4 感知器

感知器(Perceptron) 是一种广泛使用的线性分类器。感知器可谓是最简单的人工神经网络,只有一个神经元。

3.4.1 参数学习

给出了感知器参数学习的更新过程,其中红色实心点为正例,蓝色空心点为负例。黑色箭头表示权重向量,红色虚线箭头表示权重的更新方向。

感知器参数学习的更新过程

3.4.2 感知器的收敛性

虽然感知器在线性可分的数据上可以保证收敛,但其存在以下不足之处:

  1. 在数据集线性可分时,感知器虽然可以找到一个超平面把两类数据分开,但并不能保证能其泛化能力。

  2. 感知器对样本顺序比较敏感。每次迭代的顺序不一致时,找到的分割超平面也往往不一致。

  3. 如果训练集不是线性可分的,就永远不会收敛

3.4.3 参数平均感知器

感知器并不能保证找到的判别函数是最优的(比如泛化能力高),这样可能导致过拟合

感知器的学习到的权重向量和训练样本的顺序相关。在迭代次序上排在后面错误样本,比前面错误样本对最终的权重向量影响更大

比如有 1, 000个训练样本,在迭代 100 个样本后,感知器已经学习到一个很好的权重向量。在接下来的 899个样本上都预测正确,也没有更新权重向量。但是在最后第 1, 000个样本时预测错误,并更新了权重。这次更新可能反而使得权重向量变差。

为了改善这种情况,可以使用“参数平均”策略来提高感知器的鲁棒性,也叫投票感知器(Voted Perceptron)

投票感知器记录第 k 次更新后得到的权重 wk 在之后的训练过程中正确分类样本的次数 ck

投票感知器虽然提高了感知器的泛化能力,但是需要保存 K 个权重向量。在实际操作中会带来额外的开销。

因此,人们经常会使用一个简化的版本,也叫做平均感知器(Averaged Perceptron)

3.4.4 扩展到多类分类

略。

3.5 支持向量机

支持向量机(Support Vector Machine,SVM)是一个经典两类分类算法,其找到的分割超平面具有更好的鲁棒性,因此广泛使用在很多任务上,并表现出了很强优势。

给定一个两类分类器数据集 D = {(x(n) , y(n) )}N n=1 ,其中 yn ∈ {+1, -1},如果两类样本是线性可分的,即存在一个超平面

将两类样本分开,那么对于每个样本都有 y(n) ( wTx(n) + b ) > 0。

数据集 D 中每个样本 x(n) 到分割超平面的距离为:

我们定义整个数据集 D 中所有样本到分割超平面的最短距离为间隔(Margin),用 γ 来表示。

如果间隔 γ 越大,其分割超平面对两个数据集的划分越稳定,不容易受噪声等因素影响。支持向量机的目标是寻找一个超平面 (w, b)使得 γ 最大

数据集中所有满足 y(n) ( wTx(n) + b ) = 1 的样本点,都称为支持向量(Support Vector)

对于一个线性可分的数据集,其分割超平面有很多个,但是间隔最大的超平面是唯一的

支持向量机示例

3.5.1 参数学习

支持向量机的目标函数可以通过 SMO等优化方法得到全局最优解,因此比其它分类器的学习效率更高。

此外,支持向量机的决策函数只依赖于支持向量,与训练样本总数无关,分类速度比较快。

3.5.2 核函数

支持向量机还有一个重要的优点是可以使用核函数(Kernel Function)隐式地将样本从原始特征空间映射到更高维的空间,并解决原始特征空间中的线性不可分问题

3.5.3 软间隔

在支持向量机的优化问题中,约束条件比较严格。如果训练集中的样本在特征空间中不是线性可分的,就无法找到最优解。

为了能够容忍部分不满足约束的样本,我们可以引入松弛变量 ξ,引入松弛变量的间隔称为软间隔(Soft Margin)

支持向量机很重要,这里写的还是不够详细,这里面有几篇其他人写的文章巩固一下知识点

SVM支持向量机入门及数学原理

支持向量机(SVM)从入门到放弃再到掌握

通俗易懂的支持向量机SVM

3.6 损失函数对比

除了平方损失,Logistic回归损失函数、感知器的损失函数 、软间隔支持向量机的损失函数 都比较适合于两类分类问题 。

3.7 总结和深入阅读

几种不同的线性模型对比

本书其他章节的笔记目录

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