常见的机器学习&数据挖掘知识点之Basis
- SSE(Sum of Squared Error, 平方误差和)
SSE=∑i=1n(Xi−X⎯⎯⎯)2 - SAE(Sum of Absolute Error, 绝对误差和)
SAE=∑i=1n|Xi−X⎯⎯⎯| - SRE(Sum of Relative Error, 相对误差和)
SRE=∑i=1nXi−X⎯⎯⎯X⎯⎯⎯ - MSE(Mean Squared Error, 均方误差)
MSE=∑ni=1(Xi−X⎯⎯⎯)2n - RMSE(Root Mean Squared Error, 均方根误差),又称SD(Standard Deviation, 标准差)
RMSE=∑ni=1(Xi−X⎯⎯⎯)2n‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√ - MAE(Mean Absolute Error, 平均绝对误差)
MAE=∑ni=1|Xi−X⎯⎯⎯|n - RAE(Root Absolute Error, 平均绝对误差平方根)
RAE=∑ni=1|Xi−X⎯⎯⎯|n‾‾‾‾‾‾‾‾‾‾‾‾‾‾√ - MRSE(Mean Relative Square Error, 相对平均误差)
MRSE=∑ni=1Xi−X⎯⎯X⎯⎯n - RRSE(Root Relative Squared Error, 相对平方根误差)
RRSE=∑ni=1Xi−X⎯⎯X⎯⎯n‾‾‾‾‾‾‾‾‾‾‾⎷ - Expectation(期望)&Variance(方差)
期望是描写叙述一个随机变量的“期望值”。方差反映着随机变量偏离期望的程度,偏离程度越大哦,方差越大。反之则相反。对于离散随机变量
X ,其期望为:
E(X)=∑i=1∞xip(xi)
当中p(x) 为随机变量的X 的分布率(概率分布).
其方差为:
D(X)=∑i=1∞[xi−E(X)]2p(xi)
对于连续变量X ,其期望为:
E(X)=∫+∞−∞xf(x)dx
当中f(x) 为随机变量的X 的概率密度分布.
其方差为:
D(X)=∫+∞−∞[x−E(X)]2f(x)dx
对于Y=g(X) (g 是连续函数),则Y 的期望为:
X 是离散随机变量:
E(Y)=E(g(x))=∑i=1∞g(xi)p(xi)
X 是连续随机变量:
E(Y)=E(g(x))=∫+∞−∞g(xi)f(x)dx
常见分布的期望与方差:
分布/数字特征 | 期望 | 方差 |
---|---|---|
两点分布 | ||
二项分布 | ||
泊松分布 | ||
均匀分布 | ||
指数分布 | ||
正态分布 |
- 标准差:
标准差为方差的平方根。即:
V(X)=D(X)‾‾‾‾‾√ - JP(Joint Probability, 联合概率)
- 二维离散随机变量
X ,Y
- 联合概率分布(分布率)
P(x,y)=P{X=xi,Y=yi}=pij
pij≥0
∑ijpij=∑i∑jpij=1 - 联合分布函数
F(x,y)=P{X≤x,Y≤y}=∑x∑yP(x,y)
- 联合概率分布(分布率)
- 二维连续随机变量
X ,Y
- 联合概率密度
f(x,y) - 联合分布函数
F(x,y)=∫x−∞∫y−∞f(u,v)dudv
f(x,y)≥0
∫+∞−∞∫+∞−∞f(x,y)dxdy=F(+∞,+∞)=1
- 联合概率密度
- 二维离散随机变量
- MP(Marginal Probability, 边缘概率)
- 二维离散随机变量
- X的边缘分布率
pi.=P{X=xi}=∑j=1∞pij,j=1,2,3,... - Y的边缘分布率
p.j=P{Y=yi}=∑i=1∞pij,i=1,2,3,... - X的边缘分布函数
FX(x)=F(x,+∞)=P{X≤x}=P{X≤x,Y≤+∞} - Y的边缘分布函数
FY(y)=F(+∞,y)=P{Y≤y}=P{X≤+∞,Y≤y}
- X的边缘分布率
- 二维连续随机变量
- X的边缘分布率
fX(x)=∫+∞−∞f(x,y)dy - Y的边缘分布率
fY(y)=∫+∞−∞f(x,y)dx - X的边缘分布函数
FX(x)=F(x,+∞)=∫x−∞[∫+∞−∞f(u,y)dy]du - Y的边缘分布函数
FY(y)=F(y,+∞)=∫y−∞[∫+∞−∞f(x,v)dx]dv
- X的边缘分布率
- 二维离散随机变量
- Independence(独立性)
若对一切x ,y 。都有:
P{X≤x,Y≤y}=P{X≤x}P{Y≤y}
即:
F(x,y)=FX(x)FY(y)
则随机变量X, Y是互相独立的.
对于离散随机变量。等价于:
P{X=xi,Y=yj}=P{X=xi}P{Y=yj},i,j=1,2,...
对于连续随机变量,等价于:
f(x,y)=fx(x)fy(y) - CP(Conditional Probability, 条件概率)
对于离散随机变量。定义为:
若P{Y=yj}>0 :
P{X=xi|Y=yj}=P{X=xi,Y=yj}P{Y=yj}=pijp.j,i=1,2,...
而P{Y=yj}=p.j=∑i=1∞pij
因此:
P{X=xi|Y=yj}=P{X=xi,Y=yj}P{Y=yj}=pij∑∞i=1pij,i=1,2,...
上式即为在Y=yj 条件下X 的条件分布律.
同理:
P{Y=yj|X=xi}=P{X=xi,Y=yj}P{X=xi}=pij∑∞j=1pij,j=1,2,...
上式即为在X=xi 条件下Y 的条件分布律.
对于连续随机变量,定义为:
FX|Y(x|y)=P{X≤x|Y=y}=∫x−∞f(x,y)dxfY(y)
FY|X(y|x)=P{Y≤y|X=x}=∫y−∞f(x,y)dyfX(x)
条件概率密度分别为:
fX|Y(x|y)=f(x,y)fY(y)
fY|X(y|x)=f(x,y)fX(x) - Bayesian Formula(贝叶斯公式)
使用已知知识来对先验概率进行修正。得到后验概率。即得到条件概率:
P(Bi||A)=P(Bi)P(A|Bi)∑ni=1P(Bi)P(A|Bi)
P(Bi||A) 为后验概率。P(Bi|) 为先验概率. - CC(Correlation Coefficient, 相关系数)
对于(X,Y) 为二维随机变量。若E{[X−E(X)][Y−E(Y)]} 存在。则称它为随机变量X 与Y 的协方差。记为cov(X,Y) 或σXY 。即:
cov(X,Y))=E{[X−E(X)][Y−E(Y)]}
当D(X)>0,D(Y)>0 时,
ρXY=cov(X,Y)D(X)‾‾‾‾‾√D(Y)‾‾‾‾‾√
称为随机变量X,Y 的相关系数或标准协方差.
特别地。
cov(X,X)=D(X)
cov(Y,Y)=D(Y)
因此方差是协方差的特例.
若X,Y 相互独立。则cov(X,Y)=0 。从而ρXY=0 . 同一时候|ρXY|≤1 . 若|ρXY|=1 ,则随机变量X,Y 线性相关.+1 代表正线性相关,−1 代表负线性相关。绝对值越大则表明它们之间越相关。若为0。则表示它们互相独立. - Covariance(协方差矩阵)
若X 是由随机变量组成的n 列向量,E(Xi)=μi ,那么协方差矩阵定义例如以下:
Σ=⎡⎣⎢⎢E{[X1−E(X1)][X1−E(X1)]}...E{[Xn−E(Xn)][X1−E(X1)]}.........E{[X1−E(X1)][Xn−E(Xn)]}...E{[Xn−E(Xn)][Xn−E(Xn)]}⎤⎦⎥⎥=⎡⎣⎢⎢⎢E{[X1−μ1][X1−μ1]}..E{[Xn−μn][X1−μ1]}.........E{[X1−μ1][Xn−μn]}...E{[Xn−μn][Xn−μn]}⎤⎦⎥⎥⎥ - Quantile (分位数)
对随机变量X ,其分布函数为F(x) ,随意给定α,0<α<1 ,P(X<=x)=F(x)=α 所相应的x,为α 分位数.
- LMS(Least Mean Squared, 最小均方)
优化的目标为使得均方误差最小,參数即为最小时所相应的參数值。即:
θ=argminθ12∑ni=1(Xi−X⎯⎯⎯)2n=argminθ12∑i=1n(Xi−X⎯⎯⎯)2
公式中的12 为了在求导过程中的方便,由于平方项在求导过程中会产生一个2倍,这样便能约掉常数项,目标函数乘以一个常数对结果是没有影响的,仅仅是目标值缩小了一半。可是其所相应的參数还是不变的。能够使用梯度下降法来进行求解。
- LSM(Least Square Methods, 最小二乘法)
在最小二乘法中使用最小均方来对參数进行求解。对于样本点集(X,Y)={(X1,y1),...,(Xn,yn)} 。当中每一个样本特征向量为Xi={xi1,...,xim} ,n 为样本个数,m 为样本点的维度,那么其线性回归方程:
f(Xi)=w0+w1xi1+w2xi2+...+wmxim=WT[1,XiT]T,i∈[1,n]
那么。优化目标为:
minF=min12∑i=1n(f(Xi)−yi)2
为了书写方便。将常数1作为每一个样本特征向量的第1个分量,即Xi={1,xi1,...,xim} ,那么线性回归方程变为:
f(Xi)=WTXi,i∈[1,n]
那么优化目标为:
minF=min12∑i=1n(WTXi−yi)2 - GD(Gradient Descent, 梯度下降)
对于最小二乘法中的F最小化求解使用梯度下降算法进行求解(假设是求解最大值,则使用梯度上升算法),梯度下降算法即为从某个初始点出发,依照梯度下降的方向,每次前进一步,直到最小值点,因此须要一个步长α 。
- 首先求取梯度
∇wJ(w)=∑i=1n(WTXi−yi)Xi=XT(XWT−y→)
那么前进方向为g=−∇wJ(w) 。即梯度的反方向, 假设是梯度上升算法,那么就是梯度方向,则不须要在前面加上负号. - 然后依照梯度方向进行前进
W:=W+αg
当中α>0 ,它是一个步长。对于α 详细取多大的值,一般依照经验进行取,能够从10, 1,0.1,0.01,0.001不断进行尝试而取一个合理的值。而能够刚開始取一个较大值。后面越来越小,这样刚開始步子就大一点,到逐渐接近最长处的时候,放慢脚步。假设这时候过大,就会造成一直在最长处附近震荡。 - 最后。依照步骤2进行迭代更新
W ,直到目标函数值不再变化,或者变化的范围小于事先设定的阈值。所以。梯度下降算法的一个缺点就是须要确定
α 的值,可是该值并不好确定。须要不断进行尝试和依靠经验。
- 首先求取梯度
- SGD(Stochastic Gradient Descent, 随机梯度下降)
在梯度下降法中,參数的每一次更新都要使用训练集中的所有的样本(批量梯度下降算法),这样速度便相对较慢。于是每次更新时随机选择一个样本进行更新參数,这样便能提高计算速度,但每次更新的方向并不一定朝着全局最优化方向. - 正规方程求解方法
该方法利用极值点的偏导数为0,即令:
∇WJ(W)=XTXWT−XTy→=0
得到正规方程:
XTXW=XTy→
求解W :
W=(XTX)−1XTy→
该方法的时间复杂度为O(n3) ,由于须要对矩阵求逆运算。当中n 为(XTX)−1 的特征数量。假设n 值非常大。那么求解速度将会非常慢。对此,Andrew Ng的经验建议是:假设n>10000 。那么使用梯度下降算法进行求解。同一时候。假设
(XTX) 是神秘矩阵,即含有0特征值,那么其便不可逆,一个解决方法便是L2正则。后面将会讲到。 - MLE(Maximum Likelihood Estimation, 极大似然预计)
在我们已经知道到随机变量的一系列观察值,即试验结果已知(样本)。而须要求得满足该样本分布的參数θ ,于是我们须要採取某种方法对θ 进行预计。在最大似然预计中。我们假定观察的样本是该样本分布下中最大可能出现的。把最大可能性所相应的參数θ 对真实的θ∗ 进行參数预计。
- 对于离散随机变量
设整体X 是离散随机变量。其概率分布P(x;θ) (注意:与P(x,θ) 的差别。前者中θ 是一个常数,仅仅是值暂时不知道。也就是它是一个确定值,而后者中θ 是一个随机变量),当中θ 是未知參数. 设X1,X2,...,Xn 分别都是取自整体X 的样本。我们通过试验观察到各样本的取值各自是x1,x2,...,xn 。则该事件发生的概率,即它们的联合概率为:
P(X1=x1,X2=x2,...,Xn=xn)
假设它们独立同分布,那么联合概率为:
P(X1=x1,X2=x2,...,Xn=xn)=∏i=1nP(xi;θ)
由于xi,i∈{1,2,...,n} 都是已知的确定的值,那么上式的值取决于θ ,从直观上来说,一件已经发生的事件,那么该事件发生概率应该较大。我们假设该事件的发生概率是最大的。即x1,x2,...,xn 的出现具有最大的概率,在这种假设下去求取θ 值.
定义似然函数为:
ℓ(θ)=ℓ(x1,x2,...,xn;θ)=∏i=1nP(xi;θ)
它是关于θ 的函数.
极大似然预计法就是在參数θ 的取值范围Θ 内选取一个使得ℓ(θ) 达到最大值所相应的參数θ̂ ,用来作为θ 的真实值θ∗ 的预计值,即:
θ=argmaxθ∈Θℓ(x1,x2,...,xn;θ)
这样,对求解整体X 的參数θ 极大似然预计问题转化为求似然函数ℓ(θ) 的最大值为题,那么求去最大值问题能够使用导函数进行求解.
为了便于求解。对似然函数进行ln 运算,由于ln 为递增函数,那么ln(ℓ(θ)) 与ℓ(θ) 在同一处取得最大值,于是,
lnℓ(θ)=ln∏i=1nP(xi;θ)=∑i=1nlnP(xi;θ)
对上式进行求导操作,并令导函数为0:
dlnℓ(θ)dθ=0
解该方程,得到θ 作为真实值的预计. - 对于连续离散随机变量:
设整体X 是连续随机变量。其概率密度函数为f(x;θ) 。对样本X1,X2,...,Xn 观察得到的样本值分别为x1,x2,...,xn ,那么联合密度函数为:
∏i=1nf(xi;θ)
则。似然函数为:
ℓ(θ)=∏i=1nf(xi;θ)
同理,依照先前的处理与求解方式,即极大似然预计法。求取theta值.
前面所说的使用已知知识对先验概率进行矫正,得到后验概率,便能够用到似然函数,即后验概率=先验概率*似然函数. - 极大似然预计步骤:
- 由整体分布导出样本的联合概率函数(或联合密度);
- 把样本联合概率函数(或联合密度)中自变量看成为已知数。而參数
θ 作为自变量未知数。得到似然函数ℓ(θ) ; - 将似然函数转化为对数似然函数,然后求取对数似然函数的最大值,一般使用求导方法。
- 最后得到最大值表达式,用样本值代入得到參数的极大似然预计值.
- 对于离散随机变量
- QP(Quadratic Programming, 二次规划)
我们经经常使用到线性规划去求解一部分问题,然后非常多问题是非线性的。而二次规划是最简单的非线性规划,简称QP问题。何为二次规划,即其目标函数是二次函数,而约束条件是线性约束的最优化问题. 用数学语言描写叙述,其标准形式为:
minf(x)=12xTGx+gTx
s.t.aTix=bi,i∈EaTjx≥bj,j∈I
当中,G 是n×n 的对称矩阵(Hessian矩阵)。E,I 分别相应等式约束和不等式约束指标集合,g,x,{ai|i∈E},{aj|j∈I} 都是n 维列向量
- 若G正半定,那么QP问题存在全局最优解(凸二次规划)。
- 若G正定,那么QP问题存在唯一的全局最优价(凸二次规划);
- 若G不定,那么可能存在非全局的最优解;
凸二次规划即二次规划目标函为维凸函数.
- L1 /L2 Regularization(L1/L2正则)
我们在做数据挖掘或机器学些的时候。在训练数据不够时。或者出现过度训练时,往往easy过拟合,即训练时效果特别好,而測试时或者在新数据来暂时,模型效果较差,即为模型的泛化能力比較差。随着训练过程不断进行。该模型在training data上的error渐渐减小,可是在验证集上的error却反而渐渐增大——由于训练出来的网络过拟合了训练集,对训练集外的数据(測试数据或者新数据)却不work。例如以下图所看到的:
避免过拟合的方法有非常多:early stopping, 数据集扩增(Data augmentation), 正则化(Regularization),Dropout等.
- L1
L1正则是一个稀疏规则算子,其是在代价函数(优化目标函数)后面加上參数w 绝对值和乘以λn ,目标函数即为:
F=F0+λn∑w|w|
当中F0 为原目标函数。那么新目标函数的导数为:
∂F∂w=∂F0∂w+λnsgn(w)
上式中sgn(w) 是w 的符号函数,α>0 是更新步长,它是一个常数,λ>0 是正则项数,它是一个常数,那么參数w 的梯度下降算法更新方程为:
w:=w−α∂F0∂w−αλnsgn(w)
上面的更新方程比原来的多了αλnsgn(w) 这一项. 当w 为正时,更新后w 变小,为负时则相反。即将w 往0值靠,这样对于那些接近0值的參数,那么就可能为0。这样非常多w 就会趋近于0。这样便起到了稀疏作用,也就是为何叫做”稀疏规则算子”了,这样相当于减少了模型的复杂度。提高模型泛化能力。防止过拟合.
不论什么正则化算子,假设它在等于0处不可微。而且能够分解为一个“求和”的形式,那么这个正则化算子就能够实现稀疏. 也就是这么说,w 的L1范数正则是绝对值,而|w|在w=0处是不可微. 事实上L0范数正则(L0范数是指向量中非0的元素的个数)。也能够达到稀疏目的,可是现实中为什么不用L0正则呢。由于L0范数正则的优化是一个NP难问题,所以L1范数正则具有更好的优化特性.
在w 的更新式子中,当w 为0时,|w| 是不可导的,所以须要依照原始的未经正则化的方法去更新w ,即为了方便我们定义sgn(0)=0 ,这样便统一了所有情况.
L1正则的稀疏性特性可能用来进行特征选择,仅仅选择那些重要的,区分能力强的特征,而去掉那些不重要的,区分能力不强的特征. 尽管假设加上这些特征,可能会使得在模型训练时效果更好,可是可能会造成过拟合,从而模型的泛化能力不强.
在线性回归中使用L1正则的叫做LASSO(Least Absolute Shrinkage and Selectionator Operator L1正则最小二乘回归). - L2
L2范数正则化是在代价函数(优化目标函数)后面加上平方和正则项,即:
F=F0+λ2n∑ww2
注意:常数项的w 是不带入正则项中的。为了便于区分。将其用b表示.
当中F0 为原始目标函数。在正则项前面乘以12 是为了在求导过程中方便,由于平方项在求导过程中会产生一个2倍。这样便能约掉常数项. 那么新目标函数的导数为:
∂F∂w=∂F0∂w+λnw∂F∂b=∂F0∂b
这样參数的更新方程为:
w:=w−α∂F0∂w−αλnw=(1−αλn)w−α∂F0∂wb:=b−α∂F0∂b
当中。α>0 是更新步长。它是一个常数,λ>0 是正则项数,它是一个常数
从w 更新方程中能够看出,在不使用L2正则项时。求导结果中的w 前的系数为1,而如今前面的系数为(1−αλn) ,由于α,λ,n 都是正数。因此前面的系数小于0,它的效果就是减小w ,这就是为何L2正则又被称为“权值衰减”(weight decay).
通过L2正则来减少模型的复杂度,提高模型的泛化能力,防止过拟合,而且L2正则本书是一个凸二次函数,这样便有利于优化.
在前面所说的正规方程中,若XTX 不可逆,则无法进行求解,那么假设加上L2正则项。就变成:
W=(XTX+λI)−1XTy→
这样(XTX+λI) 肯定是可逆的.
最后通过一张图直观上来差别L1与L2正则,如图:
FromPRML
上图中使用的模型是线性回归,该模型中有两个特征。要优化的參数各自是w1和w2,左图的正则化是L2,右图是L1. 蓝色线就是优化过程中遇到的等高线,一圈代表一个目标函数值,圆心就是样本观測值(假设一个样本),半径就是误差值。受限条件就是红色边界(就是正则化那部分),二者相交处。才是最优參数. 可见右边的最优參数仅仅可能在坐标轴上,所以就会出现0权重參数,使得模型稀疏.
从还有一个角度上来看,正则化事实上就是对模型的參数设定一个先验,这是贝叶斯学派的观点,也是一种理解。L1正则是Laplace先验,L2是高斯先验.
- L2.5
该正则化集合了L1与L2正则,具有它们两者的长处.
- L1
- Eigenvalue(特征值)&Eigenvector(特征向量)
设A 是n 阶矩阵。假设数lambda 和n维非零列向量α 。使得:
Aα=λα
成立。则称这种数λ 为方阵A 的特征值,非零列向量α 称为A 相应于特征值λ 的特征向量.
特征向量α≠0 ,特征值λ 都是对方阵来说的。
n 阶方阵A 的特征值即为使得
齐次线性方程组(λI−A)x=0 有非零解的λ 值。即满足方程|λI−A|=0 的λ 都是矩阵A 的特征值.
特征值积等于方阵的行列式值。即:∏i=1nλi=|A|
若特征值λi 互不相等,那么它们所相应的特征向量αi 线性不相关.
若方阵的行列式值为0,即为神秘方阵,也即其含有为0的特征值。那么该方阵不可逆.