一、基本形式
线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,我们一般用向量的形式来表示,
f ( x ) = w T x + b f(x)=w^Tx+b
因为w ww直观地表达了各属性在预测中地重要性,因此线性模型有很好地可解释性。
二、线性回归
样本可能由多个属性描述,此时我们试图学得
f ( x i ) = w T x i + b , 使 得 f ( x i ) ≈ y i f(x_i)=w^Tx_i+b,使得f(x_i)\approx y_i
这称为“多元线性回归”。
假设我们认为示例所对应的输 出标记是在指数尺度上 变化,那就可将输出标记的对数作为线性模型逼近的目 标,即
ln y = w T x + b \ln y=w^Tx+b
这就是 “ 对数线性回归” (log-linear regression),它实际上是在试图让e w T x + b e^{w^Tx+b}e
逼近y yy。
更一般地,可以考虑单调可微函数g ( ⋅ ) g(\cdot)g(⋅),令
y = g − 1 ( w T x + b ) y=g^{-1}(w^Tx+b)
这样得到的模型称为“广义线性模型”(generalized linear model),其中函数g ( ⋅ ) g(\cdot)g(⋅)称为“联系函数”(link function)。显然,对数线性回归是广义线性模型在g ( ⋅ ) = ln ( ⋅ ) g(\cdot) = \ln(\cdot)g(⋅)=ln(⋅)时的特例.
三、对数几率回归
单位阶跃函数不连续,因此不能直接找到这样的g ( ⋅ ) g(\cdot)g(⋅)。我们就找到能在一定程度上近似单位阶跃函数的 “ 替代函数” (surrogate function),并希望它单调可微.对数几率函数(logistic function)正是这样一个常用的替代函数:
y = 1 1 + e − z = 1 1 + e − ( w T x + b ) y=\frac1{1+e^{-z}}=\frac1{1+e^{-(w^Tx+b)}}
我们可以用极大似然法来估计w ww和b bb
四、线性判别分析
线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法。类似于给数据降维,并且是类间大,类内小。
LDA的思想非常朴素:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、 异类样例的投影点尽可能远离;在对新样 本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新 样本的类别。
可以查看这里的这篇文章:白板推导系列笔记(四)-线性分类
五、多分类学习
多分类学习的基本思路是“拆解法”即将多分类任务拆为若干个二分类任务求解。
可以看看常用的MvM技术:“纠错输出码”(ECOC)。
六、类别不平衡问题
类别不平衡(class-imbalance)就是指分类任务中不同类别的训练样例数目差别很大的情况。例如有998个反例,但正例只有2个,那么学 习方法只需返回一个永远将新样本预测为反例的学习器,就能达到99.8%的精度;然而这样的学习器往往没有价值,因为它不能预测出任何正例。
分类器的决策规则为:若y 1 − y > 1 \frac y{1-y}>1
>1则预测为正例。
当训练集中正、反例的数目不同时,我们令m + m^+m
+
表示正例数目,m − m^-m
−
表示反例数目。则观测几率是m + m − \frac{m^+}{m^-}
,于我们通常假设训练集是真实样本总体的无偏采样,因此观测几率就代表了真实几率。于是,只要分类器的预测几率高于观测几率就应判定为正例,即:若y 1 − y > m + m − \frac y{1-y}>\frac{m^+}{m^-}
则预测为正例。
因为我们的分类器是根据它的决策规则来进行决策的,所以我们需要对其预测值进行调整,所以我们要令,
y ′ 1 − y ′ = y 1 − y ∗ m + m − \frac {y'}{1-y'}=\frac y{1-y}*\frac{m^+}{m^-}
所以我们要进行一个基本的策略——“再缩放”。
直接对直接对训练集里的反类样例进行 “欠采样 ” (undersampling),即去除一些反倒使得正、 反例数目接近,然后再进行学习;
对训练集里的正类样例进行 “过采样” (oversampling),即增加一些正例使得正、反例数目接近,然后再进行学习;
直接基于原始训练集进行学习,但在用 训练好的分类器进行预测时,将上式嵌入到其决策过程中,称为“阈值移动”(threshold-moving)。
“再缩放” 也是 “代价敏感学习” (cost-sensitive learning)的基础。
决策树(decision tree)是一类常见的机器学习方法。
二、划分选择
通过信息增益或信息增益率,还有就是基尼系数,具体的过程在上面链接里那篇文章讲的很详细。
三、剪枝处理
上面链接里那篇文章讲的很详细。
四、连续与缺失值
连续值:采用二分法对连续的属性进行处理,这也是C4.5决策树算法采用的机制。
缺失值:通过计算信息增益,让同一样本以不同的概率划入到不同的子节点中去。
五、多变量决策树
相当于是一个多分类的问题,即对同一属性进行划分的时候,不再是二分类而是进行多个分类以找到性能最好的决策树,不再是为每个非叶节点寻找到一个最优的划分属性。