机器学习-白板推导 11. 高斯混合模型
机器学习-白板推导 11. 高斯混合模型1. GMM 介绍
通过将更基本的概率分布(如高斯分布)进行线性组合的叠加方法,可以被形式化为概率模型,被称为混合模型(mixture distributions)。
——PRML p82
而GMM(Gaussian Mxture Model)是将多个高斯分布线性叠加在一起的概率模型。
如下图所示一维高斯混合分布例子。(PRML p82)
从两个角度来看GMM:
从几何角度:加权平均。
每个高斯分布可表示为N(\mu_k, \Sigma_k),根据定义加权平均即:
P(x) = \sum_{k=1}^K \alpha_k N(\mu_k, \Sigma_k) , \quad 且 \sum_{k=1}^K \alpha_k=1 \tag{1}
从混合模型(或者生成模型)角度
我们假定数据为x: \text{observer ...
机器学习-白板推导 10. EM 算法
机器学习-白板推导 10. EM 算法1. EM算法导出本文中所有的参数定义如下:
\begin{align}
&X: \text{ observed data }\\
&Z: \text{ unobserved data }\\
&(X, Z): \text{ complete data }\\
&\theta: \text{ parameter }\\
\end{align}EM是Expectation Maximization简写,意为期望最大, 用于含有隐变量的概率模型参数的极大似然估计。我们经常说的极大似然估计是对于概率分布P(X|\theta),求解使得其最大的算法:
\theta_{MLE} = \text{argmax}_{\theta} \log P(X|\theta) \tag{1}对于式1如果引入隐变量Z,要满足P(X) = \int_Z P(X|Z)P(Z).如果是离散量就改成求和。那么可改写成:
L(\theta) = \log P(X|\theta) = \log \int_Z P(X, Z|\theta) =\log \left(\in ...
机器学习-白板推导8 指数簇分布
机器学习-白板推导8 指数簇分布1. 指数簇分布背景指数簇分布(Exponential Family Distribution)需要满足以下形式:
p(x|\eta) =h(x)\exp(\eta^T\phi(x) - A(\eta)) \tag{1}其中:
\eta : 自然参数(natural parameter,也叫正则参数 canonical parameter)
\phi(x) : 充分统计量(sufficient statistic),常使用的有\phi(x) = x,一般是一个对样本的统计函数表示。
接下来会重点介绍的A(\eta) 是一个对数配分函数(log partition function)。
如P(x| \theta) = \frac{1}{z} \hat P(x|\theta)这里的z就是归一化因子,又叫配分函数。
对两边同时取积分:
\int_{x} P(x \mid \theta)=\int_{x} \frac{1}{z} \hat{P}(x \mid \theta) \Rightarro ...
机器学习-白板推导 7 核方法
机器学习-白板推导 7 核方法1. 线性不可分问题对于如下图中的异或问题,是线性不可分的。
但是将数据映射到高维空间后就可以实现线性可分。如果将异或问题中的数据通过一个映射\phi(x)将低维空间中的数据x映射成高维空间中的z来实现数据的线性可分。如:
x = (x_1, x_2) \overset{\phi(x)} \Longrightarrow z=(x_1, x_2, (x_1-x_2)^2)就可以得到如下数据分布:
这时就可以轻松将两类点分开。
2. 核函数的引入机器学习-白板推导6 SVM 小节3中对偶问题的拉格朗日乘子法目标函数为:
\begin{align}
\max_{\lambda} L(\boldsymbol{w}, b, \lambda) & = -\frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j +\sum_{i=1}^N\lambda_i
\\
&\text{s.t. } \quad \lambda_i \g ...
机器学习-白板推导6 SVM 上
机器学习-白板推导6 SVM 上1.SVM 核心知识点Support Vector Machine(SVM) 有三宝,间隔,对偶,核技巧。其分类有:
Hard-margin SVM
Soft-margin SVM
Kernel SVM
本文将介绍软硬间隔部分, 核技巧等将在下篇中介绍。
2. SVM模型引入
SVM模型就是找到一个超平面将两类数据点分隔开,这个超平面记为f(\boldsymbol{w}) = \boldsymbol{w}^Tx + b。如上图所示,这样的超平面很多,如L_1, L_2, L_3,那么哪个最好呢?直觉上,离这些点距离越远越好。间隔就是相对距离最近的点与超平面的距离,首先先将问题数学化定义。
对于数据集D=\{(\boldsymbol{x}_i,y_i)\}^{N}_{i=1},其中\boldsymbol{x}_i\in\mathbb{R}^{p}, \ y_i\in\{1,-1\}。要将数据点分隔开的间隔最大化,并且要将所有点分类正确:
\max \text{ margin} (\boldsymbol{w},b) \\
s.t. ...
机器学习-白板推导 5 降维
机器学习-白板推导 5 降维1. 降维 Dimension Reduction机器学习中,最关心的是泛化误差,降低泛化误差是非常关键的。泛化误差和过拟合等关系图如下
解决过拟合的方法有:
增加数据量
正则化,如Lasso和Ridge本质都是降维,Lasso会让部分w趋于0,来消除一些特征。
降维
维度灾难:
高纬度有更大的特征空间,需要更多数据才可以拟合模型。若特征是二值的,则每增加一个特征,数据列都在以2的指数级增长,更何况很多特征不是二值的
几何角度:
如下图所示,假定正方形边长为1,则其内切圆半径为0.5,正方形面积为1,圆面积为\pi(0.5)^2。拓展到3维时,正方形体积为1,内切球体积为\frac{4}{3}\pi(0.5)^3。
如下图所示,假设外圆半径为r=1,则内圆半径为r- \epsilon = 1- \epsilon。在高维情况下,外圆体积为V_外 = k1^D = k, 中间圆环体积为V_环= k - k(1-\epsilon)^D。
那么有:
\lim_{D \to 0} \frac{V_环}{V_外} = \lim_{D \to 0 ...
机器学习-白板推导4.3 线性分类——朴素贝叶斯
机器学习-白板推导4.3 线性分类——朴素贝叶斯1.算法推导在分类问题中,我们希望从数据集X中学到能从X分类到类别标签C的映射,数学描述就是:
\mathbf{X} \longmapsto \mathbf{C}, \ \mathbf{C} \in \{C_1, C_2, \cdots, C_{m} \} \tag{1}先强调下,Naive Bayes中Naive就是要求数据特征列各自独立,也就是:
P(\mathbf{X}_1, \cdots, \mathbf{X}_p) = P(\mathbf{X}_1) \cdots P(\mathbf{X}_p)加上条件有:
P(\mathbf{X}_1, \cdots, \mathbf{X}_p | \mathbf{C}) = \prod_{j=1}^mP(\mathbf{X}_j|\mathbf{C})利用贝叶斯公式有:
P(\mathbf{C}|\mathbf{X}) = \frac{P(\mathbf{X}|\mathbf{C})P(\mathbf{C})}{P(\mathbf{X})} \tag{2}对于式2中,P(\ma ...
机器学习-白板推导4.2 线性分类——高斯判别模型
机器学习-白板推导4.2 线性分类——高斯判别模型1. 高斯判别模型描述Gaussian Discriminate Analysis——GDA 模型描述。
假定数据集:
\mathcal{D}=\{(x_1, y_1),(x_2, y_2),\cdots,(x_N, y_N)\}, \ 其中x_i\in\mathbb{R}^{p},y_i\in\mathbb{R},i=1, \ 2,\cdots,\ N。数据矩阵为:
\begin{equation}
X=(x_1, x_2, \cdots, x_N)^T=
\begin{pmatrix}
x_1^T \\
x_2^T \\
\vdots\\
x_N^T \\
\end{pmatrix} =
\begin{pmatrix}
x_{11} & x_{12} & \dots & x_{1p}\\
x_{21} & x_{32} & \dots & x_{2p}\\
\vdots & \vdots & \ddots & \vdots\\
x_ ...
机器学习-白板推导 4.1 线性分类
机器学习-白板推导 4.1 线性分类1. 从线性回归到线性分类 线性回归的特性及将线性回归转为线性分类的办法
线性回归模型可以写作f(w, b) = w^Tx + b。其线性体现在三个方面:
属性线性:f(w, b)关于 x是线性的
全局线性:指w^Tx + b是一个线性组合,然后输出得到f(w, b)
系数线性:指f(w, b 关于w^T也是线性的
如果将某一种线性改为非线性就可以得到一种非线性模型。对应有:
将属性改为非线性:可以用特征转换(多项式回归),如a_1x_1^2 + a_2x_2^2 + \cdots
将全局线性改为非线性:加入激活函数,让输出变成非线性,比如logistic 分类,就变成了线性分类
将系数线性改为非线性:系数会改变,比如神经网络,通过反向传播改变权重。
而线性回归还有全局性和数据未加工的特性:
全局性:指线性回归是在整个特征空间上学习的,并没有将特征空间进行划分,然后在每个特征上学习。
数据未加工:线性回归直接在给定数据上进行学习而没有对数据进行处理,如PCA,流形等。
将全局性打破,即不根据所有点的情况回归,而是将数据分为一个个小的空间, ...
机器学习-白板推导 3. 线性回归
机器学习-白板推导 3. 线性回归1. 线性回归矩阵表示假定数据集:
\mathcal{D}=\{(x_1, y_1),(x_2, y_2),\cdots,(x_N, y_N)\}, \ 其中x_i\in\mathbb{R}^{p},y_i\in\mathbb{R},i=1, \ 2,\cdots,\ N。数据矩阵为:(这样可以保证每一行为一个数据点)
\begin{equation}
X=(x_1, x_2, \cdots, x_N)^T=
\begin{pmatrix}
x_1^T \\
x_2^T \\
\vdots\\
x_N^T \\
\end{pmatrix} =
\begin{pmatrix}
x_{11} & x_{12} & \dots & x_{1p}\\
x_{21} & x_{32} & \dots & x_{2p}\\
\vdots & \vdots & \ddots & \vdots\\
x_{N1} & x_{N2} & \dots & x_{Np}\\
...