【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的classification问题,并一步步推出了sigmoid函数的形式,这一节将主要针对logistic regression 。本文内容涉及机器学习中logistic regression的若干主要问题:logistic regression的缘由、logistic regression和linear regression的差异、多分类问题及logistic regression的限制等问题。话不多说,让我们一起学习这些内容吧。
课件网址:
http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html
视频网址:
https://www.bilibili.com/video/av15889450/index_1.html
李宏毅机器学习笔记 5 Logistic regression
1. Logistic regression的缘由
从上一系列classification最后的部分中,我们最终得到分类问题可以用sigmoid函数和一个线性函数表示。
既然我们知道分类问题最终表示为一个sigmoid加一个线性函数,线性函数的w和b可以由一系列复杂公式得出,我们能不能直接求出w和b而不用之前那么复杂的假设和公式?这个问题称之为logistic regression
先看分类问题的函数集
图形化为下图所示(我真的惊讶这个图原来是这样来的)
定义一系列training data:x1,x2,x3…及其标签,我们定义了新的loss function,目的在于最大化这个loss function
将loss function取负并且对数化,我们就可以minimize loss function了
继续简化可以得到交叉熵代价函数的形式
用loss function对wi做偏微分,我们可以得到w梯度下降的公式
2. logistic regression和linear regression的差异
以下是logistic regression与linear regression的对比形式
倘若我们将cross entropy改为square error的形式,我们会发现最终loss function对w的偏微分为0,无法对w进行优化
直接求w,b的方法称为discrimination model,上篇笔记的高斯模型方法称为generative model
对于之前的pokemon的例子,我们可以发现discriminative model效果更好。因为generative model已经做了脑补的事情,可能无法更好的表现客观事实
但当data很少时候,generation model更好,因为data少时,discrimination受噪音影响比较大
3. 多分类问题
对于多分类问题,我们采用的不是sigmoid function,而是softmax function
训练结构略图如下,注意下图的cross entropy前面应该有负号(ppt中写错)
4. logistic regression的限制
logistic regression也有限制,无法处理简单的异或问题
因为logistic regression的边界是一条直线
我们可以将多个logistic regression model级联起来解决这个问题
第一部分做feature transformation,第二部分做classification
由这个启发,我们将多个logistic model级联起来,我们就得到了neural network
领取专属 10元无门槛券
私享最新 技术干货