IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 神经网络与深度学习--读书笔记1 -> 正文阅读

[人工智能]神经网络与深度学习--读书笔记1

本文是邱锡鹏教授撰写的《神经网络与深度学习》一书中 第2章:机器学习概述 的读书笔记,由于该部分比较基础,只记录一些本人觉得比较值得记录的内容,中间也会包括一些拓展和思考。

机器学习中的损失函数

平方损失函数

  • 适用问题:预测的 label y 为实值时,通常是回归问题
  • 定义:
    L ( y , f ( x ; θ ) ) = 1 2 ( y ? f ( x ; θ ) ) 2 L(y,f(x;\theta)) = \frac{1}{2} (y - f(x;\theta))^2 L(y,f(x;θ))=21?(y?f(x;θ))2

Note:平方损失函数一般不适用于分类问题


交叉熵损失函数

  • 适用问题:预测的 label y ∈ { 1 , 2 , 3 , ? ? , C } \in \{1,2,3,\cdots,C\} {1,2,3,?,C} 的离散类型,通常是多分类问题
  • 定义:(详细参见交叉熵
    L ( y , f ( x ; θ ) ) = ? y l o g f ( x ; θ ) = ? ∑ c = 1 C y c l o g f ( x c ; θ ) L(\boldsymbol y,f(\boldsymbol x;\theta)) = -\boldsymbol y log f(\boldsymbol x; \theta) = -\sum_{c=1}^C y_c log f(\boldsymbol x_c; \theta) L(y,f(x;θ))=?ylogf(x;θ)=?c=1C?yc?logf(xc?;θ)
  • 因为 y \boldsymbol y y 通常是 one-hot 向量,所以上式直接等价于 L ( y , f ( x ; θ ) ) = ? l o g f y ( x ; θ ) L(\boldsymbol y,f(\boldsymbol x;\theta)) = - log f_y(\boldsymbol x; \theta) L(y,f(x;θ))=?logfy?(x;θ)

Hinge 损失函数

  • 适用问题:预测的 label y ∈ { 1 , ? 1 } \in \{1,-1\} {1,?1} 的离散类型,通常是二分类问题
  • 定义:
    L ( y , f ( x ; θ ) ) = m a x ( 0 , 1 ? y f ( x ; θ ) ) L(y,f(\boldsymbol x;\theta)) = max(0, 1- y f(\boldsymbol x; \theta) ) L(y,f(x;θ))=max(0,1?yf(x;θ))

最大似然估计与平方损失函数

假设真实值 y y y 与 预测值 f ( x ; θ ) f(x;\theta) f(x;θ)的关系如下:
y = f ( x ; Θ ) + ? \boldsymbol y = f(\boldsymbol x;\Theta) + \boldsymbol \epsilon y=f(x;Θ)+?
其中 ? \epsilon ?是误差函数,不失一般性,我们认为其服从正态分布 N ( 0 → , σ 2 I ) \mathcal{N}(\mathop{0} \limits ^{\rightarrow},\sigma^2 I) N(0?,σ2I),那么 y \boldsymbol y y应该服从分布 N ( f ( x ; Θ ) , σ 2 I ) \mathcal{N}(f(\boldsymbol x;\Theta),\sigma^2 I) N(f(x;Θ),σ2I)
? argmin ? l o g P ( y ∣ x ; Θ ) = argmin ? l o g ∏ i = 1 n 1 2 π σ e x p ( ? ( y ? f ( x i ; θ ) ) 2 2 σ 2 ) = argmin ? ∑ i = 1 n ? ( y ? f ( x i ; θ ) ) 2 2 σ 2 = argmin ∑ i = 1 n ( y ? f ( x i ; θ ) ) 2 \begin{aligned} \Rightarrow \text{argmin} - logP(\boldsymbol y|\boldsymbol x;\Theta) &= \text{argmin} -log\prod_{i=1}^n \frac{1}{\sqrt{2\pi}\sigma} exp(-\frac{(y-f(x_i;\theta))^2}{2\sigma^2})\\ &= \text{argmin} -\sum_{i=1}^n -\frac{(y-f(x_i;\theta))^2}{2\sigma^2}\\ &= \text{argmin} \sum_{i=1}^n (y-f(x_i;\theta))^2 \end{aligned} ?argmin?logP(yx;Θ)?=argmin?logi=1n?2π ?σ1?exp(?2σ2(y?f(xi?;θ))2?)=argmin?i=1n??2σ2(y?f(xi?;θ))2?=argmini=1n?(y?f(xi?;θ))2?

因此, y \boldsymbol y y 满足高斯分布时,最大似然估计等价于平方损失函数


最大似然估计与交叉熵

参见 最大似然估计与交叉熵


最大似然估计与最大后验估计

  • 最大似然估计:频率学派 观点,认为参数为确定的未知数, 参数估计就是找出未知数的过程
    Θ ^ = argmax ∑ i = 1 n l o g P ( x i ; Θ ) = argmin ? ∑ i = 1 n l o g P ( x i ; Θ ) \hat{\Theta} = \text{argmax} \sum_{i=1}^n log P(x_i; \Theta) = \text{argmin} -\sum_{i=1}^n log P(x_i; \Theta) Θ^=argmaxi=1n?logP(xi?;Θ)=argmin?i=1n?logP(xi?;Θ)
  • 最大后验估计: 贝叶斯 观点,认为参数其实也是随机变量, 服从一定的分布。可以对参数的先验分布进行建模, 并使用观测数据来对参数进行修正, 最后使用修正后的参数分布来进行推断
    Θ ^ = argmax P ( Θ ∣ x 1 , ? ? , x n ) = argmax P ( x 1 , ? ? , x n ∣ Θ ) ? P ( Θ ) P ( x 1 , ? ? , x n ) = argmax ∏ i = 1 n P ( x i ∣ Θ ) ? P ( Θ ) = argmin ? ∑ i = 1 n l o g P ( x i ∣ Θ ) ? l o g P ( Θ ) \begin{aligned} \hat{\Theta} &= \text{argmax} P(\Theta |x_1, \cdots, x_n)\\ &= \text{argmax} \frac{P(x_1, \cdots, x_n |\Theta) \cdot P(\Theta)}{P(x_1, \cdots, x_n)}\\ &= \text{argmax} \prod_{i=1}^n P(x_i|\Theta)\cdot P(\Theta)\\ &= \text{argmin} -\sum_{i=1}^n logP(x_i|\Theta) - logP(\Theta) \end{aligned} Θ^?=argmaxP(Θx1?,?,xn?)=argmaxP(x1?,?,xn?)P(x1?,?,xn?Θ)?P(Θ)?=argmaxi=1n?P(xi?Θ)?P(Θ)=argmin?i=1n?logP(xi?Θ)?logP(Θ)?

综上,最大后验估计是在最大似然估计的基础上加上了参数 Θ \Theta Θ 的先验信息
1. 如果认为 Θ \Theta Θ 是常值,那么最大后验估计等价于最大似然估计
2. 如果认为 Θ \Theta Θ 服从正态分布 N ( 0 → , 1 λ I ) \mathcal{N}(\mathop{0} \limits ^{\rightarrow},\frac{1}{\lambda}I) N(0?,λ1?I),则 ? l o g P ( Θ ) = l o g 1 2 π λ ? 1 2 λ Θ T Θ - log P(\Theta) = log\frac{1}{\sqrt{2\pi \lambda}} - \frac{1}{2}\lambda \Theta^T \Theta ?logP(Θ)=log2πλ ?1??21?λΘTΘ, 与 λ ∣ ∣ Θ ∣ ∣ 2 \lambda||\Theta||_2 λΘ2? 成正比,也就是说 最大后验估计 = 最大似然估计 + L 2 L_2 L2?正则化
1. 如果认为 Θ \Theta Θ 服从Laplace分布 L a p l a c e ( 0 → , 1 λ I ) \mathcal{Laplace}(\mathop{0} \limits ^{\rightarrow},\frac{1}{\lambda}I) Laplace(0?,λ1?I),则 ? l o g P ( Θ ) = ? l o g λ 2 e x p ( ? λ ∣ Θ ∣ ) -log P(\Theta) = -log \frac{\lambda}{2} exp(-\lambda|\Theta|) ?logP(Θ)=?log2λ?exp(?λΘ),与 λ ∣ ∣ Θ ∣ ∣ 1 \lambda||\Theta||_1 λΘ1?成正比,也就是说 最大后验估计 = 最大似然估计 + L 1 L_1 L1?正则化

#########################################################################

正则化

关于L2正则化的两点思考

对于线性回归 f ( x ; w ) = w T x f(\boldsymbol x;\boldsymbol w) = \boldsymbol w^T \boldsymbol x f(x;w)=wTx,其平方损失: L ( w ) = 1 2 ∣ ∣ y ? X T w ∣ ∣ 2 L(\boldsymbol w)= \frac{1}{2} || \boldsymbol y - \boldsymbol X^T \boldsymbol w ||^2 L(w)=21?y?XTw2,用最小二乘法可得 w \boldsymbol w w的解析解为: w = ( X T X ) ? 1 X y \boldsymbol w = (\boldsymbol X^T \boldsymbol X)^{-1} \boldsymbol X \boldsymbol y w=(XTX)?1Xy

但这个要求 X T X \boldsymbol X^T \boldsymbol X XTX 可逆阵,而实际使用中,仅仅可逆还不够,如果 X T X \boldsymbol X^T \boldsymbol X XTX可逆,但有接近于0的特征值,仍会使得数据集 X \boldsymbol X X一点点小的扰动就让 ( X T X ) ? 1 (\boldsymbol X^T \boldsymbol X)^{-1} (XTX)?1 的值变化很大,为了解决这个问题,有人提出了岭回归,给 X T X \boldsymbol X^T \boldsymbol X XTX的对角线元素都加上一个常数 α \alpha α,使得 X T X + α I \boldsymbol X^T \boldsymbol X + \alpha \boldsymbol I XTX+αI 求逆稳定:
w = ( X T X + α I ) ? 1 X y \boldsymbol w = (\boldsymbol X^T \boldsymbol X + \alpha \boldsymbol I)^{-1} \boldsymbol X \boldsymbol y w=(XTX+αI)?1Xy

上式恰好等价于给平方损失加上L2正则化
L ( w ) = 1 2 ∣ ∣ y ? X T w ∣ ∣ 2 + 1 2 α ∣ ∣ w ∣ ∣ 2 L(\boldsymbol w) = \frac{1}{2} || \boldsymbol y - \boldsymbol X^T \boldsymbol w ||^2 + \frac{1}{2} \alpha ||\boldsymbol w||^2 L(w)=21?y?XTw2+21?αw2

那么我们就知道了L2正则化的第一个作用:L2正则化可以使得求解更稳定!

继续观察 w = ( X T X + α I ) ? 1 X y \boldsymbol w = (\boldsymbol X^T \boldsymbol X + \alpha \boldsymbol I)^{-1} \boldsymbol X \boldsymbol y w=(XTX+αI)?1Xy,它可以分解成:
w = ( X T X + α I ) ? 1 X T X ? w ^ = ( Q T Γ Q + α Q T Q ) ? 1 Q T Γ Q ? w ^ = ( Γ Q + α Q ) ? 1 Γ Q ? w ^ = Q ? 1 ( Γ + α I ) ? 1 Γ Q ? w ^ = Q T ( Γ + α I ) ? 1 Γ Q ? w ^ \begin{aligned} \boldsymbol w &= (\boldsymbol X^T \boldsymbol X + \alpha \boldsymbol I)^{-1} \boldsymbol X^T \boldsymbol X \cdot \hat{\boldsymbol w}\\ &= (\boldsymbol Q^T \Gamma \boldsymbol Q + \alpha \boldsymbol Q^T \boldsymbol Q) ^{-1} \boldsymbol Q^T \Gamma \boldsymbol Q \cdot \hat{\boldsymbol w}\\ &= (\Gamma \boldsymbol Q+ \alpha \boldsymbol Q) ^{-1} \Gamma \boldsymbol Q \cdot \hat{\boldsymbol w}\\ &= \boldsymbol Q^{-1} (\Gamma + \alpha \boldsymbol I)^{-1} \Gamma \boldsymbol Q \cdot \hat{\boldsymbol w}\\ &= \boldsymbol Q^T (\Gamma + \alpha \boldsymbol I)^{-1} \Gamma \boldsymbol Q \cdot \hat{\boldsymbol w} \end{aligned} w?=(XTX+αI)?1XTX?w^=(QTΓQ+αQTQ)?1QTΓQ?w^=(ΓQ+αQ)?1ΓQ?w^=Q?1(Γ+αI)?1ΓQ?w^=QT(Γ+αI)?1ΓQ?w^?
其中 w ^ = ( X T X ) ? 1 X y \hat{\boldsymbol w} = (\boldsymbol X^T \boldsymbol X)^{-1} \boldsymbol X \boldsymbol y w^=(XTX)?1Xy 是原始没有加L2正则化时的解。

假如 λ i \lambda_i λi? X T X = Q T Γ Q \boldsymbol X^T \boldsymbol X = \boldsymbol Q^T \Gamma \boldsymbol Q XTX=QTΓQ的特征值,那么 λ i λ i + α \frac{\lambda_i}{\lambda_i + \alpha} λi?+αλi??就是 Q T ( Γ + α I ) ? 1 Γ Q \boldsymbol Q^T (\Gamma + \alpha \boldsymbol I)^{-1} \Gamma \boldsymbol Q QT(Γ+αI)?1ΓQ的特征值。
? ( Q w ) i = λ i λ i + α ( Q w ^ ) i \Rightarrow (\boldsymbol Q \boldsymbol w)_i = \frac{\lambda_i}{\lambda_i + \alpha} (\boldsymbol Q \hat{\boldsymbol w})_i ?(Qw)i?=λi?+αλi??(Qw^)i?

也就是说:在变换 Q \boldsymbol Q Q 下, w i \boldsymbol w_i wi? 相对于 w i ^ \hat{\boldsymbol w_i} wi?^?都变小了,而且变小的强度跟 λ i \lambda_i λi?成反比。

由于这里 L ( w ^ ) ? 2 w ^ = X T X \frac{L(\hat{\boldsymbol w})}{\partial^2 \hat{\boldsymbol w}} = \boldsymbol X^T \boldsymbol X ?2w^L(w^)?=XTX,因此 X T X \boldsymbol X^T \boldsymbol X XTX 是损失函数 L ( w ) L(\boldsymbol w) L(w) 的海森阵,反映的是损失函数 L ( w ^ ) L(\hat{\boldsymbol w}) L(w^) 的凸性, λ i \lambda_i λi? 越大,表示凸性越强。再结合上面的结果,我们可以得到L2正则化的第二个作用:

  • 在正交变换 Q \boldsymbol Q Q 下,削减 w ^ \hat{\boldsymbol w} w^ 各方向上的权值,削减比例由损失函数 L ( w ^ ) L(\hat{\boldsymbol w}) L(w^) 在这个方向的凸性决定:

  • 凸性越强, λ i \lambda_i λi?越大,说明这个方向上 w ^ \hat{\boldsymbol w} w^的变化对 L ( w ^ ) L(\hat{\boldsymbol w}) L(w^)影响大, 那么这个方向上对 w ^ \hat{\boldsymbol w} w^ 的削减就小

  • 反之凸性越弱, λ i \lambda_i λi?越小,说明这个方向上 w ^ \hat{\boldsymbol w} w^的变化对 L ( w ^ ) L(\hat{\boldsymbol w}) L(w^)影响小, 那么这个方向上对 w ^ \hat{\boldsymbol w} w^ 的削减就大

#########################################################################

机器学习中评价指标

精确率和召回率

对于分类模型,假如有 C C C 个类别,那么对于任意类别 c c c,有:

  • 真正例(TP):样本真实类别为 c c c,并且模型也预测为 c c c 的数量:
    T P c = ∑ i = 1 n I ( y i = y i ^ = c ) TP_c = \sum_{i=1}^n \boldsymbol I(y_i = \hat{y_i} = c) TPc?=i=1n?I(yi?=yi?^?=c)
  • 假负例(FN):样本真实类别为 c c c,但是模型将它预测为其他类别的数量:
    F N c = ∑ i = 1 n I ( y i = c ∩ y i ^ ≠ c ) FN_c = \sum_{i=1}^n \boldsymbol I(y_i = c \cap \hat{y_i} \neq c) FNc?=i=1n?I(yi?=cyi?^??=c)
  • 假正例(FP):样本真实类别为其他类别,但是模型将它预测为 c c c 的数量:
    F P c = ∑ i = 1 n I ( y i ≠ c ∩ y i ^ = c ) FP_c = \sum_{i=1}^n \boldsymbol I(y_i \neq c \cap \hat{y_i} = c) FPc?=i=1n?I(yi??=cyi?^?=c)
  • 真负例(TN):样本真实类别为其他类别,并且模型也将它预测为其他类别的数量,对类别 c c c 来说,这种情况一般不需要关注。

精确率,也叫查准率,类别 c c c 的查准率是所有预测为类别 c c c 的样本中预测正确的比例:
P c = T P c T P c + F P c \mathcal{P_c} = \frac{TP_c}{TP_c+FP_c} Pc?=TPc?+FPc?TPc??

召回率,也叫查全率,类别 c c c 的查全率是所有真实标签为类别 c c c 的样本中预测正确的比例:
R c = T P c T P c + F N c \mathcal{R_c} = \frac{TP_c}{TP_c+FN_c} Rc?=TPc?+FNc?TPc??

F1 score,是一个综合指标,为精确率和召回率的调和平均:
F c = 2 ? P c R c P c + R c \mathcal{F_c} = \frac{2*\mathcal{P_c}\mathcal{R_c}}{\mathcal{P_c}+\mathcal{R_c}} Fc?=Pc?+Rc?2?Pc?Rc??

计算分类算法在所有类别上的总体精确率,召回率和F1 score:
P = 1 C ∑ c = 1 C P c R = 1 C ∑ c = 1 C R c F = 2 ? P R P + R \begin{aligned} \mathcal{P} &= \frac{1}{C}\sum_{c=1}^C \mathcal{P_c}\\ \mathcal{R} &= \frac{1}{C}\sum_{c=1}^C \mathcal{R_c}\\ \mathcal{F} &= \frac{2*\mathcal{P}\mathcal{R}}{\mathcal{P}+\mathcal{R}} \end{aligned} PRF?=C1?c=1C?Pc?=C1?c=1C?Rc?=P+R2?PR??


交叉验证

交叉验证(Cross-Validation)是一种比较好的衡量机器学习模型的统计分析方法,可以有效避免划分训练集和测试集时的随机性对评价结果造成的影响.我们可以把原始数据集平均分为 K K K 组不重复的子集,每次选 K ? 1 K-1 K?1 组子集作为训练集,剩下的一组子集作为验证集.这样可以进行 K K K 次试验并得到 K K K 个模型,将这 K K K 个模型在各自验证集上的错误率的平均作为分类器的评价.


Reference:

  1. 神经网络与深度学习
  2. 最大似然估计与最大后验估计
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-28 22:55:34  更:2021-12-28 22:57:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 2:25:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码