基于 VitePress 构建,持续更新中,欢迎共同优化
Skip to content

Task02 详读西瓜书 + 南瓜书第 3 章

1 基本形式

  • 概念:给定由 d 个属性描述的实例 x=(x1;x2;;xd),其中 xix 在第 i 个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即 f(x)=w1x1+w2x2++wdxd+b
  • 一般用向量形式:f(x)=wTx+b,其中 w=(w1;w2;;wd)

2 线性回归

  • 属性值转换:对离散属性,若属性值之间存在“序关系”,则可以将其转化为连续值;若属性值之间不存在“序关系”,则通常将其转化为向量的形式
  • 确定 wb
    • 目标:最小化 f(x)y 均方误差
    • 输入属性只有一个(最小二乘法):首先计算出每个样本预测值与真实值之间的误差并求和,通过最小化均方误差 MSE,使用求偏导等于零的方法计算出拟合直线 y=wx+b 的两个参数 wb
    • 输入属性有多个(多元线性回归):可类似于最小二乘法,将数据集 D 表示为一个 m×(d+1) 大小的矩阵,再表示为向量形式,最后通过计算 w^ 偏导,得到最优解。
  • 简写形式:y=wTx+b
  • 广义线性模型:y=g1(wTxb),其中 g() 时单调可微函数

3 对数几率回归

  • 单位阶跃函数:若预测值 z 大于零判为正例,小于零判为反例,预测值为临界值零则可任意判别。
  • 对数几率函数:y=11+ez
  • 概念:若将 y 看做样本为正例的概率,(1y) 看做样本为反例的概率,则使用线性回归模型的预测结果器逼近真实标记的对数几率
  • 思路:使用最大似然估计的方法来计算出 wb 两个参数的取值
lnp(y=1|x)p(y=0|x)=wTx+b

p(y=1|x)=1p(y=0|x)

正例:p(y=1|x)=ewTx+b1+ewTx+b

负例:p(y=0|x)=11+ewTx+b

似然函数:(w,b)=i=1mlnp(yi|xi;w,b),对数变乘为加,即所有样本出现真实值的概率乘积最大。

4 线性判别分析

  • 线性判别分析(LDA)基本思想:将训练样本投影到一条直线上,使得同类的样例尽可能近,不同类的样例尽可能远。对新样本进行分类时,投影到同一条直线上,根据投影点的位置确定新样本的类别。
  • 具体步骤:
    1. 给定数据集 D={(xi,yi)}i=1m,yi{0,1},令 Xi,μi,Σi 分别表示第 i{0,1} 类示例的集合、均值向量、协方差矩阵。
    2. 若将数据投影到直线 w 上,则两类样本的中心在直线上的投影分别为 wTμ0wTμ1;若将所有样本点都投影到直线上,则两类样本的协方差分别为 wTΣ0wwTΣ1w
    3. 使得各类的协方差之和尽可能小,不同类之间中心的距离尽可能大。
    4. 计算类内散度矩阵:
Sw=Σ0+Σ1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T
  1. 计算类间散度矩阵:
Sb=(μ0μ1)(μ0μ1)T
  1. 计算 LDA 最大化的目标函数:
J=wTSbwwTSww
  1. W 的闭式解是 Sw1SbN1 个最大广义特征值所对应的特征向量组成的矩阵
  • LDA 常被视为一种经典的监督降维技术。

5 多分类学习

  • “拆分”策略:将多分类问题拆解为多个二分类问题,训练出多个二分类学习器,最后将多个分类结果进行集成得出结论。
  • “一对一”(OvO):给定数据集 D,假定其中有 N 个真实类别,将这 N 个类别进行两两配对(一个正类/一个反类),从而产生 N(N1)/2 个二分类学习器,在测试阶段,将新样本提交给所有学习器,得出 N(N1) 个结果,最终通过投票产生最终的分类结果。
  • “一对其余”(OvR):给定数据集 D,假定其中有 N 个真实类别,每次取出一个类作为正类,剩余的所有类别作为一个新的反类,从而产生 N 个二分类学习器,在测试阶段,得出 N 个结果,若仅有一个学习器预测为正类,则对应的类标作为最终分类结果。
  • “多对多”(MvM):给定数据集 D,假定其中有 N 个真实类别,每次取若干个类作为正类,若干个类作为反类(通过 ECOC 码给出,编码),若进行了 M 次划分,则生成了 M 个二分类学习器,在测试阶段(解码),得出 M 个结果组成一个新的编码,最终通过将预测编码与每个类别各自的编码进行比较,选择距离最小的类别作为最终分类结果。

6 类别不平衡问题

  • 概念:指分类问题中不同类别的训练样本相差悬殊的情况
  • 常用方法:
    1. 对训练样本较多的类别中进行“欠采样”(undersampling),使得正反例数目接近,常见的算法有:EasyEnsemble。
    2. 对训练样本较少的类别中进行“过采样”(oversampling),增加较少类的数量,使得正反例数目接近,常见的算法有 SMOTE。
    3. 直接基于原数据集进行学习,对预测值进行“再缩放”处理。其中“再缩放”也是“代价敏感学习”的基础。
y1y=y1y×mm+=y1y×cost(+>)cost(>+)

© 22025–present 謝懿Shine. All Rights Reserved.