3.1基本形式
α
\alpha
α个属性描述示例化
x
=
(
x
1
,
x
2
,
.
.
.
,
x
d
)
x=(x_1,x_2,...,x_d)
x=(x1,x2,...,xd)其中
x
i
x_i
xi是
x
x
x在第
i
i
i个属性取值。线性模型(liner model)通过属性的线性组合预测函数。
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
.
.
.
+
w
d
x
d
+
b
\begin{equation} f(x)=w_1x_1+w_2x_2+...+w_dx_d+b \tag{3.1} \end{equation}
f(x)=w1x1+w2x2+...+wdxd+b(3.1)
将式(3.1)转化为向量形式
f ( x ) = w T + b \begin{equation} f(x)=w^T+b \tag{3.2} \end{equation} f(x)=wT+b(3.2)
其中 w = ( w 1 , w 2 , . . . , w d ) w=(w_1,w_2,...,w_d) w=(w1,w2,...,wd)
w , b w,b w,b学得后,模型确定
线性模型有很好的解释性,更多非线性模型可在线性模型基础上引入层级结构构成高维映射可得
3.2线性回归
有序关系: 连续变化为连续值,如高矮 { 1 , 0 } \{1,0\} {1,0};高中低 { 1 , 0.5 , 0 } \{1,0.5,0\} {1,0.5,0}
不存在有序关系: k k k个属性值, k k k维向量,例如属性“瓜类”的取值“西瓜”、“南瓜”、“黄瓜”可转化为 ( 0 , 0 , 1 ) , ( 0 , 1 , 0 ) , ( 1 , 0 , 0 ) (0,0,1),(0,1,0),(1,0,0) (0,0,1),(0,1,0),(1,0,0)
线性回归试图学得:
f ( x ) = w x i + b , 使得 f ( x i ) ≈ y i \begin{equation} f(x)=wx_i+b,使得f(x_i)\approx{y_i} \tag{3.3} \end{equation} f(x)=wxi+b,使得f(xi)≈yi(3.3)
那么如何确定
w
,
b
?
w,b?
w,b?
多元线性回归
从对数转为线性了。
广义线性模型
y = g − 1 ( w T x + b ) \begin{equation} y=g^{-1}(w^{T}x+b) \tag{3.15} \end{equation} y=g−1(wTx+b)(3.15)
g ( ⋅ ) g(\cdot) g(⋅)单调可微。“联系函数”,对数线性回归是广义的特例。
3.3对数几率回归
考虑二分类任务,输出标记 y ∈ { 0 , 1 } y\in\{0,1\} y∈{0,1}
线性回归预测值 z = w T x + b z=w^{T}x+b z=wTx+b,只需将 z z z转换为 0 / 1 0/1 0/1
最理想的是“单位阶跃函数”(unit-step function)
y = { 0 z < 0 0.5 z = 0 1 z > 0 \begin{equation} y = \begin{cases} 0 & z<0 \\ 0.5 & z=0 \\ 1 & z>0 \\ \end{cases} \tag{3.16} \end{equation} y=⎩ ⎨ ⎧00.51z<0z=0z>0(3.16)
若预测值大于零判为正例,小于零判为反例
单位阶跃函数不连续
对数几率函数(logistic function)在一定程度上近似单位阶跃函数。是常用的替代函数:
解读: y y y视为样本正例可能性,则 1 − y 1-y 1−y是其反例可能性
“几率”:反映作为正例的相对可能性:
y
1
−
y
\begin{equation} \frac{y}{1-y} \tag{3.20} \end{equation}
1−yy(3.20)
对数几率
l
n
y
1
−
y
\begin{equation} ln\frac{y}{1-y} \tag{3.20} \end{equation}
ln1−yy(3.20)
(3.18)用线性回归模型预测结果去逼近真实标记的对数几率。称为"对数几率回归"。
通过“极大似然法”估计
w
和
b
w和b
w和b,给定数据集
{
(
x
i
,
y
i
)
}
i
=
1
m
\{(x_i,y_i)\}^{m}_{i=1}
{(xi,yi)}i=1m,对数几率回归模型最大化“对数似然”(le-libehood)
3.4线性判别分析
线性判别分析(Linear Discriminant Analysis,简称 LDA)是一种经典的线性学习方法,在二分类问题上因为最早由|Fisher,1936]提出,亦称“Fisher 判别分析”
LDA思想: 投影到一条直线上,同类样例尽可能近;异类样例尽可能远。
投影直线为
w
w
w
两类样本中心在直线上投影为 w T u 0 , w T u 1 w^{T}u_{0},w^{T}u_{1} wTu0,wTu1
两类样本的方差:
w
T
∑
0
w
,
w
T
∑
1
w
w^{T}\sum_{0}w,w^{T}\sum_{1}w
wT∑0w,wT∑1w
3.5多分类学习
考虑 N N N个类别 C 1 , C 2 . . . C N C_{1},C_{2}...C_{N} C1,C2...CN,多分类学习基本思路是“拆解法”
拆分策略 { 1 、“一对一” ( O n e ∨ O n e ) O ∨ O 2 、“一对其余” ( O n e ∨ R e s t ) O ∨ R 3 、“多对多” ( M a n y ∨ M a n y ) M ∨ M 拆分策略 \begin{cases} 1、“一对一” (One{\vee}One) & O{\vee}O \\ 2、“一对其余” (One{\vee}Rest) &O{\vee}R \\ 3、“多对多” (Many{\vee}Many) &M{\vee}M \\ \end{cases} 拆分策略⎩ ⎨ ⎧1、“一对一”(One∨One)2、“一对其余”(One∨Rest)3、“多对多”(Many∨Many)O∨OO∨RM∨M
给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x m , y m ) } , y i ∈ { c 1 , c 2 . . . c N } D=\{(x_1,y_1),(x_2,y_2)...(x_m,y_m)\},y_i\in\{c_1,c_2...c_N\} D={(x1,y1),(x2,y2)...(xm,ym)},yi∈{c1,c2...cN}
O ∨ O : O{\vee}O: O∨O: N N N个类别两两配对: C N 2 = N ( N − 1 ) 2 C_N^{2}=\frac{N(N-1)}{2} CN2=2N(N−1)个分类任务
O
∨
R
:
O{\vee}R:
O∨R:每次将一个类作为正例,其他部分反例训练
N
N
N个分类器
-
O ∨ R : O{\vee}R: O∨R:为 N N N个分类器, O ∨ O O{\vee}O O∨O为 N ( N − 1 ) 2 \frac{N(N-1)}{2} 2N(N−1)个
-
O ∨ O O{\vee}O O∨O存储开销,测试时间开销比 O ∨ R O{\vee}R O∨R大
-
O ∨ O O{\vee}O O∨O每次只用2个, O ∨ R O{\vee}R O∨R用所有,所以 O ∨ O O{\vee}O O∨O训练时间比 O ∨ R O{\vee}R O∨R小。
-
性能两个差不多
M ∨ M : M{\vee}M: M∨M: 每次将若干个类作为正类,若干个其他类作为反类。正反类构造不能随意。
常用的
M
∨
M
M{\vee}M
M∨M技术:纠错输出码(Error Correcting Output Codes)EOOC
EOOC步骤:
- 编码:对 N N N个类别进行 M M M次划分,每次划分一部分正,一部分反。共产生 M M M个训练集,训练 M M M个分类器。
- 解码: M M M个分类器分别对测试样本预测,预测组成编码。将预测编码和类别编码比较,返回距离最小的为最终预测。
编码矩阵有多种形式,常见二元码(正、反例),三元码(正,反,停用类)。
一般而言:
- EOOC编码越长,纠错能力越强
- 编码越长,意味着分类器越多,计算存储都会增大
- 有效类别数,组合数有限,越过一定值就失去意义
同等长度编码,理论上,任意两类之间编码距离越远,纠错能力越强。
3.6类别不平衡问题
类别不平衡指分类任务中不同类别训练样例数目相差较大的情况,如998个反例,2个正例,如果全判反, 99.8 % 99.8\% 99.8%精度,无意义。
线性分类器, y = w T x + b y=w^Tx+b y=wTx+b,对 x x x预测时, y > 0.5 y>0.5 y>0.5为正例,否则为反例。几率 y 1 − y \frac{y}{1-y} 1−yy反映了正反例的比值
而0.5恰表明分类器认为正反例数目相同, y 1 − y \frac{y}{1-y} 1−yy>1 预测为正例。(3.46)
实例中,正例为 m + m^+ m+,反例为 m − m^- m−,则 y 1 − y > m + m − \frac{y}{1-y}>\frac{m^+}{m^-} 1−yy>m−m+则预测为正例。(3.47)
三类方法:
- 反例“欠采样”
- 正例“过采样”
- “阈值移动”