吃瓜教材:
西瓜书:周志华老师的《机器学习》
南瓜书:《机器学习公式详解》第2版
吃瓜视频:【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导
目录
第三章 线性模型
3.1 基本形式
线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即
w 和 x 均为列向量,w 直观表达了各属性在预测中的重要性(权重),因此线性模型有很好的可解释性(可理解性)。
3.2 线性回归
属性数值化:为了能进行数值运算,样本中的非数值类属性要进行数值化。
对离散特征:
- 存在“序”关系:通过连续化转为“连续值”
- 不存在“序”关系:将k个属性值转化为“k维向量”
举个栗子:
仨样本:
x1={甜度=高,瓜类=西瓜}
x2={甜度=中,瓜类=南瓜}
x3={甜度=低,瓜类=黄瓜}
“甜度”存在“序”关系——“高、中、低”转化为{1.0, 0.5, 0.0}(二值可转化为{1.0、0.0})
“瓜类”不存在“序”关系——“西瓜、南瓜、黄瓜”转化为(1,0,0),(0,1,0),(0,0,1)
结果:
x1 = (1.0;1;0;0)
x2 = (0.5;0;1;0)
x3 = (0.0;0;0;1)
用线性模型进行回归学习:
一元线性回归
先考虑最简单的情形:输入属性的数目只有一个,线性回归试图学得
(使得预测值尽可能接近真实值)
推导损失函数E(w,b)——最小二乘法
在线性回归中,试图找到一条直线,使所有样本到直线上的欧氏距离之和最小
(图中即所有绿色线长度之和最小)
视频里还讲了用极大似然估计法,最后也得出了相同的损失函数E(w,b)。
求解w,b——基于均方误差(损失函数)最小化
arg——argument(参数)
min——minimum(最小值)
该符号表示求使目标函数达到最小值的参数取值,
这里指使均方误差达到最小值的w和b的取值。
求解w,b本质是一个多元函数求最值(点)的问题,更具体点是凸函数求最值的问题:
- 证明E(w,b)是关于w和b的凸函数
- 用凸函数求最值的思路求解w和b
思路:
1. 凸集
2. 凸函数(这里的凸函数和高数的相反)
3. 梯度
4. 海塞矩阵
5. 半正定矩阵——凸函数
因此,只需证明E(w,b)的海塞矩阵是半正定的,那么E(w,b)就是关于w,b的凸函数。
6. 全局解(最小值点)
所以求E(w,b)关于w,b的偏导数=0即为要求的w,b的最优解的闭式解(指可以通过具体的表达式解出待解参数)
机器学习三要素:
1.模型:根据具体问题,确定假设空间
2.策略:根据评价标准,确定选取最优模型的策略(通常会产出一个“损失函数”)
3.算法:求解损失函数,确定最优模型
多元线性回归
多元线性回归算法的机器学习三要素:
1.模型:根据具体问题,确定假设空间
一般的,样本由d个属性描述,此时我们试图学得
2.策略:根据评价标准,确定选取最优模型的策略(通常会产出一个“损失函数”)
最小二乘法推导损失函数
3.算法:求解损失函数,确定最优模型
证明它是凸函数,一阶导=0求解w
3.3 对数几率回归
对数几率回归算法的机器学习三要素:
1. 模型:线性模型,输出值的范围(0,1),近似阶跃的单调可微函数:
用线性回归进行分类学习:找一个单调可微函数将分类任务的真实标记 y 与线性回归模型的预测值联系起来。
考虑二分类任务,输出标记 y 是 0 或 1,而线性回归模型产生的预测值 z 是实值,所以我们要将实值转换为 0/1 值。
最理想的是“单位阶跃函数”:
但是,单位阶跃函数不连续,所以我们希望找到能在一定程度上近似它的“替代函数”,并希望它单调可微——对数几率函数(它是“Sigmoid”函数的代表,即形状像 S 的函数),它将 z 转化为一个接近 0 或 1 的 y 值,并且在 z = 0 附近变化很陡。
实际能从实值映射到0,1的函数有很多,西瓜书从对数几率的角度介绍为什么选择这个函数,同时现在比较公认的原因是从“最大熵”的角度确定选择这个函数。
2. 策略:极大似然估计,信息论
推出损失函数:
极大似然估计:联合概率最大
信息论:相对熵最小——交叉熵最小
与理想分布最接近的模拟发布即为最优分布,理想分布是未知的但固定的,前面一个式子(不带负号的信息熵的部分)是常量,因此可通过最小化相对熵即最小化交叉熵求出最优分布。
3.算法:梯度下降,牛顿法
求解w,b(β)
梯度下降法是一种迭代求解算法,其基本思路如下:先在定义域中随机选取一个点 x0,将其代入函数 f( x) 并判断此时 f( x0) 是否是最小值,如果不是的话,则找下一个点 x1,且保证 f( x1) < f( x0),然后接着判断 f( x1) 是否是最小值,如果不是的话则重复上述步骤继续迭代寻找 x 2、 x 3、...... 直到找到使得 f( x) 取到最小值的 x ∗ 。
3.4 线性判别分析
先了解一下西瓜书定义的几个符号:
线性判别分析(LDA):同类样本的方差尽可能小,异类样本的中心尽可能远
求解w:
广义特征值:
广义瑞利商:
3.5 多分类学习
拆解法:将多分类任务拆为若干个二分类任务求解
最常见的拆分策略:一对一(OvO)一对余(OvR)多对多(MvM)
3.6类别不平衡问题
类别不平衡指分类任务中不同类别的训练样例数目差别很大的情况。(类别不平衡时常采用查准率、查全率和F1来度量学习器的性能)
西瓜书通过线性分类器的角度举栗子引出一个基本策略:再缩放