机器学习理论推导——梯度下降和逻辑回归

 下面介绍梯度下降法:

假设一个线性模型:

机器学习理论推导——梯度下降和逻辑回归

为了便于描述,定义:

机器学习理论推导——梯度下降和逻辑回归

我们需要选择合适的参数θ0和θ1,使得h(x)和样本中的y尽可能接近。

统计学中,利用最小二乘法可以得到两个参数的解析解:

机器学习理论推导——梯度下降和逻辑回归

但是我们将使用计算机科学的常用思想:迭代来求出这两个值,因为在这里模型的简单使得我们非常容易地计算出解析解。实际中我们的模型可能非常复杂,无法求出解析解,因此使用迭代思想是一种通用的解法。

我们的目标和最小二乘法一致,求出代价函数(cost function):

机器学习理论推导——梯度下降和逻辑回归

的最小值,即:

机器学习理论推导——梯度下降和逻辑回归

迭代的具体操作是梯度下降法,就是循环调用:

机器学习理论推导——梯度下降和逻辑回归

直到收敛,就是θj不再变化,那么必然是J(θ)的导数趋近0了。从高等数学中我们得知,导数为零,一般意味着这一点是一个极值,因为J(θ)恒非负,所以这是个最小值。

我们还注意到,需要设置参数α的值,它体现收敛的快慢,应该不断尝试不同的值,达到最好效果。

导数计算的代数式为:

机器学习理论推导——梯度下降和逻辑回归

接下来只需要重复计算,直到收敛:

机器学习理论推导——梯度下降和逻辑回归

以上就是梯度下降法的基本过程,当然,我们可以把模型拓展到多变量,即:

机器学习理论推导——梯度下降和逻辑回归

然后同样是重复计算,直到收敛:

机器学习理论推导——梯度下降和逻辑回归

以上是梯度下降的所有内容,下面是介绍怎样分类,分类是一个非0即1的要求,我们将使用逻辑回归(Logistics Regression)的方法。

我们对之前的模型,做一些改变:

机器学习理论推导——梯度下降和逻辑回归

注意到我们使用了x1,x2两个样本输入变量,然后做了一个“包装”:g(z)函数,这个函数就是sigmoid函数:

机器学习理论推导——梯度下降和逻辑回归

这是一个定义域在实数域,值域在(0,1)的函数,关于它的详细讨论,见为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么?

我们现在只需要明白,为了分类的需求,模型需要算出学习样本一个分类,值在0,1之间,然后这个概率要和学习样本输入的分类(就是这个样本是哪一类?0还是1)尽可能接近。

根据概率论知识,这是一个离散型随机变量的(0-1)分布:

机器学习理论推导——梯度下降和逻辑回归

其中0<hθ(x)<1,y=0,1

现在给定一组样本数值(x1,x2...)(观察值),我们在参数θ的条件下,希望这组x的输入,得到的y为输入的y(0或1)的概率尽可能大,那么需要给出θ的估计值,用最大似然估计,似然函数是:

机器学习理论推导——梯度下降和逻辑回归

接下来求这个函数的最大值,取对数:

机器学习理论推导——梯度下降和逻辑回归

接下来使用梯度下降的方法,因为需要最小化代价,定义代价函数为:

机器学习理论推导——梯度下降和逻辑回归

求导数:

机器学习理论推导——梯度下降和逻辑回归

然后梯度下降:

机器学习理论推导——梯度下降和逻辑回归

这样就求出了每个θ的最大似然估计值,将估计出的每个θ代入模型,完成逻辑回归。

之后就可以输入x,得到y的值,判断它属于0的那一类还是1的那一类。