机器学习基石-Logistic Regression

Logistic Regression

lecture9中我们主要介绍了linear regression,我们使用平方误差容易得到linear regression的解为wLIN = X†y ,然后本节课我们来学习logistics regression。

Logistic Regression Problem

我们首先回到learning flow,我们使用一个目标分布来描述我们的资料中含有noise的情形,通过比较P(+1|x)与0.5的大小关系来实现binary classification。

进一步,在预测病人是否患病这个场景下,我们考虑这样的问题,我们想要知道的不是某个病人是否患病的问题,而是我们想知道病人在未来一段时间内可能患病的可能性。这表明我们刚兴趣的问题是P(+1|x)的值是多少,我们一般将这样的问题称为‘soft’ binary classification。

然后我们进一步来思考,我们应该怎么达成我们的目的呢?我们首先想如果我们能得到的label就是0-1间的史书label,那问题似乎就解决大半了,然后实际上我们拿不到这样的资料集,我们的现状是资料仍然是做binary classification的label资料集。

其实我们进一步思考,我们的actual (noisy) data可以看成是理想的数据分布取样出的带有杂讯的资料集。

然后我们建立我们的hypothesis,类似线性回归我们得到一个wT x,然后我们通过一个函数将其映射至目标区间。我们一般选取sigmoid函数来映射,最终得到h(x)来模拟我们的目标分布。

Logistic Regression Error

我们下面来探索logistics regression的Ein,我们定义我们的target function等于我们的目标分布,那么相应我们可以得到上面的公式。

我们的资料集D是由目标函数f产生的,然后我们计算h形成资料集D的可能性,如果h和f很接近,那么相应产生资料的几率也很接近,然后由f产生资料集D的几率是很大的,于是我们从产生资料的h中选择那个可能性最高的h作为g,就能取得不错的效果。

在logistic regression中,h(x)关于点(0,0.5)对称,于是可以得到相关对称性公式,然后可以整理得到likelihood(h)(在衡量可能性时P(x1)、P(x2)等都是一致的),可以得到上图的公式。

进一步我们经过一些数学处理,可以得到err(w, x, y )。

Gradient of Logistic Regression Error

接下来我们努力找到一个w使我们上面推导的Ein取得最小值,我们容易证明Ein是连续,可导并且是关于w的凸函数,于是我们可以计算他的梯度。

通过推导,我们容易得出梯度的公式,可以发现他是一个加权的θ-weighted的(-ynxn)的和,要得到这个方程的解不那么容易,于是我们需要另寻出路。

在这样的背景下,我们回到之前的PLA算法,我们从某个w0出发,通过上面的公式不断更新,将不再更新的w回传作为我们的g。

Gradient Descent

所以接下来我们主要是确定v和η使我们的目标函数最小,我们可以想象在logistic regression的场景下,由于他的函数图像类似一个山谷,因此实际上我们就是想要实现一个类似石头从山顶滑落至山谷的过程。

首先我们假定η是某个给定的数,并假定v是一个单位向量,我们在小区域内做泰勒展开,可以得到如下公式:

进一步分析,想要Ein最小,那么vT应与梯度的方向相反,于是我们得到常用到的梯度下降算法。然后,我们接着分析η的取值,通过比较,我们发现最合理的η的取值应与梯度成正比。

最后我们总结下logistic regression的步骤,首先我们初始化一个w0,然后我们计算梯度,接着按固定的η座更新,直至我们找到梯度为零的点或更新的次数足够多的时候,我们返回最后的w。

本节课我们主要介绍logistic regression,首先我们提出问题,我们使用logistic 函数作为hypothesis,然后我们得到他的错误衡量方式,接着我们计算Ein的梯度,在已知的知识没法一步登天的前提下我们介绍了一个新的方法—梯度下降法。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180417G01XY200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励