03.线性模型概述
简介
给定由d个属性描述的示例
x
=
(
x
1
;
x
2
;
…
;
x
d
)
\boldsymbol{x}=\left(x_{1} ; x_{2} ; \ldots ; x_{d}\right)
x=(x1;x2;…;xd), 其中
x
i
x_{i}
xi是
x
\boldsymbol{x}
x 在第 i 个属性上的取值,线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
…
+
w
d
x
d
+
b
f(x)=w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{d} x_{d}+b
f(x)=w1x1+w2x2+…+wdxd+b
一般用向量形式写成:
f
(
x
)
=
w
T
x
+
b
f(x)=\textbf{w}^{T}\textbf{x}+b
f(x)=wTx+b
- ω 直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性
- 许多功能更为强大的非线性模型(nonlinear model)可在线性模型的基础上通过引入层级结构或高维映射而得.
本章介绍几种经典的线性模型,先从回归任务开始,然后讨论二分类和多分类任务。
线性回归
线性回归(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记。
线性模型(linear model)试图通过对所给的属性/特征的线性组合进行学习,进而得出一个预测函数。
线性模型既可以用作分类问题,又可以用作回归类问题。在回归类问题中,通过属性组合来拟合一个线性函数,在分类问题当中,通过属性组合确定一个分类边界。
-
有序无序属性的数学转化
对离散属性,若属性值间存在”序“(order)关系,可通过连续化将其转化为连续值,例如二值属性“身高”的取值“高”、”矮“可转化为{1.0, 0.0},三值属性"高度"的取值"高" “中” “低”,可转化为{1.0,0.5,0.0};若属性值间不存在序关系,假定有k个属性值,则通常转化为k维向量,例如属性“瓜类”的取值"西瓜"、“南瓜”、"黄瓜"可转化为(0,0,1),(0,1,0),(1,0,0)。
若将无序属性连续化,则会不恰当地引入序关系,对后续处理如距离计算等造成误导
-
最小二乘法
均方误差是回归任务中最常用的性能度量,因此我们可试图让均方误差最小化。均方误差对应了欧几里得距离或简称"欧氏距离" (Euclidean distance)。基于均方误差最小化来进行模型求解的方法称为"最小二乘法" (least square method).
在线性回归中,最小A乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。
求解 ω 和 b 使 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w, b)}=\sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2} E(w,b)=∑i=1m(yi−wxi−b)2最小化的过程,称为线性回归模型的最小二乘“参数估计” (parameter estimation).
( w ∗ , b ∗ ) = arg min ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = arg min ( w , b ) ∑ i = 1 m ( y i − w x i − b ) 2 \begin{aligned} \left(w^{*}, b^{*}\right) &=\underset{(w, b)}{\arg \min } \sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2} \\ &=\underset{(w, b)}{\arg \min } \sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2} \end{aligned} (w∗,b∗)=(w,b)argmini=1∑m(f(xi)−yi)2=(w,b)argmini=1∑m(yi−wxi−b)2
-
对数线性回归与广义线性回归
ln y = w T x + b \ln y=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b lny=wTx+b该式在形式上仍是线性回归,但实质上已是在求取输入空间到输出空间的非线性函数映射。这里的对数函数起到了将线性回归模型的预测值与真实标记联系起来的作用。
考虑单调可微函数 g ( ⋅ ) g(\cdot) g(⋅),令 y = g − 1 ( w T x + b ) y=g^{-1}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right) y=g−1(wTx+b)
这样得到的模型称为"广义线性模型" (generalized linear model) ,其中函数广义线性祺型的参数估 g ( ⋅ ) g(\cdot) g(⋅)称为"联系函数" (link function). 显然,对数线性回归是广义线性模型在 g ( ⋅ ) = l n ( ⋅ ) g(\cdot) = ln( \cdot ) g(⋅)=ln(⋅)时的特例。
对数几率回归
广义线性模型中.只需找一个单调可微函数将分类任务的真实标记
y
y
y与线性回归模型的预测值联系起来。值. 最理想的是"单位阶跃函数" (unit-step function),但是单位阶跃函数不连续。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wYV4vY6s-1630817911830)(media/16267043248433/16267070936674.jpg)]
对数几率函数(logistic function) 正是这样一个常用的替代函数:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0LGXOu4w-1630817911840)(media/16267043248433/16267071371754.jpg)]
Sigmoid 函数即形似 S 的函数,对率函数是 Sigmiod 函数的最重要的代表。对数几率函数是一种"Sigmoid 函数",它将z值转化为一个接近0或1的 y y y 值,并且其输出值在z=0附近变化很陡。
这实际上是在用线性回归模型的预测结果去逼近真实标记的对数几率,因此,其对应的模型称为"对数几率归" (logistic
regression,亦称logit regression)。特别需注意到,虽然它的名字是"回归",但实际却是一种分类学习方法。这种方法有很多优点,例如它是直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题;它不是仅预测出"类别",而是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用;此外,对率函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解.
线性判别分析
线性判别分析(Linear Discriminant Analysis,简称LDA) 是一种经典的线性学习方法,亦称"Fisher 判别分析”。
LDA 的思想非常朴素: 给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别.
多分类学习
多分类学习任务.有些二分类学习方法可直接推广到多分类,
但在更多情形下,我们是基于一些基本策略,利用二分类学习器来解决多分类问题。
考虑N个类别
C
1
,
C
2
,
…
,
C
N
C_{1}, C_{2}, \ldots, C_{N}
C1,C2,…,CN,多分类学习的基本思路是"拆解法“,即将多分类任务拆为若干个二分类任务求解。具体来说,先对问题进行拆分,然后为拆出的每个二分类任务训练一个分类器;在测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果。这里的关键是如何对多分类任务进行拆分,以及如何对多个分类器进行集成。
最经典的拆分策略有三种:“一对一” (One vs. One,简称OvO)、“一对其余” (One vs. Rest ,简称OvR)和"多对多" (Many vs. Many,简称MvM).
类别不平衡问题
类别不平衡(class-imbalance)就是指分类任务中不同类别的训练样例数目差别很大的情况。
类别不平衡性处理的基本方法:
这就是类别不平衡学习的一个基本策略一"再缩放" (rescaling)/”再平衡(rebalance)”