《现代深度学习》课程笔记
统计机器学习
线性回归:
一个点 \(x = (x_1,x_2,...,x_n) \in \mathcal{R}^n, y \in \mathcal{R}\)
\(\hat{y} = w^{T} x\)
均方误差:
\(MSE = \frac{1}{m} \sum_{i=1}^m (y_i - \hat{y_i})^2\)
考虑写作矩阵形式:
\(\hat{y}=Xw, X \in \mathcal{R}_{m \times n}\) (原来的 \(x\) 作为 \(X\) 的行向量)0
\(MSE = \frac{1}{m} ||\hat{y} - y||^2\)
考虑设 \(f(w) = \frac{1}{m} ||Xw-y||^2\)
\(f(w) = \frac{1}{m} (Xw-y)^{T}(Xw-y) = \frac{1}{m}(w^TX^TXw-2w^TX^Ty+y^Ty)\)
\(\nabla f(w) = \frac{1}{m}(2X^TXw-2X^Ty)\) (暴力展开式子求)
\(\Rightarrow w=(X^TX)^{-1}X^Ty\) (假设 \(X^TX\) 可逆)
思考一个问题:
为什么要用均方误差来评估 \(y\) 和 \(\hat{y}\) 的距离。
首先可以把数据看作一个概率分布: \(p_{data} (x,y)\)
一般来说我们无法知道数据确切的概率分布,但可以得到一个训练集 \((x_i,y_i)_{i=1}^n\)
假设有模型分布:\(p_{model}(x,y)=p(x)p(y|x)\)
在这里,假设 \(y=w^Tx+\epsilon\)(\(\epsilon\) 为高斯噪声),即 \(p(y|x,w)=\mathcal{N}(w^Tx,\sigma^2)\)
考虑极大似然估计:
\(w = argmax_w \sum_{i=1}^n log~ p_{model}(y_i|x_i,w)\)
\(y|x \sim \mathcal{N}(x^Tw,\sigma^2)\)
\(p(y|x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x^Tw-y)^2}{2\sigma^2}}\)
\(argmax_w \sum_{i=1}^n log ~p_{model}(y_i|x_i,w)=argmin_w \frac{1}{2\sigma^2}\sum_{i=1}^n(x_i^Tw-y)^2\)
一个模型的表示空间可以为:
\(P_{model}=\{p(y|x;w),w\in\Omega \}\)
一般情况下我们需要找一个 \(p_{model}\) 与 \(p_{data}\) 距离最近。
一般情况下如何评估两个概率分布的距离,有 KL 散度:
\(D_{KL}(p||q)=\int p(x) log \frac{p(x)}{q(x)} dx= E_p[log~p - log~q]\)
其性质和由来见:https://blog.csdn.net/Poyunji/article/details/123771660
假设训练集为 \((x_i,y_i)_{i=1}^n\),
若认为经验分布 \(p_{emp} = \frac{1}{n} \sum_{i=1}^n\delta_{x_i,y_i}\)
会发现:
\(argmin_{p \in P_{model}}D_{KL}(p_{emp} || p) \iff argmax_w \sum_{i=1}^n log~ p_{model}(y_i|x_i,w)\)
机器学习的 gap 可以分为三种:
-
representation power/ model capacity 决定的 gap:
\(p* = argmin _{p \in P_{model}} D(p,p_{emp})\)
\(rep.gap = D(p*,p_{emp})\) -
optimization 决定的 gap
\(opt.gap = D(\hat{p},p_{emp})-D(p*,p_{emp})\)
- generalization 决定的 gap
\(gen.gap = D(\hat{p},p_{data})-D(\hat{p},p_{emp})\)
\(\approx D(\hat{p},p_{test})-D(\hat{p},p_{emp})\)
优化器:
各种优化器的底层公式见:https://www.zhihu.com/question/323747423/answer/2226226746