机器学习总结(1)

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

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

你可能感兴趣的:(机器学习总结(1))