机器学习总结(1)

来源:互联网 发布:php许愿墙源码 编辑:程序博客网 时间:2024/05/20 02:22

机器学习总结(1)

Supervised Learning

Linear Regression

  • gradient decent(梯度下降)
  • Least Mean Square(最小二乘法)
  • Locally weighted linear regression(局部权值线性回归)

线性回归

在线性回归中,我们都将要研究的系统的函数表达式假设为线性的,即hθ(x)=θ0+θ1x1+θ2x2,在这里, hθ(x)表示实际输出的值, y表示理论输出值,xi表示我们所研究的系统的第i个特征,θi表示第i个特征的参数。hθ(x)也可以以以下方式来表示hθ(x)=ni=0θixi=θTx,其中n表示特征的数量。在线性回归中,我们的目标就是学习θ使得hθ(x)能够最接近于y,为了量化这个目标,定义了cost function: J(θ)=12mi=1(hθx(i)y(i))2,我们所要做的就是如何能够使得J(θ)最小

gradient decent && LMS

  1. gradient decent(梯度下降)
    对于梯度下降,其公式为θj=θjαδδθjJ(θ),即让某一变量沿着他的梯度方向下降,在该方向,其速度最快。其中,我们称α为learning rate。梯度下降就是一种变量改变的方法

  2. LMS(最小二乘法)
    最小二乘法,是一种迭代利用梯度下降方法来改变参数值,从而使得θ不断接近最优的一种机器学习方法。其中,其常用的两种形式为:batch gradient decent 和 stochastic gradient decent

    • batch gradient decent:
      Repeat until convergence{
      θj=θj+αmi=1(y(i)hθ(x(i)))x(i)j (for every j)
      }
    • stochastic gradient decent
      Loop{
      θj=θj+α(y(i)hθ(x(i)))x(i)j (for every j) }
      }
      通过上述代码,我们可以看到,两种方法的区别,批量梯度下降在进行一次θ值更新前,要对所有的样本进行一次梯度下降运算,然后依据整体的结果来对θ修正, 而统计梯度下降则是在每一个样本进行一次梯度下降运算后就进行一次修正。通常,对于样本量比较大的情况下,统计梯度下降法要比批量梯度下降法的收敛速度更快。

    对于梯度下降,其除了使用迭代的方法去得到最优的θ, 还可以对cost function J(θ)分别对θj求导数并让导数为0来的到最优的θj从而使得J(θ)最小。故对于最小二乘法,利用梯度下降的这种方法,可以找到一个θ向量使得cost function:J(θ)最小。
    这里,J(θ)可以表示为向量模式:

    J(θ)=12i=1m(hθ(x(i))y(i))2=12(Xθy)T(Xθy)

    J(θ)θ求梯度有:
    Jθ(θ)=XTXθXTy

    θJ(θ)=0 可以得到θ=(XTX)1XTy

3.Locally weighted linear regression(局部权值线性回归)
对于很多问题,利用线性回归会导致欠拟合,而且在做回归问题时,特征的选取是一个非常难的问题,需要一定的先验知识。对于这样的问题,当我们不想为选择特征而苦恼而且又想利用线性回归方法来解决时,LWR是很好的一种选择。
对于LWR算法,我们选择J(θ)=iω(i)(y(i)θTx(i))2作为我们的cost function,其中,ω(i)=exp((x(i)x)22τ2),在这里,我们可以看到,其cost function与传统的LMS的区别在于其多了一个ω这样的一个权值,并且根据ω(i)的定义,可以看到当x(i)离要预测的值x越远的时候, ω(i)的值越小,因此对于整个cost function的影响也就越小,因此,这种定义也决定了该种方法只是在被预测点周围很小的一个域范围内使用线性回归方法,不同的点,建立了不同的线性回归模型,故称这种方法为Locally weighted linear regression。因为这种方法在τ合适的时候对每个点及其周围使用线性回归方法,不会产生过拟合或者欠拟合的问题,但是当τ太大时,可能会导致过拟合,而当τ太小时,又会产生欠拟合。

note:(x,y)满足:

p(y(i)|x(i);θ)=12πσexp((y(i)θTx(i))22σ2)
y(i)|x(i);θ ~ N(θTx(i),σ2)时,使用最小二乘法所得到的最优θ值与使用最大似然估计所得到的最优θ值是等价的,其中L(θ)=mi=1p(y(i)|x(i);θ)。后期最常用的方法是最大似然估计法,即假设各个y关于x条件独立,利用最大似然估计法来求得θ的最优值从而使得J(θ)函数值最小

Classification and logistic regression

  • Logistic regression(逻辑回归)
  • Newton method(牛顿法)

逻辑回归

当分类问题的目标类只有两种,即y=0,1时,我们可以用逻辑回归的方法,在这里,我们设hθ(x)=g(θTx)=11+eθTx,其中,g(z)=11+ez称为logistic function或者sigmoid function,该函数有一个特别好的特性就是g(z)=g(z)(1g(z))
使用逻辑回归的前提假设:

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

并且y(i)关于x;θ条件独立。
我们令
L(θ)=p(y|X;θ)=i=1mp(y(i)|x(i);θ)
l(θ)=logL(θ)

l(θ)求梯度有δδθjl(θ)=(yhθ(x))xj,故我们可以得到对于统计梯度下降法为:

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

牛顿法

假设我们有一个函数f,我们要找到一个值θ使得函数f(θ)=0,牛顿法中θ的变化规则为:θ=θf(θ)f(θ)(假设Lf(θ)θ这一点所做切线与横轴相交的交点与θ值差的绝对值,则有tanα=f(θ)=f(θ)L,我们可以得到L=f(θ)f(θ),即θ的变化值),而梯度下降法的θ的变化法则为θ=θδδθJ(θ)。牛顿方法的一个核心是去寻找f(θ)=0,故要用牛顿方法,我们首先要把问题转换为关于某个函数f(θ)=0的问题
对于逻辑回归问题,我们设置θ的变化规则为:

θ=θH1θl(θ)
其中,Hij=δ2l(θ)δθiδθj
note:牛顿学习法与梯度下降法应该对应的去学习,他们都是一种求最优的方法,梯度下降法是通过让变量随着梯度的方向进行变化直到收敛,从而找到最优解,而牛顿学习法则是不断的调整θ,从而使得f(θ)=0,进而找到最优解。通常,牛顿法要比梯度下降法收敛速度更快,需要迭代的次数更少,但是牛顿法所用的代价要比梯度下降大很多,因为其每次都需要计算Hessian矩阵

0 0
原创粉丝点击