Antkillerfarm Hacking V8.0

ML » 机器学习(二)——分类与逻辑回归

2016-08-02 :: 6366 Words

线性回归

LMS算法(续)

一些研究认为大Batch训练有可能无法达到最小值。

参考:

https://mp.weixin.qq.com/s/7sS-r6jIF4GAhZicBfFGDA

通过代码原理教你搞懂SGD随机梯度下降、BGD、MBGD

https://www.graphcore.ai/posts/revisiting-small-batch-training-for-deep-neural-networks

Revisiting Small Batch Training for Deep Neural Networks

正规方程组算法

正规方程组(Normal Equations)算法,是传统的以解方程的方式求最小值的方法。

如果,令

X=[(x(1))T(x(2))T(x(m))T],y=[(y(1))(y(2))(y(m))]

则:

θ=(XTX)1XTy

这种解方程的算法,实际上就是通常所说的最小二乘法(Least squares)。

优点:解是精确解,而不是近似解。不是迭代算法,程序实现简单。不在意X特征的scale。比如,特征向量X={x1,x2}, 其中x1的range为1~2000,而x2的range为1~4,可以看到它们的范围相差了500倍。如果使用梯度下降方法的话,会导致椭圆变得很窄很长,而出现梯度下降困难,甚至无法下降梯度(因为导数乘上步长后可能会冲到椭圆的外面)的问题。

缺点:维数高的时候,矩阵求逆运算的计算量很大。

这里的精确解指的是优化问题的精确解,而不是上述方程组的精确解。有效方程个数超过未知数个数的方程组,被称为超定方程组。超定方程组没有代数解,只有最小二乘解。解与实际方程的误差,又被称作残差

插值问题

回归问题在数学上和插值问题是同一类问题。除了线性插值(回归)之外,还有多项式插值(回归)问题。

这里以一元函数为例,描述一下多项式插值问题。

对于给定的k+1个点(x0,y0),,(xk,yk),求f(x)=i=0kaixi经过给定的k+1个点。显然k=1的时候,是线性插值。

多项式插值算法有很多种,最经典是以下两种:

1.拉格朗日插值算法(the interpolation polynomial in the Lagrange form)

L(x)=j=0kyjlj(x),lj(x)=0mkmjxxmxjxm

2.牛顿插值算法(the interpolation polynomial in the Newton form)

N(x)=j=0kajnj(x),nj(x)=i=0j1(xxi),aj=[y0,,yj]

此外还有分段插值法,即将整个定义域分为若干区间,在区间内部进行线性插值或多项式插值。

欠拟合与过拟合

对于上图所示的6个采样点,采用线性回归时(左图),拟合程度不佳。如果采用二次曲线(中图)的话,效果就要好得多了。但也不是越多越好,比如五次曲线(右图)的情况下,虽然曲线完美的经过了6个采样点,但却偏离了实际情况——假设横轴表示房屋面积,纵轴表示房屋售价。

我们把左图的情况叫做欠拟合(Underfitting),右图的情况叫做过拟合(Overfitting)。

这里换个角度看:如果我们把上述多项式回归中的x,x2,,xn看作是线性回归时的特征集的话,那么多项式回归就可以转化成为线性回归。

从中可以看出,欠拟合或过拟合实际上就是线性回归中的特征集选取问题。特征集选取不当,就会导致预测不准。

局部加权线性回归

局部加权线性回归(LWR,locally weighted linear regression)算法是一种对特征集选取不敏感的算法。它将公式2中的代价函数修改为:

(5)J(θ)=12i=0mω(i)(hθ(x(i))y(i))2

其中,ω(i)被称为权重,它有多种选取方法,最常用的是:

ω(i)=exp((x(i)x)22τ2)

其中,τ被称为带宽(bandwidth)。实际上,这就是一个高斯滤波器。离采样点x越近,其权重越接近1。

回归分析和相关分析的区别

回归分析是找出x和y之间的关系,而相关分析是找出x的各个分量之间的关系,和y并没有关系。

分类与逻辑回归

二分类

结果集y的取值只有0和1的分类问题被称为二分类,其中0被称为negative class,1被称为positive class,也可用“-”和“+”来表示。

逻辑回归

为了将线性回归的结果约束到[0,1]区间,我们将公式1修改为:

(6)hθ(x)=g(θTx)=11+eθTx

公式6又被称为logistic function或sigmoid function。函数g(z)的图像如下所示:

事实上,任何[0,1]区间的平滑增函数,都可以作为g(z),但公式6的好处在于

(7)g(z)=1(1+ez)2ez=1(1+ez)(11(1+ez))=g(z)(1g(z))

评估逻辑回归(Logistic regression)的质量,需要用到最大似然估计(maximum likelihood estimator)方法(由Ronald Aylmer Fisher提出)。最大似然估计是在“模型已定,参数未知”的情况下,寻找使模型出现的概率最大的参数集θ的方法。显然,参数集θ所确定的模型,其出现概率越大,模型的准确度越高。

最大似然估计中采样需满足一个很重要的假设,就是所有的采样都是独立同分布的(independent and identically distributed,IID),即:

f(x1,,xn;θ)=f(x1;θ)××f(xn;θ)

似然估计函数如下所示:

L(θ)=i=1mp(y(i)x(i);θ)

Ronald Aylmer Fisher,1890~1962,英国人,毕业于剑桥大学。英国皇家学会会员,皇家统计学会主席。尽管他被称作“一位几乎独自建立现代统计科学的天才”,然而他的本职工作是遗传学。他最大的贡献是利用统计分析的方法,揭示了孟德尔的遗传定律在达尔文自然选择学说中的作用,为后来遗传物质DNA的发现奠定了理论基础。
虽然对于Fisher来说,数理统计只是他研究工作的一个副产品,但他在1925年所著《研究工作者的统计方法》(Statistical Methods for Research Workers),其影响力超过了半个世纪,几乎当代所有自然科学和社会科学领域都在应用他所创立的理论。F分布就是以他的名字命名的。

Karl Pearson,1857~1936,英国人,毕业于剑桥大学。英国皇家学会会员。发现了χ2分布。

William Sealy Gosset,1876~1937,英国人,毕业于牛津大学。笔名Student,发现了Student’s t-distribution。

这三人被后人合称现代统计学的三大创始人。他们都不是博士,毕业后从事的职业,也不是数学。Fisher和Pearson研究遗传学,Gosset研究化学。可见,统计学的诞生,有着很强的应用属性。

我们假设:

P(y=1x;θ)=hθ(x),P(y=0x;θ)=1hθ(x)

则该伯努利分布(Bernoulli distribution)的概率密度函数为:

p(yx;θ)=(hθ(x))y(1hθ(x))1y

其似然估计函数为:

L(θ)=p(yX;θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)

两边都取对数,得到对数化的似然估计函数:

(θ)=logL(θ)=i=1my(i)loghθ(x(i))+i=1m(1y(i))log(1hθ(x(i))) (θ)θj=(yhθ(x))xj

按照随机梯度下降法,计算迭代公式:

θj:=θj+α(y(i)hθ(x(i)))xj(i)

可以看出,这和线性回归的迭代公式(公式4)完全相同。

g(z)还可以取以下函数(阶跃函数):

g(z)={1,z00,z<0

这时又被叫做感知器学习(perceptron learning)算法。

参考:

https://mp.weixin.qq.com/s/Y1_smqwmLPQzJ202JVq7zw

一文搞懂极大似然估计

https://mp.weixin.qq.com/s/MuV_kamfsUgcradKIaXGbw

逻辑回归(Logistic Regression)模型简介

https://mp.weixin.qq.com/s/YQ8l87EPw6EEhNy8MIU6Cg

区分识别机器学习中的分类与回归

http://blog.csdn.net/zengxiantao1994/article/details/72787849

极大似然估计详解

https://mp.weixin.qq.com/s/7_-a-suPO4qpAQVVJyz8BQ

概率论之概念解析:极大似然估计

https://mp.weixin.qq.com/s/vqYX1jpNsdw6F88a-CtZyw

什么是最大似然估计、最大后验估计以及贝叶斯参数估计

线性模型 vs. Logistic模型

线性回归模型的成立需满足以下几条假设:

Yi=β0+β1Xi+ϵi E(ϵi)=0 Var(ϵi)=σ2 Cov(ϵi,ϵj)=0 ϵiNormal

二分类问题不满足第3条和第5条,但是有概率和为1的约束。

参考:

https://zhuanlan.zhihu.com/p/27149706

线性模型 vs. Logistic模型

指数类分布

线性回归和对数回归的迭代公式相同不是偶然的,它们都是指数类分布的特例。

指数类分布(exponential family distributions)的标准形式如下:

p(y;η)=b(y)exp(ηTT(y)a(η))

其中,η被称作自然参数(natural parameter)或正准参数(canonical parameter),T(y)被称作充分统计量(sufficient statistic)。

a(η)是对数配分函数(log partition function),它存在的目的是利用ea(η)进行约束,以使:

Yp(y;η)=1Yp(y;η)=1

伯努利分布到指数类分布的变换过程如下:

p(y:ϕ)=ϕy(1ϕ)1y=exp(log(ϕy(1ϕ)1y))=exp(ylog(ϕ)+(1y)log(1ϕ))=exp(ylog(ϕ1ϕ)+log(1ϕ))

可见:

b(y)=1η=log(ϕ1ϕ)ϕ=11+eηT(y)=ya(η)=log(1ϕ)

其中,log(ϕ1ϕ)被称为Logit函数,从上面的推导可看出,它和sigmoid函数是有相当深的渊源的。

高斯分布到指数类分布的变换过程如下:

p(y;μ)=12πexp(12(yμ)2)=12πexp(12y2)exp(μy12μ2) ˙

可见:

η=μT(y)=ya(η)=μ22b(y)=12πexp(12y2)

除此之外,Dirichlet分布、Poisson分布、多项分布、β分布、γ分布都是指数类分布。

Fork me on GitHub