西瓜书-线性模型
3.1 基本形式
- 要熟练使用线性代数的方法简化问题表示,尤其是在高维数据和复杂模型中。
- 线性模型是非线性模型的基础,许多复杂模型(如神经网络)都基于线性模型的概念并通过非线性变换得到。
3.2 线性回归
- 本节讨论的是回归问题,最早由高斯提出,重点在于通过模型预测一个连续值。
- 若将无序属性(如分类变量)连续化,可能不恰当地引入序关系,因此通常将无序属性拆分成多个二进制属性进行处理。
- 模型最优解是使损失函数(如均方误差)最小化。通常,损失函数选择为预测值与真实值的方差。
- 最小二乘法通过计算误差平方和来最小化误差,实际上是最小化预测值与真实值之间的欧几里得距离。
- 未知量是参数 ( w ) 和 ( b ),已知量是特征 ( x ) 和目标值 ( y )。模型的目标是找到使误差最小的最优参数 ( w ) 和 ( b )。
- 当损失函数是凸函数时,可以通过计算梯度并令其为 0 来找到全局最优解。对于非凸问题,后续章节(如3.3/3.4)将讨论数值优化方法。
- 闭式解表示可以通过解析求解的方法直接得到最优解,而解析解一般指符号化的精确解法。
- 在多元线性回归中,样本数 ( m ) 对应数据矩阵的行数,特征数 ( d ) 对应列数。增加一列用来表示偏置项 ( b )。
- 对向量求导意味着计算梯度,从而为最优化问题提供方向信息。
- 公式 3.10 要求数据矩阵 ( X ) 的满秩性,以确保矩阵的可逆性。这需要满足矩阵为满秩矩阵或正定矩阵的条件。
- 当样本数量少于特征数量时,数据矩阵可能不是满秩的,导致方程无解或多解。此时可以通过引入正则化项(如 L2 正则化)来解决。
- 通过对目标值 ( y ) 进行非线性变换(如对数变换)可以提高模型的表达能力,适应更复杂的情况。
3.3 对数几率回归(Logistic Regression)
- 逻辑回归虽然带有“回归”的名字,实际解决的是分类问题。它通过对输入特征进行线性组合后映射到 0 到 1 的范围内,从而输出分类概率。
- 单位阶跃函数是非线性的,但由于不可导,实际中常用对数几率函数(Logistic Function)替代,其计算代价低且导数方便计算。
- 逻辑回归预测的是概率值,而非实际的标签。模型通过输出的概率来进行分类决策。
- 为了最大化模型的表现,通常使用最大似然估计来构建损失函数,将多个样本的联合概率的对数作为优化目标。
- 对于无法直接求解的复杂函数,使用数值优化方法(如梯度下降法、牛顿法)逐步逼近最优解。
3.4 线性判别分析(Linear Discriminant Analysis, LDA)
- 线性判别分析(LDA)是一种常用的二分类问题方法。其核心思想是找到一个超平面,使得不同类别的样本点尽可能分开。
- LDA 的目标是最大化类间散布,同时最小化类内散布,从而让不同类别的样本更易分开。
- 协方差是方差的推广,描述了两组数据之间的关联程度。在二维情况下,协方差可以理解为两个向量之间的夹角大小。
- 广义瑞利商是一种用于求解特征值问题的比值,通常用于最大化两个矩阵在某个方向上的相对比值,以确定最优分类边界。
- 拉格朗日乘子法通过引入拉格朗日乘子,将带约束的问题转换为无约束优化问题,便于使用标准优化算法求解。
- LDA 可以推广到多分类任务。对于 ( n ) 个类别,最多需要 ( n-1 ) 个维度的超平面来将这些类别完全分开。
3.5 多分类学习
- 多分类问题可以通过多二分类问题来解决,即将每个类别拆解成多个二分类任务,常用的策略包括一对一、一对多和多对多。
- 纠错输出码(ECOC) 通过将多分类问题转化为多个二分类问题,并结合冗余编码来容错。当某些分类器出错时,ECOC 利用编码之间的距离修正错误,从而得到正确的分类结果。
- 海明距离是用于衡量两个等长二进制字符串之间不同字符数量的度量方式。海明距离越大,错误修正能力越强。
3.6 类别不平衡问题
- 类别不平衡问题指的是在分类任务中,不同类别的样本数量差异过大,模型可能会偏向预测多数类样本,忽视少数类。
- 再缩放策略(rescaling) 通过调整分类器的输出概率,使模型在处理少数类时更加敏感。具体做法是根据类别的数量比对概率输出进行调整。
- 欠采样(Undersampling) 和 过采样(Oversampling) 是处理类别不平衡的两种常用技术。欠采样通过减少多数类样本来平衡数据,而过采样通过增加少数类样本来平衡数据。
- 欠采样:通过减少多数类样本来实现数据平衡,但可能会丢失重要的多数类信息。
- 过采样:通过复制或生成新的少数类样本实现平衡,常见的技术如 SMOTE,但容易导致过拟合。
西瓜书-线性模型
https://ashen.pages.dev/_posts/machine_learning/ch3_linear_model/