分类-1-逻辑回归(Logistic regression)、感知学习算法(perceptron learning algorithm)、牛顿迭代法

来源:互联网 发布:mac不能保存书签 编辑:程序博客网 时间:2024/05/28 17:07

逻辑回归(Logistic regression)

我们现在只考虑二分类,即y{0,1}
类似于线性回归问题,我们同样定义一个估计(hypothesis)函数hθ(x)。显然我们的输出值要限定在{0,1}之间会更加有利。因此选择模型:

hθ(x)=g(θTx)=11+eθTxwhereg(z)=11+ez

我们称上式为logistic functionsigmoid function.
下面给出g(z)线
这里写图片描述
zg(z)1;zg(z)0
和之前一样,我们令x0=1θTx=θ0+nj=1θjxj

下面让我们来看看怎样得到θ:
假设:这里写图片描述
上式可以合并为一个式子:
这里写图片描述
类似于我的这一篇博客中求最大似然值一样,我们可得:
这里写图片描述
进而得到log likehood:
这里写图片描述
然后还是一如既往的求导:
在求(θ)关于θ的导数前,我们先来看看g(z)的导数,因为在对(θ)求导时会用到。
这里写图片描述
下面开始对(θ)求导:
这里写图片描述
还记得梯度下降吗,不记得点这里,当时我们是为了求最小值。比较一下呢,现在我们是要求最大值,所以我们可以用梯度上升法求θ

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

可以看到,与线性回归类似,不同之处只是θTx(i)hθ(x(i))hθ(x(i))θTx(i)g(z)
扩展到整个样本集就是:
θ:=θ+αθ(θ)

感知学习算法(perceptron learning algorithm)

这里我们改写Logistic regression中的映射函数g(z)
这里写图片描述
经过与逻辑回归中同样的推导后我们会得到类似的结果:
这里写图片描述
这就是感知学习算法。。。
它只输出0或1

牛顿迭代法

在逻辑回归中我们求最大似然值(θ)时,是使用的梯度上升法。牛顿迭代法是另一种求最值的方法,这里让我们来看看怎样用牛顿迭代法求最大似然值(θ)

首先什么是牛顿迭代法?

f(θ)线使f(θ)=0θ便
这里写图片描述
牛顿迭代法公式:

θ:=θf(θ)f(θ)

我们将公式和图形结合来看:首先在中间那幅图中我们给θ4.5,f(4.5)f(θ)=0θ=2.8,f(θ)的值等于两个直角边长的比值,所以f(4.5)=f(4.5)4.52.8f(4.5)f(4.5)=4.52.8.
其本质就是通过迭代,使得θ不断的接近目标值。

牛顿迭代求最大似然值

上面是用牛顿迭代来求零点处的值,怎样用牛顿迭代来求最大值呢。很简单,我们只要求(θ)=0处的θ,因此牛顿迭代法要写成下面的形式:

θ:=θ(θ)′′(θ)

,θ
这里写图片描述
HHessian矩阵,就是2阶偏导数构成的矩阵,它是一个n×n的矩阵(在实际应用中加上偏置项,其实会是一个(n+1)×(n+1)的矩阵)。这里写图片描述

牛顿迭代法相对于梯度上升法的优点是,只需较少的迭代次数便可完成计算
缺点是,每次迭代都需要计算Hessian矩阵,若属性过多,计算代价会很大。

0 0
原创粉丝点击