台大李宏毅Machine Learning 2017Fall学习笔记 (6)Logistic Regression

台大李宏毅Machine Learning 2017Fall学习笔记 (6)Logistic Regression

做Logistic Regression回归,需要3步。
Step 1: Function Set
在此问题中选择sigmod(z)函数,具体见下图。
这里写图片描述
这里写图片描述
这里对Logistic Regression和Linear Regression的输出值做个对比,主要是输出值的范围不同。
这里写图片描述
Step 2: Goodness of a Function
如果训练数据集的格式如下所示:
这里写图片描述
假设训练集数据是由fw,b(x)=Pw,b(C1|x)函数产生。给定wb,由该函数产生这组数的概率为

L(w,b)=fw,b(x1)fw,b(x2)(1fw,b(x3))fw,b(xN)

现在的目标是求出使L(w,b)最大的wb
w,b=arg maxw,bL(w,b)

为了便于处理,对 上式进行等价处理:
这里写图片描述
这里写图片描述
注意:上图中采用交叉熵函数作为损失函数。Cross entropy表示两个distribution有多么接近,若两个distribution一模一样,则cross entropy=0
关于前两步对Logistic Regression和Linear Regression做对比。
这里写图片描述
至于为何不用square error做线性回归,暂且不表。
Step 3: Find the best function
这一步的工作就是要利用梯度下降法,不断迭代,找到符合要求的解。PPT中步骤详细,直接贴上来。
这里写图片描述
这里写图片描述
这里写图片描述
顺便观察下迭代的公式,可以发现逻辑回归和线性回归的迭代公式是相同的。
这里写图片描述
好,模型的求解讲解完毕。再说一说为何不用square error
如果采用了logistic regression + square error的方式,那么在第三步中会出现微分值为0的情况,导致参数无法迭代更新。比如下面两个例子。
这里写图片描述
这里写图片描述
Cross entropy: 距离目标点越远时,目标值越大,参数更新的越快。
Square error: 当距离目标远时,目标函数对参数的微分值极小,参数更新速度很慢,不容易得到结果。
下图形象地展示了这一点。
这里写图片描述
判别式模型与生成式模型(Discriminative v.s. Generative)
这一小节讲述的logistic regression属于判别式模型(Discriminative);上一节中利用高斯分布描述数据的联合概率的方法求解model属于生成式模型(Generative)。
这里写图片描述
两种求解模型的方法各有优劣,在此小节的问题中判别式模型的准确率更高。
那生成式模型的优势见下图。
这里写图片描述
之前讨论的都是二分类问题,如果遇到多分类问题,以三分类为例,则需要把sigmod(x)函数改为softmax(x),其公式如下:
softmax(zj)=ezjiezi

举例如下:
这里写图片描述
这里写图片描述
Logistic Regression的限制
有时会出现无法分类的情况,如下图。
这里写图片描述
这里写图片描述
此时需要进行特征变换,但是要找到一个很好的特征变换往往并不容易。
这里写图片描述
这时候咱们把几个逻辑回归组合起来,其效果相当于特征变换的作用。再加一个逻辑回归当作分类器。整体结构图如下所示。
这里写图片描述
首先进行特征变换,结果如下。
这里写图片描述
基于特征变换的结果进行分类,如下图。
这里写图片描述
注:上图右下中的x,1x,2画反了。。。
把多个logistic regression串在一起,再换个名字叫Deep Learning,瞬间就潮了许多。就可以去骗麻瓜说我们是在利用深度学习的方法做人工智能,模拟人类大脑的运作~~~

发布了269 篇原创文章 · 获赞 70 · 访问量 34万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览