Machine Learning 课程- ColumbiaX: CSMM.102x

edx 上的 Machine Learning(ColumbiaX: CSMM.102x) 课程学习记录和个人理解。

第一周

要点:概率分布的学习参数的最大似然问题,线性回归监督学习问题,讨论最小二乘法来解决线性回归,理解几何意义。

  1. 数据\(x_1,...,x_n\),其中\(x_i\in \mathbb{R}^d\)
  2. 一个高斯模型
  3. 最大似然

密度函数如下:

\($p(x|\mu, \Sigma):=\frac{1}{(2\pi)^{\frac{d}{2}} \sqrt{det(\Sigma)}}exp(-\frac 1 2 (x-\mu)^T\Sigma^{-1}(x-\mu))\)$

期望: \(\mu=\int_{\mathbb{R}^d}x p(x|\mu,\Sigma)dx\)

方差: \(\Sigma=\mathbb{E}[(x-\mathbb{E}[x])(x-\mathbb{E}[x])^T]=\mathbb{E}[xx^T]-\mathbb{E}[x]\mathbb{E}[x]^T\)

Block#2 一个概率模型

独立同分布假设(i.i.d. auumption)

\($x_i \stackrel{iid}{\sim} p(x|\theta), i=1 ,\dots, n\)$

概率密度写做\(p(x|\theta)\),联合概率密度为:

\($p(x1,\dots,x_n|\theta)=\prod\limits_{i=1}^{n}p(x_i|\theta)\)$

Block#3 最大似然估计

我们要找一个\(\theta\)来最大化似然函数:\(\hat{\theta}_{ML} = \arg \max\limits_{\theta}\prod\limits_{i=1}^{n}p(x_i|\theta)\)

这个值在选定的分布族里最好地解释了数据。

因为是高斯分布,所以

估计函数为\(\nabla_\theta\prod\limits_{i=1}^{n}p(x_i|\theta)=0\),也就是梯度为0。

Block#3 Logarithm trick

直接计算估计函数比较复杂。因为对数函数是单调递增的,且有等式

\[ ln(\prod_{i}f_i)=\sum_i ln(f_i)\]

因此,取对数不会影响取最大值和最小值的位置。

Block#3 分析最大似然

现在

\($\hat{\theta}_{ML} = \arg \max\limits_{\theta}\Pi_{i=1}^{n}p(x_i|\theta) = \arg\max\limits_{\theta}\ln(\Pi_{i=1}^{n}p(x_i|\theta)) = \arg \max\limits_{i=1}^n \ln p(x_i|\theta)\)$

我们要计算出\(\hat{\theta}_{ML}\),满足

\[ \nabla_\theta \sum_{i=1}^n \ln p(x_i|\theta)=\sum_{i=1}^n\nabla_\theta \ln p(x_i|\theta)=0\]

解决方法有:

  1. 分析法(解方程组)
  2. 数值计算(迭代)
  3. 近似法(#2收敛到一个本地最优解)

最小二乘法

点集合\((x_i,y_i)\)\(x_i\in \mathbb{R^{d+1}}, y\in \mathbb{R}\)

\[ y_i=w_0+\sum_{j=1}^d x_{ij}\cdot w_j + e_i\]

最小化目标函数

\[ \mathcal{L} = \sum_{i=1}^n \epsilon_i^2 = \sum_{i=1}^n(y_i-w_0-\sum_{j=1}^dx_{ij}w_j)^2\]

关于\((w_0, w_1,\dots, w_d)\)

在原来的 \(x_i\) 前面加上一个1:

\[ x_i =\left[ \begin{matrix} 1 \\ x_{i1} \\ \vdots \\ x_{id} \end{matrix} \right], X = \left[ \begin{matrix} 1 & x_{11} & \dots & x_{1d}\\ 1 & x_{21} & \dots & x_{2d}\\ \vdots & & \ddots \\ 1 & x_{n1} & \dots & x_{nd} \end{matrix} \right],\]

且将 w 记为\(w=[w_0,w_1,\dots,w_d]^T\),于是目标函数变为:

\[ \mathcal{L} = \sum_{i=1}^n(y_i-x_i^Tw)^2\]

求解:

\[ \nabla_w\mathcal{L}=0 \Rightarrow \sum_{i=1}^n \nabla_w(y_i^2-2w^Tx_iy_i+w^Tx_ix_i^Tw)=0\]

于是

\[ -\sum_{i=1}^n2y_ix_i+(\sum_{i=1}^n2x_ix_i^T)w=0 \Rightarrow w_{LS} = (\sum_{i=1}^nx_ix_i^T)^{-1}(\sum_{i=1}^ny_ix_i)\]

矩阵形式的求解:

\[ \mathcal{L} = \sum_{i=1}^n(y_i-x_i^Tw)^2=||y-Xw||^2=(y-Xw)^T(y-Xw)\]

对于 w 求导:

\[ \nabla_w\mathcal{L} = 2X^TXw-2X^Ty=0 \Rightarrow w_{LS}=(X^TX)^{-1}X^Ty\]

对于 w 求导:

\nablaw\mathcal{L} = 2X^TXw-2X^Ty=0 \Rightarrow w{LS}=(X^TX)^{-1}X^Ty

其中y=[y_1,\cdots, y_n]^T,x=[x_1,\cdots, x_n]^T

扩展线性回归(多项式线性回归)

y=w_0+w_1x+w_2x^2,关于 w 是线性的。

解:w_{LS} = (X^TX)^{-1}X^Ty

更一般的,最小二乘法线性回归的形式为:y_i\approx f(xi, w) = \sum{s=1}^Sg_s(x_i)w_s。

其中:g_s(xi)=x{ij}^2,g_s(xi)=\log x{ij}等等。

最小二乘法的几何意义

我们需要最小化||y-Xw||^2,考虑向量 y是\mathbb{R}^n空间的一个点,我们想要找一个w让 Xw 尽量靠近 y。

令Xj为X 的第 j 列,那么 Xw=\sum{j=1}^{d+1}w_jX_j

也就是我们用 w 来给 X 的每个列加权,以接近y。

那么 LS (最小二乘)解就是能让 Xw 在欧拉距离上最接近 y的 w 的取值。

Updating

Previous Post

Blog Comments powered by Disqus.