统计学习方法 李航 读书笔记

************************************************************

李航教授《统计学习方法》

统计学教材总结 主要介绍监督学习方法

************************************************************

李航教授《统计学习方法》

第一章 概论

1.3 统计学习三要素

模型,策略,算法

1.3.1 模型 

模型就是要学习的条件概率分布或者决策函数。

假设空间是决策函数的集合。

扫描二维码关注公众号,回复: 4216928 查看本文章

1.3.2 策略 

策略就是按照什么准则选择最优的模型。

损失函数loss function或者代价函数cost function 度量模型预测的好坏。

损失函数越小,模型越好。

风险函数度量平均意义下模型预测的好坏。

风险函数或者期望损失就是损失函数的期望(模型关于联合分布的平均意义下的损失)

学习器的目标就是选择期望风险最小的模型,数据集特别大的时候期望风险等价于经验风险。所以转化为了经验风险最小化

经验风险:平均损失(损失函数关于训练数据集的平均值)

常用的损失函数有:

0-1损失函数

平方损失函数:真实值和预测值差的平方

绝对损失函数:差的绝对值

对数损失函数或者对数似然损失函数,对条件概率求对数

经验风险最小的模型就是最优的模型。(条件是样本足够大)

结构风险为了防止数据集过小导致的过拟合

结构风险最小化等价于正则化。

正则化就是在经验风险后面添加一个惩罚项或者叫做正则化项。

经验风险最小化等价于极大似然估计

结构风险最小化等价于最大后验概率

总结:监督学习问题转化为了经验风险或者结构风险最小化问题。

1.3.3 算法 

算法是指学习模型的具体计算方法。从假设空间中选择最优模型。用某种最优计算方法求解最优模型。

1.4 模型评估和选择 

1.4.1 训练误差和测试误差

学习器对未知数据的预测能力称为泛化能力

1.4.2 过拟合和模型选择 

训练数据表现好,测试数据表现差的叫做过拟合。由于选择模型包含参数过多,模型太复杂。

解决过拟合的方法:正则化和交叉验证,dropout

1.5 正则化和交叉验证

模型越复杂,正则化项越大。

1.6 泛化能力 

泛化误差反应了学习方法的泛化能力

1.7 生成模型和判别模型 

判别方法:由数据直接学习决策函数 Y = f(X),或者由条件分布概率 P(Y|X)作为预测模型,即判别

模型。(直接学习条件概率)

生成方法:由数据学习联合概率密度分布函数 P(X,Y),《《《然后》》》求出条件概率分布 P(Y|X)作为预测的模型,

即生成模型。(由联合概率生成条件概率)

由生成模型可以得到判别模型,但由判别模型得不到生成模型。

常见的判别模型有:K 近邻、SVM、决策树、感知机、线性判别分析(LDA)、线性回归、传统的神经网

络、逻辑斯蒂回归、boosting、条件随机场

常见的生成模型有:朴素贝叶斯、隐马尔可夫模型、高斯混合模型、文档主题生成模型(LDA)、限制玻

尔兹曼机。

1.8 分类问题

精确率和召回率 判断分类效果的标准。

精确率:P= TP/TP+FP 机器学习西瓜书里,也叫查准率

召回率:R= TP/TP+FN 也叫查全率

F1值:精确率和召回率的调和均值。

1.9 标注问题 

输入观测序列,输出标记序列或者状态序列

标注系统按照学习得到的条件概率分布模型,对新的输入观测序列找到相应的输出标记序列。

常用的统计学习方法有:隐马尔科夫模型,条件随机场。

1.10 回归问题 

回归问题等价于函数拟合

按照输入变量个数分为:一元回归和多元回归。

按照输入输出关系(模型类型)分为线性回归和非线性回归

回归学习最常用的损失函数是平方损失函数,用著名的最小二乘法求解。

李航教授《统计学习方法》

第二章 感知机  二分类 

二分类的线性分类模型,也是判别模型。

目的是求出把训练数据进行线性划分的分离超平面。

感知机是神经网络和支持向量机的基础。

学习策略:极小化损失函数。损失函数对应于误分类点到分离超平面的总距离。

基于随机梯度下降法对损失函数的最优化算法,有原始形式和对偶形式。

2.1 感知机模型 

函数模型,权重w,bias偏置,

几何模型:分离超平面,超平面法向量w,截距b

2.2.1 数据集线性可分

存在超平面正确划分正负类

2.2.2 感知机学习策略

定义一个损失函数并且损失函数最小化

损失函数选择为:误分类点到超平面的总距离。

2.3 感知机学习算法

损失函数最优化的方法是梯度下降法。stochastic gradient descent :SGD

感知机学习算法是基于随机梯度下降法对损失函数最小化的算法。

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

梯度下降:

步长也叫学习率通过迭代让损失函数不断减小直到0。

首先选取任意一个超平面,用SGD不断优化目标函数,在这个过程中一次选取一个随机点让其梯度下降。

2.3.2 算法收敛性 ,收敛就是无限靠近的意思。

当训练数据集线性可分时候,感知机学习算法原始形式迭代是收敛的。算法是有多个解的。

2.3.3 对偶形式 

第三章 K近邻法 K-nearest neighbor, K-NN 多分类和回归 

是一种分类和回归方法,有监督学习。在训练数据集中找到和新的输入实例最接近的K个实例,这k个实例的多数类别就是这个新实例的类别。

三要素:K值得选择,距离度量,分类决策规则。

实现方法:kd树(二叉树)快速搜索K个最近邻的点。

K值选择:反映了对近似误差和估计误差的权衡。交叉验证选择最优的K值,K小,模型复杂,K大,模型简答。

3.1 k 近邻算法 

在训练数据集中找到和新的输入实例最接近的K个实例,这k个实例的多数类别就是这个新实例的类别。

3.2 k近邻模型 

三个基本要素:k值得选择,距离度量,分类决策规则。

3.2.1 模型 

三要素把特征空间划分为子空间,

3.2.2 距离度量 

两点距离是两点相似程度的反应。n维实数向量,使用欧氏距离。或者Lp距离,p=2时候就是欧氏距离,p=1就是曼哈顿距离。p等于无穷大就是坐标距离的最大值,

3.2.3 k值选择 

K值小,邻域小,训练数据少,模型复杂,容易过拟合,

k值大,相反结果。

在应用中,k取较小的值,交叉验证选择最优的K值

3.2.4 分类决策规则 

多数表决规则。

3.3 K近邻法的实现:kd树

对训练数据进行快速搜索:线性扫描:计算输入实例和每个训练实例的距离,数据大不现实。

所以想到了kd树

3.3.1 构造kd树

kd树是二叉树,

第四章 朴素贝叶斯法 二分类,多分类 用于NLP,有监督

贝叶斯公式:P(Y|X) = P(X|Y)P(Y)/P(X)

P(Y)先验概率(全概率),后验概率(条件概率):P(Y|X),联合概率P(Y,X),

朴素贝叶斯法是基于贝叶斯定理和特征条件独立假设的分类方法。首先学习输入输出的联合概率分布,然后基于此模型,对给定的输入x,

利用贝叶斯定理求出后验概率最大的输出y。

后验概率最大等价于0-1损失函数的期望风险最小化。

是典型的生成学习方法,由训练数据求出联合概率分布,再求出条件概率分布(后验概率)。

概率估计方法是:极大似然估计或者贝叶斯估计。

基本假设是条件独立性

4.1 学习与分类

分类时候,对给定的输入x,通过学习到的模型计算后验概率最大的类,然后把此类作为x的类输出。后验概率计算根据贝叶斯定理求出。

4.1.2 后验概率最大化的含义 

朴素贝叶斯法把实例分到后验概率最大的类中等价于期望风险最小化。,采用0-1损失函数

4.2 参数估计

4.2.1 极大似然估计 

4.2.2 学习与分类算法 

4.2.3 贝叶斯估计 

第五章 决策树 decision tree  多分类,回归 

是一种分类和回归算法。包括三个步骤:特征选择,决策树生成和决策树的修剪,常用算法:ID3,C4.5,CART

5.1 决策树模型

决策树由结点node和有向边directed edge组成

P57决策树的损失函数是正则化的极大似然函数,策略:以损失函数为目标函数的最小化。

5.2 信息增益 

5.2.1

特征选择的准则是信息增益或者信息增益比。特征选择是决定用哪个特征来划分特征空间。

5.2.2 

熵表示随机变量不确定性的度量。所以熵越大,不确定性越大

信息增益:经验熵-条件熵

决策树应用信息增益准则选择特征,信息增益越大,分类效果越好。

5.2.3 信息增益比

信息增益除以熵

5.3 决策树生成

常用生成树算法:

ID3:用信息增益作为准则选择特征,增益越大越好

C4.5用信息增益比来选择特征,越大越好 

5.4 决策树的剪枝 

决策树容易产生过拟合现象,原因是学习过程考虑太多如何提高训练数据的正确分类,导致决策树太复杂。解决办法就是降低决策树的复杂度,对决策树进行简化,称作剪枝pruning。

通过极小化损失函数loss function或者代价函数cost function来实现。

5.5 CART算法 classification and regression tree 

用于分类和回归,包含决策树生成和剪枝两步。 

5.5.1 决策树生成 

生成就是递归的构建二叉决策树,回归树用最小二乘回归树(平方误差)最小化准则,对分类树用基尼指数最小化准则。

5.5.2 CART 剪枝

第六章: 逻辑斯地回归和最大熵模型 多分类 

https://blog.csdn.net/han_xiaoyang/article/details/49123419

它的核心思想是,如果线性回归的结果输出是一个连续值,而值的范围是无法限定的,那我们有没有办法把这个结果值映射为可以帮助我们判断的结果呢。

而如果输出结果是 (0,1) 的一个概率值,这个问题就很清楚了。我们在数学上找了一圈,还真就找着这样一个简单的函数了,就是很神奇的sigmoid函数(如下):

逻辑回归用于二分类和多分类

逻辑斯地分布是S型曲线

最大熵模型:熵最大的模型是最好的模型。

X服从均匀分布时候,熵最大

最大熵模型的学习等价于约束最优化问题。

对偶函数的极大化等价于最大熵模型的极大似然估计。

模型学习的最优化算法有:改进的迭代尺度法IIS,梯度下降法,牛顿法,或者拟牛顿法

第七章:支持向量机 二分类 

https://blog.csdn.net/github_38325884/article/details/74418365

https://blog.csdn.net/macyang/article/details/38782399

https://blog.csdn.net/passball/article/details/7661887

核心思路是通过构造分割面将数据进行分离。

支持向量:距离分离平面最近的点。

线性可分支持向量机利用间隔最大化求最优分离超平面。

给定线性可分训练数据集,通过间隔最大化得到的分割超平面为

函数间隔表示分类预测的正确性和确信度

几何间隔是样本点到超平面的距离最近的点

过渡带:支持向量到超平面的距离空间

SVM期望过渡带尽可能大,因此最终参数W与b的选择可以表示为:

硬间隔最大化:所有点都被正确分类,线性支持向量机

软间隔最大化:大部分点被正确分类,少部分无法被正确分类的点也不影响整体分类。带有特异点的线性支持向量机

对于前两种SVM,对其加入一个核函数kernel function就可以构造出非线性SVM。

非线性支持向量机和核函数

支持向量怎么选择?以线性可分SVM为例,我们将W认为是若干样本线性组合得到的,第1个样本为X1,第i 个为Xi。对于每个X,给予其系数ALPHA。此时存在:

选取部分ALPHA,使它们的值不为0,其余ALPHA值都设为0。则对W真正起作用的就是ALPHA值不为0的这些X向量。这些向量,支持了法线向量,因此就是支持向量。

SVM的损失,通常被定义为没有被正确分在过渡带外面的向量,到过渡带边界的距离。位于过渡带内的样本,损失为1-d。d是该样本到分割面的距离。

注意,如果是在“本方”过渡带,则d为正值。如果已经越过分割面了,则d值变为负值。这个损失也被称为Hinge损失。因此Loss function可以被写成:

松弛因子

对于线性SVM而言,因为不要求所有样本都被分对,因此其约束条件和线性可分SVM并不相同。给出一个大于等于0的松弛因子XI,使函数间隔加上松弛因子后大于等于1,

Kernel

Kernel可以说是SVM的精髓所在,其目的在于,通过将原始输入空间映射到更高维度的特征空间这一操作,原本线性不可分的样本可以在新的核空间内变为线性可分。常见的kernel有:

核函数:把原始样本空间映射到高维,然后才能顺利把样本分开,也就是把非线性学习扩展为线性学习。各种核函数统称核方法。

多项式核函数讲起,最基本的,c等于0,d等于2的情况下,kernel使原有的两个变量两两相乘。这相当于将维度数量平方了。规模上,特征数目变为平方级,而计算复杂度并没有显著上升。

RBF则是固定每一个Xi,对于变化的Xj,以Xi为中心做指数级衰减。相当于是以Xi为中心,做高斯分布。因此被称作高斯核函数。对于每个样本的label而言,正例被kernel向上拉升,负例向下延伸。从而使数据分离

高斯核函数,线性核函数,多项式核函数。

第八章 提升方法boosting 二分类 集成

https://blog.csdn.net/a1b2c3d4123456/article/details/51834272

https://blog.csdn.net/qq_32690999/article/details/78759463

https://blog.csdn.net/google19890102/article/details/46507387

分类问题中,改变训练样本权重,学习多个分类器,然后把多个分类器进行线性组合,提高分类性能。

集成学习在机器学习算法中具有较高的准去率,不足之处就是模型的训练过程可能比较复杂,效率不是很高。

目前接触较多的集成学习主要有2种:基于Boosting的和基于Bagging,前者的代表算法有Adaboost、GBDT、XGBOOST、后者的代表算法主要是随机森林。

8.1 提升方法Adaboost算法

思路,把多个专家判断综合得到的结果比单独专家判断好,也就是三个臭皮匠赛过诸葛亮的原理。

粗糙分类规则得到弱分类器,想办法把弱分类器变成强分类器。

改变训练数据的权值或者概率分布的方法:提高被前一轮弱分类器错误分类样本的权值降低被正确分类样本权值。

弱分类器组合成强分类器的方法:采取加权多数表决法:加大分类误差率小的弱分类器的权值,减小误差率大的权值。

8.4.3 梯度提升

第九章 EM算法及其推广 概率模型参数估计 

EM算法用于含有隐变量的概率模型参数的极大似然估计的迭代算法。

分两步:E步,求期望Expectation,M步,求极大Maximization

第十章 隐马尔科夫模型 hidden Markov model,HMM 标注问题  生成模型 NLP 

是用于标注问题的统计学模型,描述由隐藏的马尔科夫链随机生成观测序列的过程,属于生成模型。表示状态序列和观测序列的联合分布,状态序列是隐藏的。

标注问题是给定观测序列预测对应的标记序列。

概率计算:计算在模型下观测序列出现的概率。前向,后向算法是通过递推的计算前后向概率可以高效进行隐马尔科夫模型的概率计算。

学习问题:在模型下让观测序列概率最大,用极大似然估计法估计参数。极大后验概率估计。具体算法有:概率计算公式和EM算法。

预测问题:维特比算法应用动态规划高效的求解最优路径,即概率最大的状态序列。

10.1 基本概念

10.1.1 定义 

时序概率模型,描述由一个隐藏的马尔科夫链生成不可观测的状态随机序列,每一个状态序列生成一个观测而由此产生观测随机序列。

状态序列,观测序列。

3要素组成:初始概率分布,状态转移概率分布,观测概率分布。

用于标注:给定观测的序列,预测对应的标记序列。

10.1.2 观测序列的生成过程

10.1.3 3个基本问题

概率计算:

学习问题

预测问题

10.2 概率计算算法 

10.2.1 直接计算算法:概念可行,计算不可行

10.2.2 前向概率算法 

10.2.4 一些概率和期望的计算

10.3 学习算法 

10.3.1 监督学习算法 

转移概率的估计

观测概率的估计 

初始状态概率的估计

10.3.2 Baum-Welch 算法 

目标是学习隐马尔科夫模型的参数,可观测序列可见,状态序列隐藏,

EM算法可以求参数。

10.3.3 Baum-Welch模型参数估计公式 

10.4 预测算法 

10.4.1 近似算法 

在每个时刻选择最有可能出现的状态,从而得到状态序列,将它作为预测结果。

10.4.2 维特比算法Viterbi algorithm

用动态规划求概率最大路径,一条路径对应着一个状态序列。

第十一章 条件随机场 CRF 标注问题 判别模型 NLP 

给定随机变量X条件下,随机变量Y的马尔科夫随机场。线性链条件随机场可以用于标注问题。学习时候利用训练数据集通过(正则化的)极大似然估计得到条件概率模型。

预测时候利用给定的输入序列求出条件概率最大的输出序列。条件概率分布就是条件随机场

conditional random field CRF是给定输入随机变量X条件下,输出随机变量Y的条件概率分布模型,其形式为参数化的对数线性模型。

最大特点是假设输出变量之间的联合概率分布构成概率无向图模型(马尔科夫随机场),属于判别模型。

线性链条件随机场表示为在观测序列条件下的标记序列的条件概率分布。由参数化的对数线性模型表示。

概率计算采用前后向算法

学习方法:(正则化的)极大似然估计法:即在给定训练数据下,通过极大化训练数据的对数似然函数来估计模型参数。

具体的算法有:迭代尺度算法,梯度下降法,拟牛顿法。

应用:标注。维特比法:给定观测序列,求条件概率最大的标记序列的方法。

11.1 概率无向图模型

又称为马尔科夫随机场,是一个可以由无向图表示的联合概率分布,

11.1.1 模型定义

图graph是由结点node和边edge组成的集合。记做G=(V,E)。无向图是指边没有方向的图。是 由图表示的概率分布。

如果联合概率分布满足成对,局部,全局马尔科夫性,就称呼此联合概率分布为概率无向图模型或者马尔科夫随机场。

11.1.2 概率无向图模型的因子分解

联合概率写成若干子联合概率的乘积形式。(最大团上的随机变量的函数的乘积形式的操作)

团clique:任意两个结点都有边连接的子集

最大团:无法添加多余结点成为更大的团

规范化因子

势函数

11.2 条件随机场的定义和形式

11.2.1 定义 :条件概率分布就是条件随机场

给定随机变量X条件下,随机变量Y的马尔科夫随机场。

线性链条件随机场可以用于标注问题。

学习时候利用训练数据集通过(正则化的)极大似然估计得到条件概率模型。

预测时候利用给定的输入序列求出条件概率最大的输出序列。

条件概率分布就是条件随机场

11.2.2 条件随机场的参数化形式

11.2.3 条件随机场的简化形势 

11.2.4 条件随机场的矩阵形式 

11.3 条件随机场的概率计算问题

计算条件概率和相应的数学期望问题。

11.3.1 前向-后向算法 

递归计算条件概率和相应的数学期望问题的值

11.3.2 概率计算 

11.3.3 期望值得计算 

11.4 学习算法 

11.4.1 改进的迭代尺度法 

11.4.2 拟牛顿法 

11.5 预测算法  

维特比算法 :初始化,递推,终止,返回路径 

****************************************补充算法**********************************************

14.3 主成分分析问题 PCA

参考视频: 14 - 3 - Principal Component Analysis Problem Formulation

主成分分析(PCA)是最常见的降维算法。

降维简化模型,对数据进行压缩。

在 PCA 中,我们要做的是找到一个方向向量(Vector direction),当我们把所有的数据

都 投射到该向量上时,我们希望投射平均均方误差能尽可能地小。方向向量是一个经过原

点的向量,而投射误差是从特征向量向该方向向量作垂线的长度。(就是从点到直线做垂线,求垂线最短的过原点的直线)

主成分分析与线性回顾的比较:

主成分分析与线性回归是两种不同的算法。主成分分析最小化的是投射误差(Projected

Error),而线性回归尝试的是最小化预测误差。线性回归的目的是预测结果,而主成分分析

不作任何预测。

主成分分析是做垂直于直线的线段。线性回归是做垂直于X轴的直线。

PCA 将 n 个特征降维到 k 个,可以用来进行数据压缩,如果 100 维的向量最后可以用 10

维来表示,那么压缩率为 90%。同样图像处理领域的 KL 变换使用 PCA 做图像压缩。但 PCA

要保证降维后,还要保证数据的特性损失最小。

认识你是我们的缘分,同学,等等,学习人工智能,记得关注我。

微信扫一扫
关注该公众号

《湾区人工智能》

猜你喜欢

转载自blog.csdn.net/BTUJACK/article/details/84201315