机器学习的数学基础:线性模型

线性模型

线性模型的基本形式为:

f ( x ) = ω T x + b f\left(\boldsymbol{x}\right)=\boldsymbol{\omega}^\text{T}\boldsymbol{x}+b f(x)=ωTx+b

回归问题

利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$

\boldsymbol{\hat{\omega}}=\left(\boldsymbol{\omega};b\right)$:

ω ^ ∗ = arg min ⁡ ω ^ ( y − X ω ^ ) T ( y − X ω ^ ) \boldsymbol{\hat{\omega}}^*=\underset{\boldsymbol{\hat{\omega}}}{\text{arg}\min}\left(\boldsymbol{y-X\hat{\omega}}\right)^{\text{T}}\left(\boldsymbol{y-X\hat{\omega}}\right) ω^∗=ω^argmin(y−Xω^)T(y−Xω^)

其中:

X = ( x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ) \boldsymbol{X}=\begin{pmatrix} \boldsymbol{x_1^\text{T}} & 1\\ \boldsymbol{x_2^\text{T}} & 1\\ \vdots & \vdots\\ \boldsymbol{x_m^\text{T}}&1 \end{pmatrix} X= x1Tx2T⋮xmT11⋮1

由于在现实任务中 X T X \boldsymbol{X}^{\text{T}}\boldsymbol{X} XTX不一定为正定矩阵或者满秩矩阵,导致参数估计的不唯一,所以有时候需要引入正则项进行选取解。

广义线性模型

对于单调可微函数 g g g,令:

y = g − 1 ( ω T x + b ) y=g^{-1}(\boldsymbol{\omega}^\text{T}\boldsymbol{x}+b) y=g−1(ωTx+b)

称为广义线性模型

二分类

对数几率回归与极大似然估计

对于二分类问题,其目标为: y ∈ { 0 , 1 } y\in\{0,1\} y∈{0,1},由于理想的单位跃阶函数不连续,这里引入对数几率函数(logistic function):

y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+e−z1

带入广义线性模型:

ln ⁡ y 1 − y = ω T x + b \ln\frac{y}{1-y}=\boldsymbol{\omega}^\text{T}\boldsymbol{x}+b ln1−yy=ωTx+b

其中,称 y 1 − y \frac{y}{1-y} 1−yy为"几率"。

对参数估计,使用极大似然估计:

L = max ⁡ ∑ i = 1 m ln ⁡ p ( y i ∣ x i ; ω , b ) \mathcal{L}=\max \sum_{i=1}^{m}\ln p\left(y_i|\boldsymbol{x}_i;\boldsymbol{\omega},b\right) L=maxi=1∑mlnp(yi∣xi;ω,b)

其中,

p ( 1 ∣ x i ; ω , b ) = ω T x + b 1 + e − ( ω T x + b ) p\left(1|\boldsymbol{x}_i;\boldsymbol{\omega},b\right)=\frac{\boldsymbol{\omega}^\text{T}\boldsymbol{x}+b}{1+e^{-(\boldsymbol{\omega}^\text{T}\boldsymbol{x}+b)}} p(1∣xi;ω,b)=1+e−(ωTx+b)ωTx+b

该式可以由经典的凸优化算法求得。

LDA

线性判别分析(Linear Discriminant Analysis)是一个朴素的分类方法:

通过投影将高维数据映射到低维空间,使得同类样本的投影尽可能紧凑、不同类样本的投影尽可能分离,从而实现分类。

给定二分类数据集 D = { ( x i , y i ) } i = 1 m D = \{(\boldsymbol{x}i, y_i)\}{i=1}^m D={(xi,yi)}i=1m, y i ∈ { 0 , 1 } y_i \in \{0,1\} yi∈{0,1},定义:

  • X i X_i Xi:第 i ∈ { 0 , 1 } i \in \{0,1\} i∈{0,1} 类样本的集合
  • μ i \boldsymbol{\mu}_i μi:第 i i i类样本的均值向量
  • Σ i \boldsymbol{\Sigma}_i Σi:第 i i i类样本的协方差矩阵

若将数据投影到直线 w \boldsymbol{w} w 上,两类样本中心的投影为 \\boldsymbol{w}^\\mathrm{T}\\boldsymbol{\\mu}_0\\boldsymbol{w}^\\mathrm{T}\\boldsymbol{\\mu}_1 ,协方差投影为 ,协方差投影为 ,协方差投影为\\boldsymbol{w}^\\mathrm{T}\\boldsymbol{\\Sigma}_0\\boldsymbol{w}\\boldsymbol{w}^\\mathrm{T}\\boldsymbol{\\Sigma}_1\\boldsymbol{w}(均为实数,因投影到一维空间 )。

得到构造的最优化函数:

max ⁡ J = max ⁡ ∥ w T μ 0 − w T μ 1 ∥ 2 2 w T Σ 0 w + w T Σ 1 w \max \mathcal{J}= \max \frac{\|\boldsymbol{w}^\mathrm{T}\boldsymbol{\mu}_0 - \boldsymbol{w}^\mathrm{T}\boldsymbol{\mu}_1\|_2^2}{\boldsymbol{w}^\mathrm{T}\boldsymbol{\Sigma}_0\boldsymbol{w} + \boldsymbol{w}^\mathrm{T}\boldsymbol{\Sigma}_1\boldsymbol{w}} maxJ=maxwTΣ0w+wTΣ1w∥wTμ0−wTμ1∥22

为了简化表达,引入散度矩阵

  • 类内散度矩阵 ( S w \mathbf{S}_w Sw):

    整合两类协方差信息,反映同类样本的离散程度:
    S w = Σ 0 + Σ 1 = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 1 ) ( x − μ 1 ) T \mathbf{S}_w = \boldsymbol{\Sigma}_0 + \boldsymbol{\Sigma}1 = \sum{\boldsymbol{x} \in X_0} (\boldsymbol{x} - \boldsymbol{\mu}_0)(\boldsymbol{x} - \boldsymbol{\mu}0)^\mathrm{T} + \sum{\boldsymbol{x} \in X_1} (\boldsymbol{x} - \boldsymbol{\mu}_1)(\boldsymbol{x} - \boldsymbol{\mu}_1)^\mathrm{T} Sw=Σ0+Σ1=x∈X0∑(x−μ0)(x−μ0)T+x∈X1∑(x−μ1)(x−μ1)T

  • 类间散度矩阵 ( S b \mathbf{S}_b Sb):

    反映两类中心的离散程度,仅与均值向量有关:
    S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T \mathbf{S}_b = (\boldsymbol{\mu}_0 - \boldsymbol{\mu}_1)(\boldsymbol{\mu}_0 - \boldsymbol{\mu}_1)^\mathrm{T} Sb=(μ0−μ1)(μ0−μ1)T

代入目标函数后, J \mathcal{J} J 可重写为"广义瑞利商"(generalized Rayleigh quotient):

J = w T S b w w T S w w \mathcal{J}=\frac{\boldsymbol{w}^\mathrm{T}\mathbf{S}_b\boldsymbol{w}}{\boldsymbol{w}^\mathrm{T}\mathbf{S}_w\boldsymbol{w}} J=wTSwwwTSbw

多分类问题

多分类问题与二分类类似,常见的处理方法是分组拆解为多个二分类问题。

"拆解法"

包括:一对一,一对多,多对多

LDA

KaTeX parse error: Got function '\boldsymbol' with no arguments as subscript at position 68: ...\boldsymbol{S}_\̲b̲o̲l̲d̲s̲y̲m̲b̲o̲l̲{b}\boldsymbol{...

相关推荐
蓝婷儿44 分钟前
Python 机器学习核心入门与实战进阶 Day 1 - 分类 vs 回归
python·机器学习·分类
程序员阿超的博客3 小时前
Python 数据分析与机器学习入门 (八):用 Scikit-Learn 跑通第一个机器学习模型
python·机器学习·数据分析·scikit-learn·入门教程·python教程
平和男人杨争争7 小时前
机器学习2——贝叶斯理论下
人工智能·机器学习
归去_来兮7 小时前
支持向量机(SVM)分类
机器学习·支持向量机·分类
IT古董9 天前
【第二章:机器学习与神经网络概述】02.降维算法理论与实践-(1)主成分分析(Principal Component Analysis, PCA)
神经网络·算法·机器学习
大模型最新论文速读10 天前
Agent成本降低46%:缓存规划器的思路模板
人工智能·深度学习·机器学习·缓存·语言模型·自然语言处理
又南又难10 天前
【机器学习1】线性回归与逻辑回归
机器学习·逻辑回归·线性回归
老周聊大模型10 天前
7天从入门到精通:Prompt Engineering超速通指南
人工智能·机器学习
SHIPKING39310 天前
【机器学习&深度学习】机器学习核心的计算公式:wx+b
人工智能·深度学习·机器学习
王哥儿聊AI10 天前
LED-Merging: 无需训练的模型合并框架,兼顾LLM安全和性能!!
人工智能·深度学习·机器学习