第一章
1科学技术工程
科学是什么,为什么
技术怎么做
工程多快好省地做
2分类与回归
若欲预测的是离散值,此类学习任务称为分类
若欲预测的是连续值,此类学习任务称为回归
若只涉及两个类别的分类任务,称为二分类任务
若涉及多个类别的分类任务,称为多分类任务
预测任务是希望通过对训练集进行学习,建立一个从输入空间x到输出空间y的映射f:x→y
3监督学习和无监督学习
监督学习:训练样本拥有标记信息,代表回归和分类
无监督学习:训练样本不拥有标记信息,代表聚类
4机器学习的目标
机器学习的目标是使学得的模型能很好地适用于新样本,而不是仅仅在训练样本上工作得很好
5泛化能力
泛化能力:学得模型适用于新样本的能力
6独立同分布
通常假设样本空间中全体样本服从一个未知分布D,我们获得的每个样本都是独立地从这个分布上采样获得的,即独立同分布
7奥卡姆剃刀
若有多个假设与观察一致,则选最简单的那个
8偏好
任何一个有效的机器学习算法必有其偏好
学习算法偏高是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能
9没有免费的午餐(nfl定理)
前提所有问题出现的机会相同,或所有问题同等重要
10机器学习经典定义
计算机利用经验改善系统自身性能的行为
11机器学习现状
计算机领域最活跃的研究分支之一
与普通人的生活密切相关
影响到人类社会的政治生活
具有自然科学探索色彩
12机器学习发展
13假设空间
假设空间就是基于数据集形成的所有情况的假设集合,对每种情况根据数据集分析得到概率情况,以便后期对未知情况进行判断
问题所有假设组成的空间
第二章
1模型评估
错误率低、精度高、繁华能力强
2泛化误差与经验误差
泛化误差:在测试集上的误差(在未来样本上的误差)
经验误差、训练误差:在训练集上的误差
3过拟合overfitting和欠拟合underfitting
过拟合:模型在训练集本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。
欠拟合:模型没有很好地捕捉到数据特征,不能够很好地拟合数据
解决:
过拟合: 增大训练样本数,正则化也可以起到一定的作用。很多学习方法中也提供了防止过拟合的方法,如决策树中的预剪枝和后剪枝,BP算法中的早停和正则化等。
欠拟合:增加正则项,减少正则化参数,增加训练轮数
泛化误差越小越好?经验误差越小越好?no
4模型选择的三个关键问题
如何获得测试结果?评估方法
如何评估性能优劣?性能量度
如何判断实质差别?比较检验
5样本划分
如何获得测试集?
注意:
1保持数据分布一致性(例如分层采样)
2多次重复划分(例如:100次随机划分)
3测试集不能太大、不能太小(例如0.2-0.5)
方法:留出法、交叉验证法、自助法
留出法:将数据集D划分为两个互斥的集合,其中一个饿集合作为训练集S,另一个作为测试集T,在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。需要注意保持数据分布一致性、多次重复划分取平均、测试集不能太大、不能太小
交叉验证法:将数据集D划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集。优点:每一个样本数据都既被用作训练数据,也被用作测试数据,可以有效的避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服性。缺点:评估结果的稳定性和保真性很大程度上取决于k的取值。
自助法(自助采样,有放回采样,可重复采样):在数据集较小、难以有效划分训练/测试集时很有用,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。自助法产生的数据集改变了初始数据集的分布,这会引入估计误差。
约有36.8%的不会出现,称为包外估计
4调参与最终模型
算法的参数:一般由人工设定,亦称为超参数
模型的参数:一般由学习确定
调参过程相似:先产生若干模型,然后基于某种评估方法进行选择
参数调的好不好性能往往对最终性能有关键影响
区别:训练集VS测试集VS验证集
算法参数选定后,要用训练集+验证集重新训练最终模型
5性能量度
性能度量是衡量模型泛化能力的评价标准,反应了任务需求
使用不同的性能量度往往会导致不同的评价结果
什么样的的模型时好的,不仅取决于算法和数据,还取决于任务需求
6混淆矩阵
7比较检验
在某种亮度下去的评估结果后,是否可以直接比较以评判优劣?no
因为:
1测试性能不等于泛化性能
2测试性能随着测试集的变化而变化
3很多机器学习算法本有一定的随机性
机器学习寻找概率近似正确的结果
统计假设检验为学习器性能比较提供了重要依据
8pr图
9代价敏感错误率
10偏差、方差
偏差-方差分解:泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的,给定学习任务,为了取得更好的泛化性能,则需使偏差较小,即能够充分拟合数据,并使方差较小,即使得数据扰动产生的影响小。
偏差:期望输出与真实标记的差别
泛化误差:偏差、方差和噪声之和
偏差量度了学习算法的预期期望与真实结果的偏离程度,即刻画了学习算法本身的拟合能力
方差量度了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响
噪声则表达了当前任务上任何算法所能达到的预期泛化误差的下界,即刻画了学习问题本身的难度
第三章
1线性回归
线性回归试图学得一个通过属性的线性组合来进行预测的函数
线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。
2离散属性处理
离散属性的处理,若有序,则连续化,否则,转化为k维向量
3对数几率回归
找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来,如典型的对数几率函数,将与测试转化为一个接近0或1的值,方便进行二分类。
好处:
1、无需实习那假设数据分布
2、可得到类别的近似概率预测
3、可直接应用现有数据优化算法求取最优解
4线性判别分析LDA
给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。
5多分类问题
OvO:OvO将N个类别两两配对,从而产生N(N-1)/2个二分类任务,例如OvO将为区分类别Ci和Cj训练一个分类器,该分类器把D中的Ci类样例作为正例,Cj类样例作为反例,在测试阶段将新样本同时提交给所有分类起,得到N(N-1)/2个分类结果,最终结果通过投票产生。
OVR:OvR将一个类的样例作为整理,其他类的样例作为反例来训练N个分类器,在测试时仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果。若有多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果。
OVR只需训练N个分类器,OVO需要训练N(N-1)/2个分类器,因此,OVO的存储开销和测试时间开销通常比OVR更大,但在训练时,OVR的每个分类器均使用全部训练样例,而OVO的没个分类器仅使用两个类别的样例,因此,OVO的训练时间开销通常比OVR更小,至于预测性能,则取决于具体的数据分布,在多数情况下两者差不多。
6类别不平衡问题
类别不平衡问题是指分类任务不同类别的训练样例数目差别很大的情况。
解决方法:1、欠采样,2、过采样,3、阈值移动
欠采样:去除一些反例使得正、反例数目接近
过采样:增加一些正例使得正、反例数目接近
阙值移动:直接食用原始数据集进行学习,但在用训练好的分类器进行预测时,对预测值进行调整。将式嵌入到其决策过程中。
欠采样法的时间开销通常远小于过采样法,因为前者丢弃了很多反例,使得分类器训练集远小于初始训练集,而过采样增加了很多正例,其训练集大于初始训练集,需要注意的是,过采样法不能简单的对初始正例样本进行重复采样,否则会导致严重的过拟合;过采样法的代表性算法SMOTE是通过对训练集里的正例进行差值来产生额外的正例,另一方面,欠采样若随机丢弃反例,可能丢失一些重要信息;欠采样的代表性算法EasyEnsemble则是利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习器来看都进行了欠采样,但在全局来看却不会丢失重要信息。
7KNN思想
在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。
第四章
1信息增益
信息增益=划分前的信息熵-划分后的信息熵
信息增益对可取值数目较多的属性有所偏好
书上有例题
因为信息增益和增益率的特点,C4.5选择启发式:
先从候选划分属性中找出信息增益高于平均水平的,再从中选取增益率最高的
规范化:使不可比较的东西变得可以比较(属性值0-1与0-100的比较)
2ID3、C4.5、CART
特点:
ID3:奠定了决策树的理论基础,性能不好、计算消耗大、过拟合比较严重、计算结果偏差比较大,仅适合分类标签。
C4.5:是ID3决策树的改进,性能消耗有所减少,可以适用于连续标签,存在过拟合现象,计算结果偏差相对较小。
CART:改进采用基尼指数(越小越好),应用范围更广,不仅可用于决策树,还可以用于回归。
定义:
ID3:ID3算法通过计算每个属性的信息增益,认为信息增益高的是好属性,每次划分选取信息增益最高的属性为划分标准,重复这个过程,直至生成一个能完美分类训练样例的决策树。
C4.5:C4.5先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的属性作为划分标准,重复这个过程,直至生成一个能完美分类训练样例的决策树。
CART:CART从候选属性集合中选择基尼指数最小的属性作为划分标准,重复这个操作,直至生成一个能为完美分类样例的决策树。
ID3的不足
(1)ID3没有考虑连续特征,比如长度,密度都是连续值,无法在ID3运用。这大大限制了ID3的用途。
(2)信息增益准则对可能取值数较多的属性有所偏好。
(3)ID3算法对于缺失值的情况没有做考虑。
(4)没有考虑过拟合的问题。
C4.5
信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的C4.5决策树算法不直接使用信息增益,而是使用增益率来选择最优划分属性
信息率准则对可取值数目较少的属性有所偏好,因此C4.5算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。
3剪枝的必要性和特点
必要性:剪枝是决策树算法对付过拟合的主要手段。
预剪枝特点:降低了过拟合的风险,显著减少了决策树的训练时间开销和测试时间开销;预剪枝可能给决策树带来欠拟合的风险;有些分枝的当前划分可能不会提升泛化性能,甚至导致泛化性能暂时下降,但是在其基础上的后续划分可能显著提高泛化性能。
后剪枝特点:后剪枝决策树比预剪枝决策树保留了更多的分支,一般情况下,后剪枝决策树的欠拟合风险较小,泛化性能往往优于预剪枝决策树,但是后剪枝是在生成完全决策树之后进行的,并且需要对树中所有非叶节点逐一考察,因此训练时间开销与测试时间开销要大很多。
预剪枝:预剪枝是指在决策树生成工程中,对每个节点在划分前先进行估计,若当前节点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点标记为叶节点。
后剪枝:后剪枝则是先从训练集生成一颗完整的决策树,然后自底向上地对非叶节点进行考察,若将该结点对应的子树替换为叶节点能带来决策树泛化性能提升,则将该子树替换为叶结点。
4连续值与缺失值处理方法
对连续属性进行离散化处理,如C4.5决策树算法中的采用二分法对连续属性进行处理
缺失值的基本思想:样本赋权,权重划分
按属性值得占比重新对缺失值进行赋权
第五章神经网络
1多层前馈网络结构
多层网络:包含隐层的网络
前馈网络:神经元之间不存在同层连接也不存在跨层连接
隐层和输出层神经元亦称为功能单元
多层前馈网络有强大的表示能力(万有逼近性):仅需要一个足够多神经元的隐层,多层前馈神经网络就能以任意精度逼近任意复杂度的连续函数,但是,如何设置隐层神经元个数是未决问题,实际常用试错法
2什么是梯度,梯度求解
梯度:表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
梯度下降法:梯度下降法是一个一阶最优化算法。要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度的反方向的规定步长距离点进行迭代搜索。
3独热编码
4线性可分和线性不可分
线性可分:存在一个线性超平面能将两类样本分开。
线性不可分:不存在一个线性超平面能将两类样本分开。
5BP算法的推导
书上有一部分,另一部分可以百度到
BP是一个迭代学习算法,在迭代的每一轮中采用广义感知机规则
BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整
6BP神经网络如何缓解过拟合
早停、正则化P105
7标准BP和累积BP
相同点:终极目标都是最小化累计误差,都进行迭代更新。
不同点:
(1)标准BP算法参数更新地更加频繁。
(2)达到同样的累积误差极小值点,标准BP算法往往需要更多的迭代次数。
(3)累积BP算法的累积误差下降到一定程度之后,进一步下降会非常缓慢,这时候,标准BP往往会获得较好的解,尤其在训练集D非常大的时候更加明显。
8全局极小和局部极小的关系
全局极小只有一个、局部极小可以有多个,全部极小最小的那个就是全局极小。
9如何跳出局部极小进入全局极小
1、以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数
2、使用模拟停火技术。
3、使用随机梯度下降
10深度神经网络训练方法
1、使用增加隐藏层的个数和隐藏层神经元的个数提高深度学习模型的学习能力
2、使用预训练+微调训练深度神经网络
3、使用权共享训练深度神经网络
第六章支持向量机
1求解方法SMO
基本思路:
第一步:选取一堆需要更新的变量ai和aj,
第二步:固定ai和aj以外的参数,求解对偶问题更新ai和aj
第三步:不断执行第一步和第二步直至收敛
2特征空间映射
如不存在一个能正确划分两类样本的超平面,怎么办?
将样本从原始空间映射到一个更高维的特征空间,使样本在这个特征空间内线性可分
如果原始空间是有限维(属性数有限),那么一定存在一个高维特征空间使样本线性可分
3支持向量机的优缺点
超平面是n维欧氏空间中余维度等于一的线性子空间,也就是必须是(n-1)维度。
wTxi+b=+1,yi=+1
wTxi+b=-1,yi=-1
支持向量是距离超平面最近的使得等号成立的几个训练样本点。
优点:
1、SVM是一种有坚实理论基础的新颖的适用小样本学习方法。它基本上不涉及概率测度及大数定律等,也简化了通常的分类和回归等问题
2、计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。
3、少数支持向量决定了最终结果,对异常值不敏感, 这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒性”
4、SVM学习问题可以表示为凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最小值,
5、有优秀的泛化能力。
缺点:
1.对大规模训练样本难以实施
2、解决多分类问题困难,
3.对参数和核函数选择敏感
2为什么要提出核方法支持向量机
解决线性不可分问题。
支持向量机实现二分类,可以使用OVO、OVR实现多分类
核函数:由于特征空间维数可能很高,甚至可能是无穷维,计算比较复杂,为了避开这个障碍。
Mercer定理:若一个对称函数所对应的核矩阵半正定,则它就能作为核函数使用。
核函数选择成为决定支持向量机的关键
第七章贝叶斯决策论
1概念
先验概率:是指根据以往经验和分析得到的概率
后验概率:是指在得到“结果”的信息后重新修正的概率
数学期望:是指试验中每次可能结果的概率乘以其结果的总和
似然概率:是结果已知情况下,事件在不同条件下发生的可能性,似然函数值越大说明事件在对应的条件下发生的可能性越大。
似然函数:似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。
2贝利斯公式
P©是类先验概率,P(x|c)是类条件概率,P(c|x)是后验概率,P(x)是证据因子
3极大似然估计法原理
先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计
4朴素贝叶斯分类器
书上有例题
5朴素贝叶斯分类器拉普拉斯修正
书上有例题
避免了因训练集不充分而导致概率估值为零的问题,并且在训练集变大时,修正过程所引入的先验的影响也会逐渐变得可以忽略,使得估值渐趋向于实际概率值。
第八章
1损失函数
0-1损失函数
绝对值损失函数
log对数损失函数
平方损失函数
指数损失函数
Hinge损失函数
感知损失函数
交叉熵损失函数
2集成学习原理特点
原理:集成学习通过构建并结合多个学习器来完成学习任务。
特点:好而不同
1、个体学习器要有一定的准确性,不能够太坏
2、学习器间具有差异。
分类:1、个体学习期间存在强依赖关系、并序串行生成的序列化方法。
2、个体学习期间不存在强依赖关系、可同时生成的并行化方法。
3Bosting、AdaBost
boosting工作原理:先从初始训练集训练出一个基学习器,再根据学习器的变下对训练样本分布进行调整,使得先前学习起做错的样本受到更多关注,只到基学习器的数目达到事先指定的值T,最终将这T个学习器进行加权结合。
注意事项:Boosting算法在训练的每一轮都要检查当前生成的基学习器是否满足基本条件,一旦不满足条件,则当前基学习器被抛弃,并且学习过程停止,初始设置的学习轮数T可能远远没达到,则可能导致最终集成中只包含很少的基学习器而性能不佳。若采用重采样法,则可以获得重启动机会以避免训练过程中过早停止。
4bagging、随机森林
bagging:通过自助采样法采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基分类器,再将这些基分类器进行结合。
随机森林:bagging:通过自助采样法采样出T个含m个训练样本的采样集,然后基于每个采样集使用决策树训练出一个基分类器,在决策树训练过程中引入随机属性选择,再将这些基分类器进行结合。
第九章
1聚类的概念
聚类是将样本集D划分为若干个互不相交的子集,聚类的结果簇内相似度高且簇间相似度低。
2范数
3KMEANS、KNN
KNN分类方法、KMEANS聚类方法、KMOID是KMEANS的改进
3密度聚类
原理:密度聚类假设聚类结构能通过样本分布的紧密程度确定,从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。
生长过程:算法先根据给定的领域参数找出所有的核心对象,以任一核心对象为出发点,找出由其密度可达的样本生成聚类簇,直到所有核心对象均被访问过为止。
4层次聚类
优点:原理
原理:试图在不同层次对数据集进行划分,从而形成树形的聚类结构,数据集的划分可采用自底向上的聚合策略,也可采用自顶向下的分拆策略。
优点:可以通过设置不同的相关参数值,得到不同粒度上的多层次聚类结构;在聚类形状方面,层次聚类适用于任意形状的聚类,并且对样本的输入顺序是不敏感的。
-
距离和规则的相似度容易定义,限制少
-
不需要预先制定聚类数
-
可以发现类的层次关系
-
对大样本数据效果较好
优点:距离定义简单;可以不预先设定类别数;可以发现类别间的层次关系;可以生成非球形簇
缺点:
- 计算复杂度太高
- 奇异值也能产生很大影响
- 算法很可能聚类成链状