【李宏毅机器学习笔记】5、Logistic Regression

【李宏毅机器学习笔记】1、回归问题(Regression)

【李宏毅机器学习笔记】2、error产生自哪里?

【李宏毅机器学习笔记】3、gradient descent

【李宏毅机器学习笔记】4、Classification

【李宏毅机器学习笔记】5、Logistic Regression

------------------------------------------------------------------------------------------------------

【李宏毅深度强化学习】视频地址:https://www.bilibili.com/video/av10590361?p=6

课件地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html

-------------------------------------------------------------------------------------------------------

按照之前课程的内容,机器学习分为三步:

  1. 定义模型(function set)
  2. 找出损失函数
  3. 找出最好的function

所以Logistic Regression这里,还是以这三步来走。

Step 1: 定义Function Set

【李宏毅机器学习笔记】5、Logistic Regression

在上一篇笔记,给出了【李宏毅机器学习笔记】5、Logistic Regression ,如果这个概率大于0.5,则代表 x 属于 【李宏毅机器学习笔记】5、Logistic Regression,否则属于【李宏毅机器学习笔记】5、Logistic Regression 。

同样,在上一篇笔记中,将【李宏毅机器学习笔记】5、Logistic Regression由贝叶斯公式化为sigmoid function 【李宏毅机器学习笔记】5、Logistic Regression 。

这里以【李宏毅机器学习笔记】5、Logistic Regression作为我们的模型(function set)。这个function set里由于不同的w和b就会形成不同的function。

【李宏毅机器学习笔记】5、Logistic Regression

上图可以看出,Logistic Regression和Linear Regression的区别在于 :

  • Logistic Regression多了sigmoid的步骤,所以最终的输出只会在 ( 0,1 )  之间。

Step 2: Goodness of a Function

【李宏毅机器学习笔记】5、Logistic Regression

training data如图,有N个数据,分别是从【李宏毅机器学习笔记】5、Logistic Regression到 【李宏毅机器学习笔记】5、Logistic Regression。每个数据都对应一个label,表示 x 属于哪一类。

现在,将这些training data看成是从【李宏毅机器学习笔记】5、Logistic Regression这个函数产生的。

【李宏毅机器学习笔记】5、Logistic Regression代表【李宏毅机器学习笔记】5、Logistic Regression在某一组参数 w和b  下,【李宏毅机器学习笔记】5、Logistic Regression 产生这些 training data 的几率。(这里是考虑的是二分类)

我们的目标就是,找到一组最好的参数 【李宏毅机器学习笔记】5、Logistic Regression【李宏毅机器学习笔记】5、Logistic Regression,这两个参数能使【李宏毅机器学习笔记】5、Logistic Regression达到最大值。

举个最极端理想的例子,【李宏毅机器学习笔记】5、Logistic Regression产生这些training data的几率是1,这就意味着给任意个数据 x,【李宏毅机器学习笔记】5、Logistic Regression都能得出 x 的正确分类(准确说【李宏毅机器学习笔记】5、Logistic Regression是输出概率,从这个概率找到正确的分类)。

【李宏毅机器学习笔记】5、Logistic Regression

 刚才说要找一组最好的参数 【李宏毅机器学习笔记】5、Logistic Regression【李宏毅机器学习笔记】5、Logistic Regression,使【李宏毅机器学习笔记】5、Logistic Regression达到最大值。这件事可以看成找一组最好的参数 【李宏毅机器学习笔记】5、Logistic Regression【李宏毅机器学习笔记】5、Logistic Regression,使【李宏毅机器学习笔记】5、Logistic Regression达到最小值(给【李宏毅机器学习笔记】5、Logistic Regression加 ln 是为了计算更方便,不会对结果产生影响)。

【李宏毅机器学习笔记】5、Logistic Regression加 ln 后,根据ln 的特性,如图,原来相乘变相加。

这时的公式虽然变成相加,但是还是没办法写成 【李宏毅机器学习笔记】5、Logistic Regression 累加的格式。

为了做到这一点,将属于Class 1 的 x 的目标值y^\hat都设为1,将属于Class 2 的 x 的目标值y^\hat都设为0。此时【李宏毅机器学习笔记】5、Logistic Regression的每一项就可以替换成右边很长的式子,右边的式子就等价于左边的式子。如下:

【李宏毅机器学习笔记】5、Logistic Regression

以第一项为例子,Class 1 的 x 的目标值 y^\hat 以1代进去,后面代进去变成0,所以右边的式子化简后和左边的式子是一样的。

【李宏毅机器学习笔记】5、Logistic Regression

这时【李宏毅机器学习笔记】5、Logistic Regression就能表示如图所示的 【李宏毅机器学习笔记】5、Logistic Regression 累加的格式。

画蓝线的部分就是两个伯努利分布之间的cross entropy 。如果两个分布一样的话,cross entropy就等于0。这式子可以看成是损失函数。

分布p看成training data,分布q是预测的结果。【李宏毅机器学习笔记】5、Logistic Regression就是它们的 cross entropy 。

【李宏毅机器学习笔记】5、Logistic Regression

 图中是Logistic Regression和Linear Regression的损失函数的对比。

Logistic Regression为什么不用和Linear Regression一样的损失函数的原因等下会讲。

Step 3: Find the best function

【李宏毅机器学习笔记】5、Logistic Regression

【李宏毅机器学习笔记】5、Logistic Regression

第三部就是gradient descent,去更新参数。

【李宏毅机器学习笔记】5、Logistic Regression求 w 的偏导,就是对画蓝线的两项(【李宏毅机器学习笔记】5、Logistic Regression【李宏毅机器学习笔记】5、Logistic Regression)求偏导。计算过程如上图所示。

 

未完待续