根据王文敏的《人工智能原理》做的笔记,有问题的地方还请指正。(之前一直在自建的博客上写博文,这是转载自自建的博客)
相关理论
PAC理论
泛化误差
假设 h ∈ H h\in H h∈H、目标概念 c ∈ C c\in C c∈C以及潜在的分布 D D D,则泛化误差或 h h h的风险可表示为:
R ( h ) = P r x ∼ D [ h ( x ) ≠ c ( x ) ] = E x ∼ D [ l h ( x ) ≠ c ( x ) ] R(h)=Pr_{x\sim D}[h(x)\not=c(x)]=E_{x\sim D}[l_{h(x)\not=c(x)}] R(h)=Prx∼D[h(x)=c(x)]=Ex∼D[lh(x)=c(x)],其中 I ω I_\omega Iω是事件 ω \omega ω的指标函数, E x ∼ D [ ⋅ ] E_{x\sim D}[\cdot] Ex∼D[⋅]表示从分布 D D D中提取 x x x的期望值。
经验误差
假设 h ∈ H h\in H h∈H、目标概念 c ∈ C c\in C c∈C以及样本 S = ( x 1 , ⋯ , x n ) S=(x_1,\cdots,x_n) S=(x1,⋯,xn),则经验误差可以表示为: R ^ ( h ) = 1 m ∑ i = 1 m l h ( x ) ≠ c ( x ) \hat{R}(h)=\frac{1}{m}\sum^m_{i=1}l_{h(x)\not=c(x)} R^(h)=m1∑i=1mlh(x)=c(x)
可能近似正确学习
可能近似正确学习(probably approximately correct,PAC):
若存在算法 A A A和多项式函数 p l o y ( ⋅ , ⋅ , ⋅ , ⋅ ) ploy(\cdot,\cdot,\cdot,\cdot) ploy(⋅,⋅,⋅,⋅),使得对任意的 ϵ > 0 \epsilon>0 ϵ>0和 δ > 0 \delta>0 δ>0,对所有 X X X上的分布 D D D以及对任意的目标概念 c ∈ C c\in C c∈C,如下表达式:
P r S − D m [ R ( h S ) ≤ ϵ ] ≥ 1 − δ Pr_{S-D^m}[R(h_S)\leq\epsilon]\geq1-\delta PrS−Dm[R(hS)≤ϵ]≥1−δ,适用于任何样本大小, m ≥ p o l y ( 1 P ϵ , 1 δ , s i z e ( c ) ) m\geq poly(\frac{1}P{\epsilon},\frac{1}{\delta},size(c)) m≥poly(P1ϵ,δ1,size(c)),概念类 C C C被称为PAC可学习。
没有免费午餐定理
针对监督学习,在损失函数为误分类率的情况下,若关注于训练集外误差,则在学习算法之间没有先验的区别。
定理1:期望值 E ( C ∣ d ) E(C|d) E(C∣d)可以表示为两个分布 P ( h ∣ d ) P(h|d) P(h∣d)和 P ( f ∣ d ) P(f|d) P(f∣d)的(非欧几里得)内积:
E ( C ∣ d ) = ∑ h , f E r ( h , d , f ) P ( h ∣ d ) P ( f ∣ d ) E(C|d)=\sum_{h,f}Er(h,d,f)P(h|d)P(f|d) E(C∣d)=∑h,fEr(h,d,f)P(h∣d)P(f∣d)
定理2:考虑训练集外误差函数。不管对通常称之为风险的 E ( C ∣ d ) 、 E ( C ∣ m ) 、 E ( C ∣ f , d ) 、 E ( C ∣ f , m ) E(C|d)、E(C|m)、E(C|f,d)、E(C|f,m) E(C∣d)、E(C∣m)、E(C∣f,d)、E(C∣f,m)采用何种何种度量,所有的算法性能的平均值都是相等的。
整体组成
学习任务:分类、回归、聚类、排名、密度估计、降维、序贯决策
学习范式:代表性的有监督学习、无监督学习、强化学习,还有强化学习、迁移学习、联邦学习、分布式机器学习等
学习框架:概率框架(生成、判别)、统计框架(参数、非参数)、几何框架(超平面、距离、流形)、逻辑框架(逻辑或规则方法构建学习算法)、决算框架(马尔科夫决策中模型无关和模型相关)、联结框架(深层网络与浅层网络、前馈网络与循环网络)
学习的任务
不同领域需要达到不同的目标,我们针对不同问题找到共性、基本的部分,分门别类找出各自的解决途径。
分类
三个要素:数据划分不同类别;类别已知;样本训练
分类器:实现分类功能的算法
分类函数:分类器中将输入数据映射为相应类别的函数
工作原理
设 R N ( N ≥ 1 ) R^N(N\geq1) RN(N≥1)表示一个 N N N维实值向量的集合,输入空间 X X X是 R N R^N RN的一个子集,输出空间 Y = { c 1 , c 2 , ⋯ , c n } Y=\{c_1,c_2,\cdots,c_n\} Y={c1,c2,⋯,cn}是已知的 K K K个类别, D D D是 X × Y X\times Y X×Y的一个未知分布,设目标函数为 X X X映射到 Y Y Y空间的分类函数 f : X → Y f:X\rightarrow Y f:X→Y
训练集 S S S为已标注的、每个训练数据表示为 ( x i , y k ) (x_i,y_k) (xi,yk)的数据对的集合,其中 ( x i , y k ) (x_i,y_k) (xi,yk)属于 X X X与 Y Y Y的笛卡尔乘积, i i i和 k k k的取值范围分别为 [ 1 , M ] [1,M] [1,M]和 [ 1 , K ] [1,K] [1,K],表示为:
S = { ( x i , y k ) ∣ x i ∈ X , y k = c k ∈ Y , i ∈ [ 1 , M ] , k ∈ [ 1 , K ] } S=\{(x_i,y_k)|x_i\in X,y_k=c_k\in Y,i\in [1,M],k\in [1,K]\} S={(xi,yk)∣xi∈X,yk=ck∈Y,i∈[1,M],k∈[1,K]}
设假设函数集 H H H是 X X X到 Y Y Y的分类函数的集合,目的是通过 S S S的训练,得到其中的一个假设函数 h ∈ H h\in H h∈H,满足 h h h: X → Y X\rightarrow Y X→Y,并且 h ( x ) h(x) h(x)与 f ( x ) f(x) f(x)之间具有最小泛化误差: R ( h ) = P r x [ h ( x ) ≠ f ( x ) ] R(h)=Pr_x[h(x)\not=f(x)] R(h)=Prx[h(x)=f(x)]
给定具有 M ′ M' M′个未知类别的实测数据的数据集 T ⊆ X T\subseteq X T⊆X,表现为 x j x_j xj的集合,即: T = { x j ∣ x j ∈ X , j ∈ [ 1 , M ′ ] } T=\{x_j|x_j\in X,j\in [1,M']\} T={xj∣xj∈X,j∈[1,M′]}
分类后的集合为: h ( T ) = { ( x j , y k ) ∣ j ∈ [ 1 , M ′ ] , y k = h ( x j ) = c k ∈ Y , k ∈ [ 1 , K ] } h(T)=\{(x_j,y_k)|j\in [1,M'],y_k=h(x_j)=c_k\in Y,k\in [1,K]\} h(T)={(xj,yk)∣j∈[1,M′],yk=h(xj)=ck∈Y,k∈[1,K]}
主要途径
线性分类: y ( x ) = w ⋅ x + b = ∑ i = 0 N w i x i + b y(x)=w\cdot x+b=\sum^N_{i=0}w_ix_i+b y(x)=w⋅x+b=∑i=0Nwixi+b, w ∈ R N , w = ( w 1 , w 2 , ⋯ , w n ) , x = ( x 1 , x 2 , ⋯ , x n ) T w\in R^N,w=(w_1,w_2,\cdots,w_n),x=(x_1,x_2,\cdots,x_n)^T w∈RN,w=(w1,w2,⋯,wn),x=(x1,x2,⋯,xn)T, b ∈ R b\in R b∈R表示偏差(bias)
非线性分类: y ( x ) = w 0 + w 1 x + w 2 x 2 + ⋯ + w N x N = ∑ i = 0 N w i x i , 正 则 化 后 : y ( x ) = ∑ i = 0 N w i ϕ i ( x ) = w T Φ ( x ) y(x)=w_0+w_1x+w_2x^2+\cdots+w_Nx^N=\sum^N_{i=0}w_ix^i,正则化后:y(x)=\sum^N_{i=0}w_i\phi_i(x)=w^T\Phi(x) y(x)=w0+w1x+w2x2+⋯+wNxN=∑i=0Nwixi,正则化后:y(x)=∑i=0Nwiϕi(x)=wTΦ(x)
SoftMax分类器: σ ( x ) = e x p ( x j ) ∑ k − 1 K e x p ( x k ) \sigma(x)=\frac{exp(x_j)}{\sum^K_{k-1}exp(x_k)} σ(x)=∑k−1Kexp(xk)exp(xj), j = 1 , ⋯ , K j=1,\cdots,K j=1,⋯,K; P ( y = j ∣ x ) = e x p ( x T w j ) ∑ k − 1 K e x p ( x T w k ) P(y=j|x)=\frac{exp(x^Tw^j)}{\sum^K_{k-1}exp(x^Tw^k)} P(y=j∣x)=∑k−1Kexp(xTwk)exp(xTwj)
回归
回归分析是估计变量之间关系的统计过程,某个因变量与一个或多个自变量之间的关系,其输出是一个连续值。
两个要素:变量间关系;输出是连续值。
工作原理
设 R N ( N ≥ 1 ) R^N(N\geq1) RN(N≥1)表示一个 N N N维实值向量的集合,输入空间 X X X是 R N R^N RN的一个子集,输出空间 Y = { c 1 , c 2 , ⋯ , c n } Y=\{c_1,c_2,\cdots,c_n\} Y={c1,c2,⋯,cn}是已知的 K K K个类别, D D D是 X × Y X\times Y X×Y的一个未知分布,设目标函数为 X X X映射到 Y Y Y空间的回归函数 f : X → Y f:X\rightarrow Y f:X→Y
训练集 S S S为已标注的、每个训练数据表示为 ( x i , y k ) (x_i,y_k) (xi,yk)的数据对的集合: S = { ( x i , y i ) ∣ ( x i , y i ) ∈ X × Y , i ∈ [ 1 , M ] } S=\{(x_i,y_i)|(x_i,y_i)\in X\times Y,i\in [1,M]\} S={(xi,yi)∣(xi,yi)∈X×Y,i∈[1,M]}
设假设函数集合 H H H是 X X X到 Y Y Y的回归函数的集合,目的是得到其中的一个假设函数(回归函数) h ∈ H h\in H h∈H,满足 h : X → Y h:X\rightarrow Y h:X→Y,并且 h ( x ) h(x) h(x)和 f ( x ) f(x) f(x)之间具有最小泛化误差: R ( h ) = E x [ L ( h ( x ) ) , f ( x ) ] R(h)=E_x[L(h(x)),f(x)] R(h)=Ex[L(h(x)),f(x)],其中 h h h是真实的连续函数。
给定具有 M ′ M' M′个未知输出的实测数据集 T ⊆ X : T = { x j ∣ x ∈ X , j ∈ [ 1 , M ′ ] } T\subseteq X:T=\{x_j|x\in X,j\in [1,M']\} T⊆X:T={xj∣x∈X,j∈[1,M′]}
训练好的回归函数 h ( X ) h(X) h(X)预测回归结果: h ( T ) = { y i = h ( x j ) ∣ j ∈ [ 1 , M ′ ] , h ( x j ) ∈ R + } h(T)=\{y_i=h(x_j)|j\in [1,M'],h(x_j)\in R_{+}\} h(T)={yi=h(xj)∣j∈[1,M′],h(xj)∈R+}
主要途径
线性回归: y ( x ) = w T x + ϵ = ∑ i = 0 N w i x i + ϵ , ϵ ∼ N y(x)=w^Tx+\epsilon=\sum^N_{i=0}w_ix_i+\epsilon,\epsilon\sim N y(x)=wTx+ϵ=∑i=0Nwixi+ϵ,ϵ∼N,构建如下模型: P ( y ∣ x , θ ) = N ( y ∣ μ ( x ) , σ 2 ( x ) ) P(y|x,\theta)=N(y|\mu(x),\sigma^2(x)) P(y∣x,θ)=N(y∣μ(x),σ2(x))。由于 μ ( x ) \mu(x) μ(x)是一维线性,故: μ ( x ) = w T x \mu(x)=w^Tx μ(x)=wTx。由于噪声固定,即 σ 2 ( x ) = σ 2 \sigma^2(x)=\sigma^2 σ2(x)=σ2。此时 θ = ( w , σ 2 ) \theta=(w,\sigma^2) θ=(w,σ2),有: P ( y ∣ s , θ ) = N ( y ∣ w T x , σ 2 ) P(y|s,\theta)=N(y|w^Tx,\sigma^2) P(y∣s,θ)=N(y∣wTx,σ2)
非线性回归: y ( x ) = w 0 + w 1 x + w 2 x 2 + ⋯ + w N x N = ∑ i = 0 N w i x i , 正 则 化 后 y ( x ) = ∑ i = 0 N w i ϕ i ( x ) = w T Φ ( x ) y(x)=w_0+w_1x+w_2x^2+\cdots+w_Nx^N=\sum^N_{i=0}w_ix^i,正则化后y(x)=\sum^N_{i=0}w_i\phi_i(x)=w^T\Phi(x) y(x)=w0+w1x+w2x2+⋯+wNxN=∑i=0Nwixi,正则化后y(x)=∑i=0Nwiϕi(x)=wTΦ(x),其中 Φ ( x ) = ( x , x 2 , ⋯ , x N ) T \Phi(x)=(x,x^2,\cdots,x^N)^T Φ(x)=(x,x2,⋯,xN)T,称为回归的基函数。与分类相同, Φ 0 ( x ) = 1 \Phi_0(x)=1 Φ0(x)=1,故 w 0 ϕ 0 ( x ) = w 0 w_0\phi_0(x)=w_0 w0ϕ0(x)=w0。因此可以写成这种形式: P ( y ∣ x , θ ) = N ( y ∣ w T Φ ( x ) , σ 2 ) P(y|x,\theta)=N(y|w^T\Phi(x),\sigma^2) P(y∣x,θ)=N(y∣wTΦ(x),σ2),称为基函数拓展。
聚类
将输入数据通过分析而划分成若干个类簇(cluster),同一类簇中的数据之间具有某种内在的关系。
两个要素: 将数据划分成类簇;二是同一个类簇中的数据之间具有内在关系。
聚类与分类的区别:类簇及其个数是事先未知的,类及其个数是事先已知的;聚类没有训练数据,分类有训练数据。
工作原理
设 R N ( N ≥ 1 ) R^N(N\geq1) RN(N≥1)表示一个 N N N维实值向量的集合,输入空间 X X X是 R N R^N RN的一个子集,输出空间 Y = { c 1 , c 2 , ⋯ , c n } Y=\{c_1,c_2,\cdots,c_n\} Y={c1,c2,⋯,cn}是已知的 K K K个类别, D D D是 X × Y X\times Y X×Y的一个未知分布,设目标函数为 X X X映射到 Y Y Y空间的聚类函数 f : X → Y 且 h ∈ H f:X\rightarrow Y且h\in H f:X→Y且h∈H,其中 h h h是 H H H的最佳函数。
设聚类分析的输入是一个具有 M M M个数据 x i ∈ X x_i\in X xi∈X、且未知类簇及其个数的实测数据集 T ⊆ X T\subseteq X T⊆X,则聚类分析可以表示为: T = { x i ∣ x i ∈ X , i ∈ [ 1 , M ] } T=\{x_i|x_i\in X,i\in [1,M]\} T={xi∣xi∈X,i∈[1,M]}
进行聚类分析,得到聚类结果: Y ′ = { c 1 , c 2 , ⋯ , c K } Y'=\{c_1,c_2,\cdots,c_K\} Y′={c1,c2,⋯,cK},其中 K K K为聚类的个数, y k = c k ∈ Y ′ , 且 Y ′ ⊆ Y y_k=c_k\in Y',且Y'\subseteq Y yk=ck∈Y′,且Y′⊆Y,即: Y ′ = h ( T ) = { y k = h ( x i ) ∣ x i ∈ X , i ∈ [ 1 , M ] , y k = c k ∈ Y ′ , k ∈ [ 1 , K ] } Y'=h(T)=\{y_k=h(x_i)|x_i\in X,i\in [1,M],y_k=c_k\in Y',k\in [1,K]\} Y′=h(T)={yk=h(xi)∣xi∈X,i∈[1,M],yk=ck∈Y′,k∈[1,K]},需要注意的是类簇 c k c_k ck及其个数 K K K是事先未知的,通过聚类分析后得到的。
主要途径
分类:硬聚类、软聚类
连通性聚类:层次聚类,根据对象间距离进行聚类。
单链接聚类: m i n { d ( x , y ) : x ∈ A , y ∈ B } min\{d(x,y):x\in A,y\in B\} min{d(x,y):x∈A,y∈B}
全链接聚类: m a x { d ( x , y ) : x ∈ A , y ∈ B } max\{d(x,y):x\in A,y\in B\} max{d(x,y):x∈A,y∈B}
平均链接聚类: 1 ∣ A ∣ ⋅ ∣ B ∣ ∑ x ∈ A ∑ y ∈ B d ( x , y ) \frac{1}{|A|\cdot |B|}\sum_{x\in A}\sum_{y\in B}d(x,y) ∣A∣⋅∣B∣1∑x∈A∑y∈Bd(x,y)
基于质心聚类:类簇中数据对象的平均值,将数据对象分配给相应的聚类中心,使得该类簇的平方距离最小。基本步骤为:设定聚类个数,寻找相应的聚类中心,再将输入数据分配到最近的聚类中心,使得该类簇中的数据与聚类中心的平方距离最小。其中 k k k-均值算法如下(硬聚类):
设 M M M个输入数据 T = { x 1 , x 2 , ⋯ , x n } , k = K , K 个 类 簇 为 C = { c 1 , c 2 , ⋯ , c K } T=\{x_1,x_2,\cdots,x_n\},k=K,K个类簇为C=\{c_1,c_2,\cdots,c_K\} T={x1,x2,⋯,xn},k=K,K个类簇为C={c1,c2,⋯,cK},则目标函数 f f f为:
f = a r g m i n C ∑ k = 1 K ∑ x ∈ c k ∣ ∣ x − μ k ∣ ∣ 2 f=arg \ min_C\sum^K_{k=1}\sum_{x\in c_k}||x-\mu_k||^2 f=arg minC∑k=1K∑x∈ck∣∣x−μk∣∣2
设 K K K个类簇在第 t t t次迭代的均值为 μ = { μ 1 ( 1 ) , ⋯ , μ K ( t ) } \mu=\{\mu_1^{(1)},\cdots,\mu_K^{(t)}\} μ={μ1(1),⋯,μK(t)},进行赋值和更新,直到赋值与更新不再变化。
赋值:使得平方欧式距离最小,即 ∀ l , 1 ≤ l ≤ K : c k ( t ) = { x ∣ ∣ ∣ x − μ k ( t ) ∣ ∣ 2 ≤ ∣ ∣ x − μ l ( t ) ∣ ∣ 2 } \forall l,1\leq l\leq K:c^{(t)}_k=\{x|||x-\mu_k^{(t)}||^2\leq||x-\mu_l^{(t)}||^2\} ∀l,1≤l≤K:ck(t)={x∣∣∣x−μk(t)∣∣2≤∣∣x−μl(t)∣∣2}
更新:计算新的均值使输入数据成为新的质心: μ k ( t + 1 ) = 1 ∣ C k ( t ) ∣ ∑ x i ∈ o k ( t ) x k \mu_k^{(t+1)}=\frac{1}{|C_k^{(t)}|} \sum_{x_i\in o^{(t)}_k }x_k μk(t+1)=∣Ck(t)∣1∑xi∈ok(t)xk
基于分布聚类:类簇被定义为属于同一分布概率最大的数据对象。这类方法采用统计分布,常用的方法是期望最大化算法的高斯混合模型(GMM)。
设有 M M M个输入数据 T = { x 1 , x 2 , ⋯ , x M } T=\{x_1,x_2,\cdots,x_M\} T={x1,x2,⋯,xM},采用高斯混合模型将输入数据进行聚类。形成 K K K个类簇 C = { c 1 , c 2 , ⋯ , c K } C=\{c_1,c_2,\cdots,c_K\} C={c1,c2,⋯,cK},GMM中每个基础分布是均值 μ k \mu_k μk和协方差矩阵 ∑ k \sum_k ∑k的多元高斯分布:
p ( x i ∣ θ ) = ∑ K = 1 K π k N ( x i ∣ μ k , ∑ k ) p(x_i|\theta)=\sum^K_{K=1}\pi_kN(x_i|\mu_k,\sum_k) p(xi∣θ)=∑K=1KπkN(xi∣μk,∑k)
聚类时,首先计算 p ( z i = k ∣ x i , θ ) p(z_i=k|x_i,\theta) p(zi=k∣xi,θ),他表示输入数据点 i i i属于第 k k k个类簇的后验概率。采用贝叶斯规则进行计算实现软聚类:
r i k ≜ p ( z i = k ∣ x i , θ ) = P ( z i = k ∣ θ ) ⋅ p ( x i ∣ z i = k , θ ) ∑ k ′ = 1 K p ( z i = k ′ ∣ θ ) p ( x i ∣ z i = k ′ , θ ) r_{ik}\triangleq p(z_i=k|x_i,\theta)=\frac{P(z_i=k|\theta)\cdot p(x_i|z_i=k,\theta)}{\sum^K_{k'=1}p(z_i=k'|\theta)p(x_i|z_i=k',\theta)} rik≜p(zi=k∣xi,θ)=∑k′=1Kp(zi=k′∣θ)p(xi∣zi=k′,θ)P(zi=k∣θ)⋅p(xi∣zi=k,θ)
基于密度聚类:将稠密区的数据对象划分为一个类簇。
排名
排名是一组对象之间的有序关系,基于某种准则按顺序进行排列。
工作原理
设 X X X表示输入空间, D D D是 X × X X\times X X×X上的未知分布, Y = < X × X , ≥ > Y=<X\times X,\geq> Y=<X×X,≥>是输出空间,则目标函数为: f : X × X → Y f:X \times X\rightarrow Y f:X×X→Y
M M M个数据的训练集为: S = { ( x i , x j , ≥ ) ∣ ( x i , x j ) ∈ X × X , i ≠ j a n d i , j ∈ [ 1 , M ] } S=\{(x_i,x_j,\geq)|(x_i,x_j)\in X\times X,i\not= j and i,j\in [1,M]\} S={(xi,xj,≥)∣(xi,xj)∈X×X,i=jandi,j∈[1,M]}
给定假设函数 h : X × X → Y ∈ H : X × X → Y h:X\times X\rightarrow Y\in H:X\times X\rightarrow Y h:X×X→Y∈H:X×X→Y,则与 f f f之间的最小预期泛化误差为:
R ( h ) = P r x i , x j ∼ D [ f ( x i , x j ) ≠ 0 ∧ f ( x i , x j ) ( h ( x j ) − h ( x i ) ) ≤ 0 ] R(h)=Pr_{x_i,x_j\sim D}[f(x_i,x_j)\not=0 \land f(x_i,x_j)(h(x_j)-h(x_i))\leq 0] R(h)=Prxi,xj∼D[f(xi,xj)=0∧f(xi,xj)(h(xj)−h(xi))≤0]
主要途径
- 基于分值的排名:根据评分函数打分排名
- 基于偏好的排名:根据输入数据对象的重要性作为偏好函数依据进行打分
- 基于相关性的排名:主要方法有皮尔森相关系数、斯皮尔曼排名相关系数
降维
将高维空间的数据映射到低维空间,并保留原始数据的基本性质。
为什么:避免维度灾难;数据体积太大要去掉无关数据;数据可视化
工作原理
设 R N R^N RN表示一个 N N N维实值向量的集合,输入空间 X K X^K XK是 R N ( N > 3 ) R^N(N> 3) RN(N>3)的一个子集,输出空间 Y L Y^L YL是 R N ( N ≤ 3 ) R^N(N\leq 3) RN(N≤3)的一个子集,给定高维原始数据集 S = { x 1 , x 2 , ⋯ , x M } ⊆ X K × M S=\{x_1,x_2,\cdots,x_M\}\subseteq X^{K\times M} S={x1,x2,⋯,xM}⊆XK×M,以及一个特征映射的假设集: Φ : X K → Y L \Phi:X^K\rightarrow Y^L Φ:XK→YL。降维就是找到一个特征映射 ϕ ∈ Φ \phi\in\Phi ϕ∈Φ得到一个最优的低维目标数据集并且不改变原始数据特征的基本性质: T = y i ∣ ∀ i ∈ [ 1 , M ] , y i = ϕ ( x i ) ⊆ Y L × M T={y_i|\forall i \in[1,M],y_i=\phi(x_i)\subseteq Y^{L\times M}} T=yi∣∀i∈[1,M],yi=ϕ(xi)⊆YL×M
主要途径
分为线性降维和非线性降维。
线性降维包括线性子空间学习和多线性子空间学习。典型的线性子空间学习包括:主成分分析(PCA)、线性判别分析(LDA)、独立成分分析(ICA)、典型相关分析(CCA)。多线性子空间学习是进行多线性投影,典型孙发包括:MPCA、MLDA、MICA、MCCA。
非线性降维分三类,为多维尺度分析、核方法、流形学习。
学习的范式
学习的范式是对机器学习算法主要模式或体系的一种划分。
监督学习
用一组已标注的训练数据对机器学习算法进行训练,得到其中最优的一个假设。然后用该假设对未知数据进行处理,实现相应功能。
适用于:回归、分类、排名
过程
- 确定训练数据类型
- 构建训练数据集:完成标注,构成数据对
- 确定特征提取方法:手工特征和非手工特征
- 设计算法:设计用于处理任务的具体算法
- 训练该算法:用训练数据集训练算法,调好特定参数后根据训练数据进行调整、优化参数
- 精确性评估:验证数据集评估
形式化描述
输入空间 X X X,输出空间 Y Y Y, D D D表示为未知分布,目标函数为 f : X → Y f:X\rightarrow Y f:X→Y。训练数据集: S = { ( x i , y j ) ∣ ( x , y ) ∈ X × Y , i ∈ [ 1 , M ] } S=\{(x_i,y_j)|(x,y)\in X\times Y,i\in [1,M]\} S={(xi,yj)∣(x,y)∈X×Y,i∈[1,M]}
得到的最小泛化误差函数 h : X → Y ∈ H h:X\rightarrow Y \in H h:X→Y∈H
无监督学习
机器学习的算法在只接收无标注数据的前提下,得到基于该数据的假设,并用该假设对输入数据进行处理,实现相应的功能。
适用于:聚类、降维、密度估计
强化学习
以马尔科夫决策过程为形式框架的序贯决策方法。智能主体在和环境的交互过程中,根据当前的状态,环境的奖惩而采取相应的动作,通过学习使环境的回报最大。
马尔科夫决策分类:模型无关、模型相关。
强化学习是模型无关的,近似动态规划,又有蒙特卡罗方法和时序差分方法。
深度学习+强化学习=深度强化学习
其他范式
对抗学习:用机器学习的方法处理对抗环境中的垃圾信息、网络入侵、网络欺诈、恶意软件等。
元学习:也称学会学习,是认知科学的研究内容之一。
迁移学习:把在解决某一个问题时所学到的知识,应用于另一个不同但相关的问题上。
学习框架
概率框架
以概率论为基础,将学习任务归结为对随机变量的概率分布。在机器学习中,概率是用来描述不同随机变量之间概率关系的机器学习框架。
贝叶斯规则
给定输入(已知)变量集合 X X X,输出(未知)变量集合 Y Y Y,在监督学习中得到一个假设函数 h : X → Y h:X\rightarrow Y h:X→Y,用条件概率表示为: P ( Y ∣ X ) = P ( X ∣ Y ) P ( Y ) P ( X ) P(Y|X)=\frac{P(X|Y)P(Y)}{P(X)} P(Y∣X)=P(X)P(X∣Y)P(Y)
也可以说是已知先验概率和证据,若再知道似然性,则后验概率也可以算出: 后 验 概 率 = 似 然 × 先 验 概 率 证 据 后验概率=\frac{似然\times 先验概率}{证据} 后验概率=证据似然×先验概率
生成与判别模型
生成模型和判别模型,广泛用于监督学习。
两个模型的差异表现在:处理方式不同、学到的概率不同。
常见的生成模型算法:朴素贝叶斯、贝叶斯网络、马尔科夫随机场、隐马尔科夫模型
常见的判别模型算法:逻辑回归、标量向量机、k-邻近、条件随机场
概率图模型
用图表示随机变量之间条件相关的概率模型。
统计框架
一种机器学习的框架,源于统计学和泛函分析。
从参数角度分:参数模型和非参数模型。这两种模型的区别在于参数是否固定,并不是没有参数。
几何框架
采用欧式几何的线、面、距离,或非欧几何的测地线距离、流形等来构建学习算法。
超平面:维数低于周围空间的子空间。
流形:一个拓扑空间,每个点局部近似于欧几里得空间。有:拓扑流形、微分流形、黎曼流形等。
联结框架
基于联结的理念、即被称为联结主义的人工神经网络。以神经网络为核心,主张模拟生物神经网络的结构和功能进行建立计算模型。
人工神经网络
人工神经网络(ANN)受大脑神经元启发构建的计算系统,是机器学习的一种实现途径,由大量的人工神经元通过一定的方式连接而成。
浅层与深层
人工神经网络分三层:输入层、输出层、中间隐藏层。从ANN层次划分角度分浅层神经网络和深层神经网络。具有多个隐藏层的人工神经网络通常称为深度网络,而较少隐藏层的神经网络通常称为浅层网络。
浅层神经网络
单层神经元构成的感知机是最早出现的人工神经网络,以向量 x 1 , x 2 , ⋯ , x N x_1,x_2,\cdots,x_N x1,x2,⋯,xN作为输入,乘以权值向量 w 1 , w 2 , ⋯ , w N w_1,w_2,\cdots,w_N w1,w2,⋯,wN计算现行累加和: u = ∑ i = 1 N w i x i u=\sum^N_{i=1}w_ix_i u=∑i=1Nwixi再通过激活函数 o = f ( u ) o=f(u) o=f(u)得到输出。
感知机采用二值阶跃函数: f ( u ) = { 1 , i f f ( u ) > 0 − 1 , o t h e r w i s e f(u)=\begin{cases}1, if \ f(u)>0\\ -1,otherwise\end{cases} f(u)={1,if f(u)>0−1,otherwise
如果需要输入是输出的可微函数,可以采用Sigmoid函数: f ( u ) = σ ( u ) = 1 1 + e x p ( − u ) f(u)=\sigma(u)=\frac{1}{1+exp(-u)} f(u)=σ(u)=1+exp(−u)1
Sigmoid函数重要特性: d σ ( u ) d u = σ ( u ) ⋅ [ 1 − σ ( u ) ] \frac{d\sigma(u)}{du}=\sigma(u)\cdot[1-\sigma(u)] dudσ(u)=σ(u)⋅[1−σ(u)]
这是反向传播算法所利用的特性,用平方差表示每个神经元的误差: E j = 1 2 ( t j − o j ) 2 E_j=\frac{1}{2}(t_j-o_j)^2 Ej=21(tj−oj)2
反向传播算法常与梯度下降优化方法综合使用,对于每个神经元 j j j,其输出 o j o_j oj表示为: o j = σ ( u j ) = σ ( ∑ k = 1 S w k j o k ) o_j=\sigma(u_j)=\sigma(\sum^S_{k=1}w_{kj}o_k) oj=σ(uj)=σ(∑k=1Swkjok)
深层神经网络
CNN、DNN、RNN、LSTM等。含有多个隐藏层,不全是全连接。
前馈与反馈
从神经网络的结构角度,分为前馈和反馈方式。其中前馈方式的有前馈神经网络;而反馈方式的有循环神经网络和递归神经网络。
前馈神经网络
神经元层次之间只包含前向连接,即只允许信息单向传输,从输入到输出,经由若干隐藏层,没有反馈。
狭义上:感知机、多层感知机都是前馈神经网络;
广义上:卷积神经网络、自动编码器等
循环神经网络
循环神经网络包括神经元之间的反向连接,形成有向循环,从而可保留网络的内部状态,使之能够展现动态的时间特性。
循环神经网络往往适合于处理与时间序列有关的动态时间行为。
递归神经网络
递归与循环的含义不同,循环是时间的循环,而递归则是利用本身、参照自己,在数学和计算机科学中递归有明确的定义。
单主体与多主体
从深度神经网络主体角度看,分单主体神经网络和多主体神经网络。
单主体神经网络
单主体神经网络指的是该网络只具有一个智能主体的功能。
大多数浅层或深层神经网络都属于单主体网络,例如:CNN、RNN、LSTM、DBM、DBN、残差网络
多主体神经网络
两个以上的单主体网络相互作用,构成了多主体网络。代表性的有对抗网络和协同网络。
逻辑框架
逻辑框架是机器学习中对问题的因果链假设的描述。分基于逻辑与基于规则两类机器学习。
基于逻辑的机器学习方法包括归纳逻辑编程、逻辑学习机等;基于规则的机器学习包括关联规则学习、决策树、由多棵树构建的随机森林等。