吴恩达机器学习笔记(三)

前言

        我跳过了Octave部分的学习,转而利用这部分时间去研究python如何实现这系列课程的小作业,当作是熟悉一边python的一些常用库及一些好用的工具。关于这系列的python代码参考下面这个大佬的代码:

        吴恩达机器学习与深度学习作业目录 - Cowry - CSDN博客

        接下来开始第三周的学习,线性回归算法结束,进入下一个算法。

视频课简记

6、 逻辑回归

6.1  分类问题

        分类问题在第一周一开始举得例子也曾接触过——预测的y为离散值的情况,比如判断电子邮件是否为垃圾邮件;判断一次金融交易是否存在欺诈等等。在所有的这类问题中,尝试预测的变量y都可以用0或1来表示,,0表示负类,1表示正类。

        给出了一个例子解释为什么用线性回归算法去解决分类问题不是一个好的办法,对于分类问题,预测值y是0或1,如果使用线性回归,假设hθ(x)的输出值有可能会远大于1或远小于0,这样的结果不是我们想要的。于是,考虑造特殊函数使0=<hθ(x)<=1,也就是使用Logistic回归的方法。

6.2  假说表示

        前面提到过,我们希望分类器的输出值在0和1之间,而不是其他值,那么我们需要找到一个假设函数的表达式使其值域在0到1之间。现在我们开始接触新的模型,逻辑回归,其表达式为h_\theta(x)=g(\theta^Tx),其中g(z)=\frac{1}{1+e^{-z}} 。函数图像如下:

逻辑回归函数图像

        后面要做的也是用算法确定参数\theta的值。这个假设的意义在于输出给定输入变量为正类或负类的可能性。例如,如果对于给定的x,通过已经确定的参数计算得出h_\theta(x)=0.7,则表示有 70%的几率y为正类,相应地y为负向类的几率为1-0.7=0.3。

6.3  决策界限

        首先理解一下上面的函数到底在算些什么。

logistic regression

        很明显当\theta^Tx>=0时会预测h_\theta(x)=1;而在\theta^Tx<0时预测h_\theta(x)=0。假设我们有个模型h_\theta(x)=g(\theta_0+\theta_1x_1+\theta_2x_2),并给定三个参数的值为-3,1,1带入可以画出图形:

出现边界

        可以清楚的看到一条边界区分了两种类别,所以只要确定了参数组就可以确定决策边界,之后会学到算法去确定参数组。对于奇怪的分布可以用多项式解决。假设函数越复杂,也就是说特征数不断增加,将会得到更复杂的图像和决策界限。

用二项式拟合

6.4  代价函数

        上面知道了逻辑回归算法的假说形式,现在要开始了解如何拟合模型的参数\theta
。这时候就需要定义用来优化参数的代价函数。如果我们还是使用线性回归的代价函数,非线性的h_\theta(x)会导致代价函数的图像如下所示:

机器学习概念篇:一文详解凸函数和凸优化,干货满满 - 云+社区 - 腾讯云

非凸函数

        这是一个非凸函数,这个函数直观的可以看到具有许多局部最小值,容易导致梯度下降算法失效。所以我们改变一下逻辑回归的代价函数,并画出他们的图像:

逻辑回归cost function
h(x)和cost function的关系图

        可以看出,h_\theta(x)为预测值,y为真实标签。若预测值为1且y为1,代价函数为0,毕竟预测完全正确不需要误差带来的代价。若预测值为0且y为1,预测完全错误,代价无限大。反之同理。有了这样一个代价函数后,我们就可以使用梯度下降算法去拟合参数theta了。

6.5   简化代价函数和梯度下降

        上面分段表示的代价函数其实可以简化为一行:

简化代价函数

        看起来非常直观,利用了y非0即1的特性把分段函数整合到了一起。对这个代价函数我们可以像之前一样直接使用梯度下降算法,更新规则:

参数更新

        看起来和线性回归的一模一样,但是要记住他们的假设函数h是不同的。实际上是两种完全不同的东西。但是应用在线性回归中的特征缩放的方法也同样可以让逻辑回归中的梯度下降收敛更快。

python代码实现逻辑回归代价函数计算

6.6  高级优化

        介绍了3个比梯度下降更厉害的算法去拟合参数:共轭梯度法、优化算法——拟牛顿法之BFGS算法 - null的专栏 - CSDN博客、L-BFGS。这些算法的主要缺点是比梯度下降法要复杂的多。它们的优点:

    (1)通常不需要手动的选择学习率,它可以自动选择较好的学习率;

    (2)它们的收敛速度远远快于梯度下降。

        后面介绍了怎么用Octave去使用这些高级的算法,跳过。相关python实现的代码:

        python实现共轭梯度法 - m0_37783096的博客 - CSDN博客

        优化算法——拟牛顿法之BFGS算法 - null的专栏 - CSDN博客

        优化算法——拟牛顿法之L-BFGS算法 - null的专栏 - CSDN博客

        这些算法通常在大型一点的项目上替代梯度下降算法。

6.7  多类别分类:一对多

        多元分类,三类的例子如下:

三种类别

        处理方法是将之转换为二元分类问题,从一对多转换成一对余:

三种子分类器

        对于子分类器组成的总假设,每次在我们需要做预测时,我们将所有的分类机都运行一遍,然后对每一个输入变量,都选择最高可能性的输出变量,即选择子分类器中最大的概率max(h_\theta^{(i)}(x))

小总结

        这周学习了据说是最常用的机器学习算法——逻辑回归,想想也是,ML目前落地较多的一些项目都是分类相关的问题。理解还是不难理解,毕竟和线性回归蛮像的,就是替换了一下假设函数和代价函数,都是数学上的性质与概念。要补充的知识是课程中提到的三个更优的求参算法,难度较大。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

  • 以西瓜书为主线,以其他书籍作为参考进行补充,例如《统计学习方法》,《PRML》等 第一章 绪论 1.2 基本术语 ...
    danielAck阅读 4,510评论 0 6
  • (第一部分 机器学习基础)第01章 机器学习概览第02章 一个完整的机器学习项目(上)第02章 一个完整的机器学习...
    SeanCheney阅读 7,598评论 2 14
  • 所有的结局都已写好 所有的泪水也都已启程 却忽然忘了是怎么样的一个开始 在那个古老的不再回来的夏日 无论我如何地去...
    歇歇看看书阅读 203评论 0 0
  • 单元作文) 我也当了一次“理发师” 光阴荏冉,转眼间就过去了十年。在这十年之间,最...
    峡溪飞瀑阅读 264评论 0 0
  • 撑不住的时候,可以对自己说声“我好累”,但永远不要在心里承认说“我不行”。不要在最该奋斗的年纪选择了安逸。没什么好...
    蒝味的薇笑阅读 123评论 0 0