机器学习的三要素
1:模型:根据实际问题,确定假设空间
2:策略:根据评价标准,确定选取最优模型的策略(通常会产出一个“损失函数”)(损失函数:每次训练集送入模型后,输出预测值,通过损失函数计算出预测值和真实值之间的差异值,通过模型反向传播更新参数,降低损失值)
3:算法:求解损失函数,确定最优模型
书本笔记
3.1 基本形式
解释:给定d个属性描述(x1,x2...),其中w直观地表现了各属性在预测中的重要性(模型的可解释性)。非线性模型可由线性模型转化而来。
3.2 线性回归
对离散属性,若属性间存在“序”的关系,通过连续化将其转化为连续值(例如:高,中,低1.0,0.5,0.0);若不存在序关系,假定有k个属性值,转化为k维向量(例如瓜类,西瓜(1,0,0);南瓜(0,1,0);黄瓜(0,0,1))
接着,确定w和b。方法:最小二乘法。利用均方误差来性能度量,让最小化(对应了欧氏距离)。我们求解w和b使其最小的过程,称为“线性回归模型的最小二乘’参数估计‘”,通过求导可得到关于w和b最优解的“闭式解”。
更一般,样本由多个属性描述构成,称为“多元线性回归”。
为了解决多元线性回归的问题,我们将w和b写入向量形式。(由于笔者能力有限,先将原书内容放在这里,等以后再来进行补充)
我们可以根据输出的变化尺度,对原式进行相应调整,例如加入ln,或者e...。这就是对数线性回归(非线性),更一般地,可以考虑率单调可微函数。
这样得到的模型称为“广义线性模型”,g()称为“联系函数”,显然对数线性回归是广义线性模型在g()=ln() 时的特殊情况。
3.3 对数几率回归(对率回归)
若要做的任务是分类,那么我们利用阶跃函数。
(对数几率函数)
也可以直接转化为分段函数。
当x=0时,y=0.5;
当x>0时,y=1;
当x<0时,y=0.(阶跃函数)
由于阶跃函数不连续,则我们将对数几率函数作为g()。
优点:直接对分类可能性进行建模,无需事先假设数据分布;可得到近似概率预测。
3.4 线性判别分析(LDA)
在二分类问题上最早由Fisher提出,又称“Fisher判别分析”。
思想:给定训练集,将样例投入到一条直线上,我们要求同类样例的投影点尽可能接近,异类样例投影点尽可能远离。在对新事物进行预测时,根据其投影点的位置来确定其类别。
几何角度:异类样本的中心尽可能远(正反中心远);同类样本的方差尽可能小。
3.5 多分类学习
利用二分类学习器来解决多分类问题。基本思路是“折解法”,将多分类任务拆解成多个二分类任务,对每个二分类任务训练出一个分类器。
拆分策略:
一对一(OvO):
假设一个数据集中,一共有n个类,我们将这n个类中,每两个类都单独提出来进行训练,即一共有"n(n+1)/2”个二分类任务,然后我们在进行测试时,输入一个数据进行预测,把被预测次数最多的那一类作为最终分类结果。
一对其余(OvR):
每次将一个类作为正,所有其他的作为反,训练出n个分类器,在测试时如果只有一个训练器预测为正,则其对应的类别标记为最终结果。注:若有多个分类预测器预测为正,则通常考虑各个分类器的预测置信度,选择置信度最大的类别作为结果(置信度和置信区间的概念比较难以阐明,请各位自行了解)。
多对多(MvM):
每次将若干个作为正,其他若干个作为反。相应地,我们就需要对MvM的正反类构造进行特殊设计。
常用的MvM技术:“纠错输出码”(ECOC)。第一步,编码。对n个类别做m次划分,将每次划分的一部分为正,另一部分为反,产生m个训练集,相应产生m个分类器。第二步,解码。m个分类器对测试样本进行预测,这些预测标记组成一个编码,将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为结果。
注:这里的距离可以根据海明距离和欧氏距离。
海明距离:用于编码的检错和纠错,在信息编码中,两个合法代码对应位上编码不同的位数称为码距,又称海明距离。举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。
类别划分通过“编码矩阵”指定:二元码(正,反),三元码(正,反,停用)。
EOCO编码对分类器的错误有一定的容忍和修正能力,对于同一个学习任务,ECOC编码越长,纠错能力越强。
3.6 类别不平衡问题
前面介绍的分类学习方法都有一个基本假设,即不同类别的训练样例数目大体相当。因而,类别不平衡指的就是不同类别训练样例数目相差很大的情况。当我们利用
进行预测时,将y与0.5进行比较判断正反。
(3.46)
顺理成章,我们对于类别不平衡的情况有以下规则:
(3.47)
其中m+表示正例数目,m-表示反例。
但是我们的分类器是基于(3.46)式进行决策的,因为我们对(3.47)式进行处理,即“再缩放”。
令 (3.48)
假设:训练集是真实样本总体的无偏采样。这个假设往往不成立。为了基于寻来你及观测几率推出真实几率,有三种做法:
1 欠采样反例:删去一些反例。代表性算法:EasyEnsemble,利用集成学习机制,将反例划分为若干个集合给不同学习器,每个学习器都欠采样,但集成总体拥有全部信息。
2 过采样正例:增加正例。代表性算法:SMOTE:对正例进行插值产生额外的正例。
3 阈值移动:将(3.48)式嵌入决策过程中。
“再缩放”是“代敏感学习”的基础,见2.3.4节。
视频笔记
P2 一元线性回归
极大似然估计
用途:估计概率分布的参数值;方法:对于离散型或者连续型随机变量,假设其概率质量函数或者是概率密度函数为p(x,),其中可以有多个,例如正态分布有两个参数和,伯努利分布只有一个参数p。现有n个来自X的独立同分布(随机变量服从同一 分布 ,并且互相独立)样本,则他们的联合概率(关于的函数)。
给出一个直观想法:使该联合概率最大的分布即为待求分布,也同时是的估计值。
注:对于误差,通常假定其服从均值为0的正态分布(中心极限定理解释:一个随机变量是由许多个随机变量的和,那么这个随机变量符合正态分布)。
P3 多元线性回归
将w和x以及b都写进矩阵。
注意:打印失误,前面应该是行向量,后面应该是列向量,且后面最后一个数是1.
P4 对数几率回归
三要素:
模型:线性模型,输出值范围为0~1,近似跃阶的单调可微函数
策略:极大似然估计,信息论
算法:梯度下降,牛顿法
信息论
自信息:
当b=2时单位为bit;当b=e时单位为nat。
信息熵(自信息的期望):度量随机变量X的不确定性,信息熵越大越不确定。
相对熵(KL散度):
度量两个分布的差异,典型应用于度量理想分布和模拟分布之间的差异。