CiMorns
966 words
5 minutes
Python Function Tools

Supervised learning#

Goal#

Given some observations (xi,yi)X×Y,i=1,...,n(x_{i}, y_{i}) \in \mathscr{X}\times \mathscr{Y}, i=1, ..., n, of inputs/outputs, features/labels, covariates/responses (as the training data), the main goal of supervised learning is to predict a new yYy \in \mathscr{Y} given a new previous unseen xXx \in \mathscr{X} The unobserved data are usually referred to as the testing data.

困难#

  • 输出是有噪声;

  • 预测函数可能相当复杂;

  • 只观测到少数的xx值.

  • 维度灾难(输入空间很大)

  • 训练数据分布和测试数据分布之间可能关联较弱

交叉验证
image-20250320152201809

取出测试集,剩下的(A,B,C,D,E)当训练集和验证集,第一次A当验证,BCDE训练。第二次B当验证,ACDE训练…

决策理论#

掌握数据的潜在概率分布

损失函数#

  • (y,z)=1yz\ell(y, z) = 1_{y\neq z}(0 - 1 损失)

    yy 等于 zz 时(无错误),损失为 00 ;否则(有错误),损失为 11

    • 二分类: Y={0,1}\mathcal{Y} = \{0, 1\}(常见的还有 Y={1,1}\mathcal{Y} = \{-1, 1\} ,较少情况下,当视为下面损失的子情况时,Y={1,2}\mathcal{Y} = \{1, 2\} )。
    • 多分类:Y={1,,k}\mathcal{Y} = \{1,\ldots,k\}
    • 多标签分类:损失 (y,z)=j=1k1yjzj\ell(y, z) = \sum\limits_{j = 1}^k 1_{y_j\neq z_j}
  • (y,z)=12(yz)2\ell(y, z) =\frac{1}{2} (y - z)^2 (平方损失)

    贝叶斯最优为均值

  • (y,z)=yz\ell(y, z) = |y - z| (绝对损失)

    贝叶斯最优为中位数

    • 输出空间 Y=R\mathcal{Y} = \mathbb{R}

风险(损失函数的期望) : 性能评判标准#

给定损失函数:Y×YR\ell:\mathcal{Y} \times \mathcal{Y} \to \mathbb{R},我们可以将函数f:XYf:\mathcal{X} \to \mathcal{Y}的期望风险(也称为泛化性能或测试误差),定义为输出yy与预测值f(x)f(x)之间损失函数的期望。

  • 期望风险: f:XYf:\mathcal{X} \to \mathcal{Y}、一个损失函数:Y×YR\ell:\mathcal{Y} \times \mathcal{Y} \to \mathbb{R}以及一个分布dp(x,y)dp(x, y),预测函数f:XYf:\mathcal{X} \to \mathcal{Y}的期望风险定义为:
R(f)=E[(y,f(x))]=X×Y(y,f(x))dp(x,y)\mathcal{R}(f)=\mathbb{E}[\ell(y,f(x))]=\int_{\mathcal{X} \times \mathcal{Y}}\ell(y,f(x))dp(x,y)
  • 经验风险/训练误差: f:XYf:\mathcal{X} \to \mathcal{Y}、一个损失函数:Y×YR\ell:\mathcal{Y} \times \mathcal{Y} \to \mathbb{R}以及数据(xi,yi)X×Y(x_i, y_i) \in \mathcal{X} \times \mathcal{Y}i=1,,ni = 1,\ldots,n,预测函数f:XYf:\mathcal{X} \to \mathcal{Y}的经验风险定义为:
R^(f)=1ni=1n(yi,f(xi))\widehat{\mathcal{R}}(f)=\frac{1}{n}\sum_{i = 1}^{n}\ell(y_i,f(x_i))

贝叶斯风险和贝叶斯预测器: 最佳的预测函数#

先验估计:第一印象

后验分布:后面根据情况调整印象。

利用条件期望及全期望公式,有

R(f)=E[(y,f(x))]=E[E((y,f(x))x)],\mathcal{R}(f)=\mathbb{E}[\ell(y,f(x))]=\mathbb{E}[\mathbb{E}(\ell(y,f(x))|x)],

可以将其改写为

R(f)=Exdp(x)[E((y,f(x))x=x)]=X(E((y,f(x))x=x))dp(x).\mathcal{R}(f)=\mathbb{E}_{x'\sim dp(x)}[\mathbb{E}(\ell(y,f(x))|x = x')]=\int_{\mathcal{X}}(\mathbb{E}(\ell(y,f(x))|x = x'))dp(x').

给定对于任意xXx' \in \mathcal{X} 的条件分布,即yx=xy|x = x',我们可以为任意zYz \in \mathcal{Y} 定义条件风险(它是一个确定性函数):

r(zx)=E((y,z)x=x),r(z|x')=\mathbb{E}(\ell(y,z)|x = x'),

由此可得

R(f)=E(r(f(x)x))=Exdp(x)[r(f(x)x)]=Xr(f(x)x)dp(x).\mathcal{R}(f)=\mathbb{E}(r(f(x)|x))=\mathbb{E}_{x'\sim dp(x)}[r(f(x')|x')]=\int_{\mathcal{X}}r(f(x')|x')dp(x').

要得到R(f)\mathcal{R}(f) 的极小值点,可以考虑对于任意xXx' \in \mathcal{X},使函数值f(x)f(x') 等于r(zx)=E((y,z)x=x)r(z|x') = \mathbb{E}(\ell(y,z)|x = x')zYz \in \mathcal{Y} 上的极小值点

贝叶斯预测器和贝叶斯风险: 期望风险在贝叶斯预测器f:XYf^*:\mathcal{X} \to \mathcal{Y} 处达到最小,对于所有xXx' \in \mathcal{X}f(x)argminzYE((y,z)x=x)=argminzYr(zx)f^*(x') \in \arg\min_{z \in \mathcal{Y}}\mathbb{E}(\ell(y,z)|x = x') = \arg\min_{z \in \mathcal{Y}}r(z|x') 。贝叶斯风险R\mathcal{R}^* 是所有贝叶斯预测器的风险,且等于

R=Exdpx(x)infzYE((y,z)x=x)\mathcal{R}^*=\mathbb{E}_{x'\sim dp_{x}(x')}\inf_{z \in \mathcal{Y}}\mathbb{E}(\ell(y,z)|x = x')
  • 超额风险: 函数f:XYf:\mathcal{X} \to \mathcal{Y} 的超额风险等于R(f)R\mathcal{R}(f) - \mathcal{R}^*(它总是非负的)

对于我们常用的损失函数集,我们可以计算贝叶斯预测器:

  • 0 - 1损失:对于Y={0,1}\mathcal{Y} = \{0, 1\}(y,z)=1yz\ell(y,z) = 1_{y\neq z},贝叶斯预测器满足
f(x)argminz{0,1}P(yzx=x)=argminz{0,1}1P(y=zx=x)=argmaxz{0,1}P(y=zx=x)f^*(x') \in \arg\min_{z \in \{0, 1\}}\mathbb{P}(y \neq z|x = x') = \arg\min_{z \in \{0, 1\}}1 - \mathbb{P}(y = z|x = x') = \arg\max_{z \in \{0, 1\}}\mathbb{P}(y = z|x = x')

η(x)=P(y=1x=x)\eta(x') = \mathbb{P}(y = 1|x = x'),如果η(x)>1/2\eta(x') > 1/2f(x)=1f^*(x') = 1;而如果η(x)<1/2\eta(x') < 1/2f(x)=0f^*(x') = 0。当η(x)=1/2\eta(x') = 1/2 时,结果无关紧要.

R=E[min{η(x),1η(x)}]\mathcal{R}^*=\mathbb{E}[\min\{\eta(x),1 - \eta(x)\}],一般来说它严格为正(除非η(x){0,1}\eta(x) \in \{0, 1\} 几乎必然成立,即yyxx 的确定性函数).

k2k \geq 2Y={1,,k}\mathcal{Y} = \{1,\ldots,k\},此时f(x)argmaxi{1,,k}P(y=ix=x)f^*(x') \in \arg\max_{i \in \{1,\ldots,k\}}\mathbb{P}(y = i|x = x')

  • 平方损失:Y=R\mathcal{Y} = \mathbb{R}(y,z)=(yz)2\ell(y,z) = (y - z)^2,贝叶斯预测器满足
f(x)argminzRE[(yz)2x=x]=argminzR{E[(yE(yx=x))2x=x]+(zE(yx=x))2}f^*(x') \in \arg\min_{z \in \mathbb{R}}\mathbb{E}[(y - z)^2|x = x'] = \arg\min_{z \in \mathbb{R}}\left\{\mathbb{E}[(y - \mathbb{E}(y|x = x'))^2|x = x']+(z - \mathbb{E}(y|x = x'))^2\right\}

这会得到条件期望f(x)=E(yx=x)f^*(x') = \mathbb{E}(y|x = x') .

Python Function Tools
https://blog.mcj.life/posts/250320机器学习/
Author
CiMorn
Published at
2025-03-20