机器学习概要
机器学习的典型任务:
回归
是指把实函数在样本点附近加以近似的有监督的模式识别问题。对一个或多个自变量和因变量之间关系进行建模,求解的一种统计方法。
分类
是指对于指定的模式进行识别的有监督的模式识别问题。
异常检测
是指寻找输入样本 {x⃗ i}ni=1 { x → i } i = 1 n 中所包含的异常数据的问题。
常采用密度估计的方法:正常数据为靠近密度中心的数据;异常数据为偏离密度中心的数据。聚类
与分类问题类似,是无监督的模式识别问题(在聚类问题中常用簇代表类别)。性质→簇,关进课题是计算样本之间的相似度。
降维
是指从高维度数据中提取关键信息,将其转换为易于计算的低维度问题进而求解的方法。
机器学习的主要流派
一个经典的分类问题,对模式 x⃗ x → 的类别 y y 进行预测,记为.
在已知模式 x⃗ x → 时,求得使分类类别 y y 的条件概率(模式识别中称为后验概率)达到最大值的类别 y^ y ^ . argmaxyP(y|x⃗ ) a r g m a x y P ( y | x → ) 是指当条件概率 P(y|x⃗ ) P ( y | x → ) 取最大值时对应的 y y 值。
判别式分类
应用训练集直接对后验概率进行学习的过程。
著有《统计学理论的本质》一书的弗拉基米尔·万普尼克(Vladimir Vapnik)提到:“要试图得到所需要的答案,而不是更一般的答案。很可能你拥有足够的信息来很好地解决一个感兴趣的特定问题,但却没有足够的信息来解决一个一般性的问题。”
产生式分类(生成的分类)
通过预测数据生成概率(联合概率) P(x⃗ ,y) P ( x → , y ) 来进行模式识别的分类方法。
P(y|x⃗ )=P(x⃗ ,y)P(x⃗ ) P ( y | x → ) = P ( x → , y ) P ( x → )
P(x⃗ )=∑yP(x⃗ ,y) P ( x → ) = ∑ y P ( x → , y )可见,数据生成概率是更一般的问题。
概率派(统计概率)
(包含参数 θ⃗ θ → 的模型 q(x⃗ i,yi|θ⃗ ) q ( x → i , y i | θ → ) 为例,说明计算数据生成概率的问题)
将模式 θ⃗ θ → 作为决定性的变量,用训练样本 D={(x⃗ i,yi)}ni=1 D = { ( x → i , y i ) } i = 1 n 对模型 θ⃗ θ → 进行学习。
在最大似然估计(Maximum Likelihood Estimation)算法中,对生成训练集 D D 的最容易的方法所对应的模式 θ⃗ θ → 进行学习。
maxθ⃗ ∏i=1nq(x⃗ i,yi;θ⃗ ) m a x θ → ∏ i = 1 n q ( x → i , y i ; θ → )x⃗ i x → i 服从独立同分布(i.i.d),概率密度 f(x1,x2,⋯,xn|θ)=∏ni=1f(xi|θ) f ( x 1 , x 2 , ⋯ , x n | θ ) = ∏ i = 1 n f ( x i | θ ) .
似然定义为:L(θ;x1,x2,⋯,xn)=f(x1,x2,⋯,xn|θ)=∏i=1nf(xi|θ) L ( θ ; x 1 , x 2 , ⋯ , x n ) = f ( x 1 , x 2 , ⋯ , x n | θ ) = ∏ i = 1 n f ( x i | θ )最大似然估计为:
lnL(θ;x⃗ )=∑i=1nlnf(x⃗ i|θ) ln L ( θ ; x → ) = ∑ i = 1 n ln f ( x → i | θ )贝叶斯派(朴素贝叶斯)
(包含参数 θ⃗ θ → 的模型 q(x⃗ i,yi|θ⃗ ) q ( x → i , y i | θ → ) 为例,说明计算数据生成概率的问题)
将模式 θ⃗ θ → 作为概率变量,对其先验概率 P(θ⃗ P ( θ → 加以考虑,计算与训练集相对应的后验概率 P(θ⃗ |D) P ( θ → | D ) .
P(θ⃗ |D)=P(D|θ⃗ )P(θ⃗ )P(D)=∏ni=1q(x⃗ i,yi|θ⃗ )P(θ⃗ )∫∏ni=1q(x⃗ i,yi|θ⃗ )P(θ⃗ )dθ⃗ P ( θ → | D ) = P ( D | θ → ) P ( θ → ) P ( D ) = ∏ i = 1 n q ( x → i , y i | θ → ) P ( θ → ) ∫ ∏ i = 1 n q ( x → i , y i | θ → ) P ( θ → ) d θ →这里 P(D) P ( D ) 是数据实际分布的情况, q(x⃗ i,yi|θ⃗ ) q ( x → i , y i | θ → ) 是似然函数值。
在《图解机器学习》一书中,以基于频率派的识别式机器学习算法为主。
学习模型
机器学习算法的学习模型大多着重于如何使特定函数与数据集相近似。
魏尔斯特拉斯(Weierstrass)第一逼近定理:假设 f(x) f ( x ) 是闭区间 [a,b] [ a , b ] 上的连续函数,对任意的 ϵ>0 ϵ > 0 ,则存在多项式 P(x) P ( x ) 使得对于所有的 x∈[a,b] x ∈ [ a , b ] ,有 |f(x)−P(x)|<ϵ | f ( x ) − P ( x ) | < ϵ .
线性模型
线性模型并非仅仅指自变量与因变量为线性的模型( y=kx y = k x ),也表示基于参数的线性模型,可以用来表示非线性的输入输出关系。
fθ(x)=θx f θ ( x ) = θ xfθ(x⃗ )=∑j=1bθjϕj(x⃗ )=θ⃗ TΦ⃗ (x⃗ ) f θ ( x → ) = ∑ j = 1 b θ j ϕ j ( x → ) = θ → T Φ → ( x → )这里的 ϕ(x) ϕ ( x ) 为基函数, x⃗ x → 为高维输入数据。
乘法模型
把一维基函数作为因子,通过使其相乘获得多维基函数(参数个数为 b′d b ′ d )。
fθ(x⃗ )=∑j1=1b′⋯∑jd=1b′θj1,⋯,jdϕj1(x(1))⋯ϕjd(x(d)) f θ ( x → ) = ∑ j 1 = 1 b ′ ⋯ ∑ j d = 1 b ′ θ j 1 , ⋯ , j d ϕ j 1 ( x ( 1 ) ) ⋯ ϕ j d ( x ( d ) )加法模型
把一维基函数作为因子,通过使其相加获得多维基函数(参数个数为 b′d b ′ d )。
fθ(x⃗ )=∑k=1d∑j=1b′θk,jϕj(x(k)) f θ ( x → ) = ∑ k = 1 d ∑ j = 1 b ′ θ k , j ϕ j ( x ( k ) )核模型
使用核函数,以 K(x⃗ ,x⃗ j)nj=1 K ( x → , x → j ) j = 1 n 线性结合的方式定义(输入样本 {xi}ni=1 { x i } i = 1 n )。
fθ(x⃗ )=∑j=1nθjK(x⃗ ,x⃗ j) f θ ( x → ) = ∑ j = 1 n θ j K ( x → , x → j )高斯核函数:
K(x⃗ ,c⃗ )=exp(−∥x⃗ −c⃗ ∥222h2) K ( x → , c → ) = e x p ( − ‖ x → − c → ‖ 2 2 2 h 2 )这里的 h h 为带宽,为均值。
欧几里得范数(L2-Norm): ∥x⃗ ∥2=x21+x22+⋯+x2n−−−−−−−−−−−−−−−√ ‖ x → ‖ 2 = x 1 2 + x 2 2 + ⋯ + x n 2
层级模型
是非线性模型之一,人工神经网络模型。
fθ(x⃗ )=∑j=1bαjϕ(x⃗ ;βj) f θ ( x → ) = ∑ j = 1 b α j ϕ ( x → ; β j )关于参数向量 α⃗ α → 的线性形式;关于参数向量 θ⃗ =(α⃗ T,β⃗ T)T θ → = ( α → T , β → T ) T 的非线性形式。