Think Different


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

《机器学习》笔记 —— EM算法

发表于 2017-09-28 | 分类于 Meachine Learning | 阅读次数:

EM算法(对含隐变量的模型进行参数估计)

令x表示已观测变量集,z表示隐变量集,\(\theta\)表示模型参数,若对\(\theta\)做极大似然估计,则应最大化对数似然。 \[ LL(\theta|x,z)=\ln P(x,z|\theta) \]

由于存在隐变量z,此式无法直接求解,通过对z计算期望,求最大化已观测数据的对数边际似然: \[ LL(\theta,x) = \ln P(x|\theta)=\ln \sum_zP(x,z|\theta) \]

EM算法基本思想:

若\(\theta\)已知,则可根据训练数据推断最优隐变量z(E步)

若z的值已知,则可根据z对参数\(\theta\)做极大似然估计(M步)

迭代直至收敛: (1)基于\(\theta^t\)推断z的期望记为\(z^t\)

(2)基于已观测变量x和\(z^t\)对\(\theta\)做极大似然估计,记为\(\theta^{t+1}\)

隐变量估计问题也可以通过梯度下降等优化算法求解,但求和项数随隐变量的数目以指数级上升,会给梯度计算带来麻烦,而EM算法为非梯度算法。

《机器学习》笔记 —— 贝叶斯分类器

发表于 2017-09-22 | 分类于 Meachine Learning | 阅读次数:

贝叶斯决策论

假设有N种可能的类别标记,即\(y=\{c_1,c_2,\dots ,c_N\}\),\(\lambda_{ij}\)是将一个真实标记为\(c_i\)的标记误分为\(c_i\)所产生的损失,基于后验概率\(p(c_i|x)\)可获得将样本\(x\)分类为\(c_i\)所产生的期望损失,即在样本x上的条件风险: \[ R(c_i|x)=\sum_{j=1}^N \lambda_{ij}p(c_j|x) \]

目标是寻找判定准则h:\(\mathcal{X} \rightarrow \mathcal{Y}\)以最小化总体风险。 \[ R(h) = \mathbb{E}_x[R(h(x)|x)] \]

若h最小化条件风险\(R(h(x)|x)\),则总体风险\(R(x)\)也将被最小化。

阅读全文 »

《机器学习》笔记 —— 集成学习

发表于 2017-09-15 | 分类于 Meachine Learning | 阅读次数:

通过构建并结合多个学习器来完成学习任务。

个体学习器通常由一个现有学习算法从训练数据产生,再由某种策略将他们结合起来。

同质集成中的个体学习器亦称为“基学习器”,相应的学习算法称为“基学习算法”。

异质集成中的个体学习器由不同学习算法组成,个体学习器称为“组件学习器”

考虑二分类问题\(y\in \{-1,+1\}\)和真实函数\(f\),假定基学习器的错误率为\(\epsilon\),即对每个即分类器\(h_i\)有: \[ p(h_i(x)\neq f(x)) = \epsilon \]

用简单投票法结合T个基分类器,若超过半数的基分类器正确,则分类正确: \[ H(x)=sign(\sum_{i=1}^Th_i(x)) \]

阅读全文 »

《Deep Learning》笔记 —— 卷积神经网络

发表于 2017-09-01 | 分类于 Deep Learning Book | 阅读次数:

卷积网络是一种专门用来处理具有类似网格结构的数据的神经网络,例如时间序列数据(可以认为是在时间轴上有规律地采样形成的一维网格)和图像数据(二维像素网格),卷积网络在诸多应用领域都表现优异。卷积网络是指那些至少网络的一层中使用卷积运算来代替一般乘法运算的神经网络。

卷积运算

在通常形式中,卷积是对两个实变函数的一种数学运算。卷积运算通常用星号表示: \[ s(t)=(x*w)(t) \]

卷积的第一个参数通常叫作输入,第二个参数叫作核函数,输出有时被称作特征映射。

在机器学习应用中,输入通常是多维数组的数据,而核通常是由学习算法优化得到的多维数组参数。如果把一张二维图像I作为输入,也使用一个二维的核K: \[ S(i,j)=(I*K)(i,j)=\sum_m\sum_n I(m,n)K(i-m,j-n) \]

阅读全文 »

《机器学习》笔记 —— 决策树

发表于 2017-08-31 | 分类于 Meachine Learning | 阅读次数:

基本流程

一般的,一棵决策树包含一个根结点,若干个内部结点和若干个叶结点,叶结点对应于决策结果,其他每个结点对应于一个属性测试,每个结点包含的样本集合根据属性测试的结果被划分到子结点中,从根结点到叶结点的路径对应了一个判断测试序列。

决策树学习基本算法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
输入:训练集D={(x1,y1),(x2,y2),...,(xm,ym)}
属性集合A={a1,a2,...,ad}
过程:
TreeGenerate(D,A)
生成结点node
if D中样本全属于同一类C then
将node结点标记为C类叶结点;return
end if
if A=null或D中样本在A上取值相同 then
将node标记为叶结点,其类别标记为D种样本最多的类;return
end if
从A中选择最优划分属性a*
for a* 中每一个值a*^ do
为node生成一个分支:令D_v表示D中在a*上取值为a*^的样本子集
if D_v=null then
将分支标记为叶结点,其类别为D中样本最多的类;return
else
以TreeGenerate(D_v,A\{a*})为分支结点
end if
end
阅读全文 »

《Deep Learning》笔记 —— 深度学习中的正则化

发表于 2017-08-27 | 分类于 Deep Learning Book | 阅读次数:

参数范数惩罚

许多正则化的方法通过对目标函数\(J\)添加一个参数范数惩罚\(\Omega(\theta)\),限制模型(如神经网络、线性回归或逻辑回归)的学习能力。我们将正则化后的目标记为\(\tilde{J}\): \[ \tilde{J}(\theta;X,y)=J(\theta;X,y)+\alpha\Omega(\theta) \] 其中\(\alpha\in [0,\infty]\)是权衡惩罚项\(\Omega\)和目标函数\(\tilde{J}(X,\theta)\)相对贡献的超参数。\(\alpha\)为0则没有正则化,\(\alpha\)越大,对应正则化惩罚越大。

在神经网络中,参数包括每一层仿射变换的权重和偏置,通常只对权重做惩罚,而不对偏置做正则惩罚,每个偏置只控制一个单变量,即使不对其进行正则化也不会导致太大方差,此外正则化偏置参数可能导致欠拟合。

\(L^2\)参数正则化

这个正则化的策略是向目标函数添加一个正则项\(\Omega(\theta)=\frac{1}{2}||w||_2^2\),使权重更接近原点。

阅读全文 »

《机器学习》笔记 —— 支持向量机

发表于 2017-08-25 | 分类于 Meachine Learning | 阅读次数:

支持向量机基本形式

分类学习的思想基本思想是基于训练集D在样本空间找到一个划分超平面,将不同的样本分开,而SVM试图找到一个最大间隔的划分超平面。

划分超平面可通过如下线性方程来描述: \[ w^Tx+b=0 \] 其中,\(w\)为法向量,决定超平面方向,\(b\)为位移量决定超平面与原点的距离。

样本空间任意点\(x\)到超平面的距离: \[r=\frac{w^Tx+b}{||w||}\] 假设超平面\((w,b)\)能将训练样本正确分类,即对于\((x_i,y_i)\in D)\),若\(y_i=+1\),则\(w^T_i+b>0\),若\(y_i=-1\)则有\(w^Tx_i+b<0\),令

\[ \left \{ \begin{array}{rl} w^Tx_i+b\geq +1 \text{, }y_i=+1 \\ \\ w^Tx_i+b\leq -1 \text{, }y_i=-1 \end{array} \right . \]

距离超平面最近的几个训练样本使上式等号成立,它们被称为“支持向量”,两个异类支持向量到超平面的距离之和: \[ \gamma=\frac{2}{||w||} \]

最大间隔,即找到\(w,b\),使得\(\gamma\)最大: \[ \max_{w,b}\frac{2}{||w||} \\ s.t.\quad \, y_i(w^Tx_i+b)\geq 1 \text{, }i=1,2,\dots,m \]

即, \[ \min_{w,b}\frac{1}{2}||w||^2 \\ s.t.\quad y_i(w^Tx_i+b)\geq 1 \text{, }i=1,2,\dots,m \] 此为支持向量机(SVM)的基本型。

阅读全文 »

《机器学习》笔记 —— 线性模型

发表于 2017-08-22 | 分类于 Meachine Learning | 阅读次数:

基本形式:

给定d个属性的示例\(x=(x_1,x_2,\dots ,x_d)\),线性模型试图学得一个通过属性的线性组合来进行预测的函数: \[f(x)=w_1x_1+w_2x_2+,\dots ,w_dx_d+b\] 一般向量形式: \[f(x)=W^Tx+b\]

线性回归

给定数据集\(D=\{(x_1,y_1),(x_2,y_2),\dots ,(x_m,y_m)\}\),其中\(x_i=(x_{i1},\dots ,x_{id})\),\(y_i\in \mathbb{R}\),线性回归试图学得一个线性模型以尽可能准确预测实值输出标记。

线性回归试图学得\(f(x)=w^Tx+b\approx y_i\),以均方误差作为性能度量,目标是使均方误差最小,即: \[(w^*,b^*)=\arg\min_{w,b}\sum_{i=1}^m(f(x_i)-y_i)^2\]

基于均方误差最小化来进行建模,求解的方法为“最小二乘法”,其试图找到一条直线,使所有样本到直线的距离最小。

阅读全文 »

《Deep Learning》笔记 —— 深度前馈网络

发表于 2017-08-20 | 分类于 Deep Learning Book | 阅读次数:

深度前馈网络也叫作前馈神经网络或者多层感知机,一种理解前馈网络的方式是从线性模型开始的,并考虑克服其局限性。线性模型,如逻辑回归和线性回归,无论是通过闭解形式还是使用凸优化,它们都能高效且可靠的拟合。但是也存在明显缺陷,线性模型被局限在线性函数里,所以无法理解两个输入变量的相互作用。

为了扩展线性模型来表示\(x\)的非线性函数,引入非线性变换\(\phi(x)\),关于如何选择\(\phi\),有如下方法:

1)使用一个通用\(\phi\),例如无限维的\(\phi\),它隐含地用在基于RBF核的核机器上。非常通用的特征映射通常只基于局部光滑原则,并且没有足够先验信息解决高级问题。

2)手动设计\(\phi\),缺点是不同的领域难以迁移。

3)深度学习的策略是自主学习\(\phi\),这种方法的优点是我们只需要寻找正确的函数族就可以了,不需要去寻找精确函数。

阅读全文 »

《Deep Learning》笔记 —— 促使深度学习发展的原因

发表于 2017-08-19 | 分类于 Deep Learning Book | 阅读次数:

1. 维数灾难

一组变量不同的可能配置数量会随着变量的数目的增长而指数级增长,而这种可能的配置数量远大于训练样本的数目。许多传统机器学习算法只是简单的假设在一个新点的输出大致和最接近点的输出相同。

2. 局部不变性和平滑正则化

传统机器学习算法中存在一个使用最广泛的隐式“先验”:平滑先验或称为局部不变性先验。该先验表明学习的函数不应在小区域内发生很大的变化。

许多不同的方法显式或隐式地表示学习函数应具有平滑或局部先验,其旨在鼓励学习过程能学习出函数\(f^*\),对于大多数\(x\)和小变动\(\epsilon\)都满足条件: \[ f^*\approx f^*(x+\epsilon) \]

  1. 局部不变方法的一个极端例子是k-最近邻系列算法,当一个区域内的所有点\(x\)在训练集中的\(k\)个近邻的结果是一样的,则对这些点的预测也是一样的。

  2. 大部分核机器也是和附近训练样本相关的训练集的输出进行插值,例如一类重要的核函数是局部核(local kernel)。

  3. 决策树也具有平滑学习的局限性,因为它将输入空间分成和叶节点一样多的区间,并在每个区间使用单独的参数。

    阅读全文 »
12
Zhipeng Shen

Zhipeng Shen

18 日志
9 分类
10 标签
GitHub Weibo Linkedin E-Mail
© 2017 Zhipeng Shen
Hosted by Coding Pages