(整理自AndrewNG的课件,转载请注明。整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/

上一篇讲解了Logistic Regression的基础知识,感觉有很多知识没说清楚,自己理解的也不透彻,好在coursera上NG又从另外的角度讲了一下。这里我权当个搬运工,把他讲的搬过来,加上自己的理解整理一下。主要分成三个部分:对的再理解、Decision Boundary(决策边界)、多类问题。

1 对的再理解

这部分采用启发式的方式来讲解,循序渐进的在跟大家讲一下选择的合理性。我们知道Linear Regression不适合用来解决分类问题,从下面角度来理解:

对于Logistic Regression,

,由图显然,若x从负无穷到正无穷变化时,的变化范围也是从负无穷到正无穷,而y的取值只能是0或1 。这岂不是很奇怪,直观想象:即使不能映射到0或1,也至少将映射到,数学里还真有一个函数,那就是我们上次提到的:

那直接将特征x从映射到可以吗?显然不合理,若是那样:当x大于0时,就判断为1类,否则为0类,显然不符合实际情况,应该具体问题具体分析。所以就将进行映射,对于分类问题,通过恰当的选择特征构造,通过梯度下降法,是可以训练出分类器的。

从概率上这也是合理的,计算出的是,对于输入x,输出y=1的概率。假如对于输入x,计算出=0.7,则表示y=1的概率为70%,则判断为y=1 。

2 Decision Boundary(决策边界)

上面介绍了分类,却没对的含义,给出形象的解释:

图示如下:

假如已经训练好分类器为,我们对新输入x,判断其类别的依据是:

,由于,所以等价于判断:

所以就是我们的分类面,即Decision Boundary 。举例说明:

,对于这个分类问题有两个特征。我们假设,经过训练求解:

,则分界面为

,即

再来看一个非线性决策边界的例子:

,对于这个分类问题有4个特征,分别是。我们假设,经过训练求解:

,则分界面的方程为: ,为一个圆,图如下:

也就是说,虽然罗辑回归的假设函数为,但分类结果的直观表示却是,即Decision Boundary(决策边界)。

3 多类问题

以上我们主要介绍了用逻辑回归解决二值分类的问题,下面我们简要介绍一下多类问题。现实生活中有很多的多类问题,例如要根据掌握的信息进行天气的预测,就有阴、晴、雨、雪等情况;对邮件进行分类管理,也可分为家人、朋友、同事等管理类别。

用Logistic Regression解决多类问题的思路很简单:就是把就绝K类的问题,转化为求解K的二值分类问题。下面以一个例子来说明:

,这是一个简单的3类问题,我们把它分解成下面3个二值问题来解决:

,经过这样的处理就把问题转换成已知的二值分类问题了,用逻辑回归分别进行求解:

就可以得到表示对于输入变量x,它属于i类的概率。如果要对新来的输入进行类别的预测,分别计算,那类对应的最大,说明输入属于这个类别的概率最大,就判断为这个类别。

这里有一点需要注意:对于K类的多类问题,是要分解成K个二值问题的,而不是(K-1)个或更少。因为各个之间没有什么直接的关系(之和不为1):

,可以看到它们之间有交叉,也有都不包含的区域。

Logistic Regression(逻辑回归)(二)—深入理解的更多相关文章

  1. Coursera DeepLearning.ai Logistic Regression逻辑回归总结

    既<Machine Learning>课程后,Andrew Ng又推出了新一系列的课程<DeepLearning.ai>,注册了一下可以试听7天.之后每个月要$49,想想还是有 ...

  2. Logistic Regression逻辑回归

    参考自: http://blog.sina.com.cn/s/blog_74cf26810100ypzf.html http://blog.sina.com.cn/s/blog_64ecfc2f010 ...

  3. Logistic Regression(逻辑回归)

    分类是机器学习的一个基本问题, 基本原则就是将某个待分类的事情根据其不同特征划分为两类. Email: 垃圾邮件/正常邮件 肿瘤: 良性/恶性 蔬菜: 有机/普通 对于分类问题, 其结果 y∈{0,1 ...

  4. 机器学习简要笔记(五)——Logistic Regression(逻辑回归)

    1.Logistic回归的本质 逻辑回归是假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度上升/下降法来求解参数,从而实现数据的二分类. 1.1.逻辑回归的基本假设 ①伯努利分布:以抛硬币为例 ...

  5. Deep Learning 学习笔记(4):Logistic Regression 逻辑回归

    逻辑回归主要用于解决分类问题,在现实中有更多的运用, 正常邮件or垃圾邮件 车or行人 涨价or不涨价 用我们EE的例子就是: 高电平or低电平 同时逻辑回归也是后面神经网络到深度学习的基础. (原来 ...

  6. 【原】Coursera—Andrew Ng机器学习—Week 3 习题—Logistic Regression 逻辑回归

    课上习题 [1]线性回归 Answer: D A 特征缩放不起作用,B for all 不对,C zero error不对 [2]概率 Answer:A [3]预测图形 Answer:A 5 - x1 ...

  7. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 6_Logistic Regression 逻辑回归

    Lecture6 Logistic Regression 逻辑回归 6.1 分类问题 Classification6.2 假设表示 Hypothesis Representation6.3 决策边界 ...

  8. 机器学习之LinearRegression与Logistic Regression逻辑斯蒂回归(三)

    一 评价尺度 sklearn包含四种评价尺度 1 均方差(mean-squared-error) 2 平均绝对值误差(mean_absolute_error) 3 可释方差得分(explained_v ...

  9. 吴恩达深度学习:2.1Logistic Regression逻辑回归及其损失函数

    1.Logistic Regression是一个二元分类问题 (1)已知输入的特征向量x可能是一张图,你希望把它识别出来,这是不是猫图,你需要一个算法,可以给出预测值,更正式的y是一个概率,当输入特征 ...

随机推荐

  1. ios 调用webservice整理

    资料地址:http://blog.sina.com.cn/s/blog_a30ee5f701016yn3.html 学iphone开发有一段时间了,对于我这个新手来说,学习过程中,遇到不少问题,尤其是 ...

  2. [HDU 1428]--漫步校园(记忆化搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1428 漫步校园 Time Limit: 2000/1000 MS (Java/Others)    M ...

  3. USACO March. 2012

    Connect the Cows Times17 水题 Landscaping Flowerpot Tractor 广搜 搜到边界就可以终止了 没什么难度 #include <stdio.h&g ...

  4. CSS 实现图片灰度效果 兼容各种浏览器

    CSS 实现图片灰度效果 兼容各种浏览器如360浏览器 CSS实现图片灰度效果就是通过CSS样式让彩色图片呈现为灰色,相当于把一张图像的颜色模式调整为灰度,CSS可以通过以下几种方法来实现灰度效果. ...

  5. 错误处理try catch

    <?phpfunction inverse($x) { if (!$x) { throw new Exception('被除数不能为0'); } if ($x>31) { throw ne ...

  6. Miller_Rabin、 Pollard_rho Template

    Multiply and pow Function: //计算 (a*b)%c. a,b都是ll的数,直接相乘可能溢出的 // a,b,c <2^63 ll mult_modq(ll a,ll ...

  7. JavaEE Tutorials (3) - 企业bean

    3.1什么是企业bean383.1.1企业bean的好处393.1.2何时使用企业bean393.1.3企业bean类型393.2什么是会话bean393.2.1会话bean类型403.2.2何时使用 ...

  8. 百度编辑器ueditor简单易用

    最近刚刚被分配任务给一个新闻发布,它采用了富文本编辑器.本人也被用于,只是这一次我选择了百度的富文本编辑器ueditor1_4_3-utf8-jsp版. 事实上看ueditor功能非常强大,只是百度的 ...

  9. 如何将UISearchBar上"Cancel"按钮改为”取消“?

    别说话,直接上代码 for (id obj in [searchBar subviews]) {        if ([obj isKindOfClass:[UIView class]]) {    ...

  10. C++部分术语(Terms)

    翻译自msdn,如有不妥当的地方,欢迎指正. 声明(Declaration):声明引入了一个名字以及其类型进入程序中,并没有定义一个相关的对象或者函数.然而,很多声明都作为定义使用.   定义(def ...