机器学习基于逻辑回归案例,机器爱学习07,逻辑回归简介
本章,将为大家介绍一种新的机器学习问题--逻辑回归(Logistic Regression)。
线性回归 PK 逻辑回归
到目前为止,我们学到了一种hypothesis function,格式如下:
hypothesis function
很明显,这是一条直线,即hθ(x)是一组连续的数值。我们把这种结果值连续的类型,称为线性回归Linear Regression。
在实际应用中,我们还会遇到结果值不连续的问题,比如,根据某人的浏览历史,来判断是否为其推荐机器学习方面的文章。
很明显,这类问题中,机器学习算法只需要回答“是”or“否”即可,如果转换为数值,那么机器学习只需要输出“1”or“0”。
这类问题的结果值是离散的,我们称之为逻辑回归Logistic Regression。
线性回归:结果值是连续的
逻辑回归:结果值是离散的
二分类 VS 多分类
在逻辑回归中,如果结果值只有两种(“是”or“否”),则称为二分类问题;
如果结果值有很多种(“晴”“阴”“雨”....),则称为多分类问题。
逻辑回归中最简单的就是二分类问题,下面我们就从二分类问题入手,揭开逻辑回归的面纱~
Sigmoid函数
我们先思考一个问题:逻辑回归的hypothesis function是什么样的?和线性回归的类似吗?
很不幸,线性回归的hypothesis function,是无法用在逻辑回归中的(一个连续、一个离散)。
看起来,我们需要另外找一个function,这个function的输出值
要么为"0"
要么为"1"
假如我们真的找到了这个function,在坐标系中表示如下:
现在,我们该怎么去求这个hypothesis function的参数?最小二乘法可以吗?sorry,该函数不连续,无法求偏导;梯度下降算法呢?NO!
面对这样一个不连续的函数,我们其实没有多少办法!
所以,我们要找的函数,不止只输出"0"和"1",而且要连续。
大家可以思考下,上面的两个条件,根本就没法同时满足!
那么,逻辑回归是如何解决的呢?
逻辑回归选择了Sigmoid函数作为hypothesis function,我们来看下,Sigmoid在坐标系中的样子:
sigmoid函数图示
What?不是说好要找一个只输出"0"和"1"的函数吗?
这里需要特别说明下,逻辑回归中,hypothesis function的意义。
逻辑回归中,hypothesis function的结果,代表预测值取"0"或"1"的概率,而不是预测值本身
hypothesis function含义更改后,我们再来看sigmoid函数。
毫无疑问,sigmoid函数是连续函数
当sigmoid函数输出 大于 0.5,则认为hypothesis function预测值更倾向于"1";如果输出 小于 0.5,认为hypothesis function预测值更倾向与"0"
逻辑回归通过改变hypothesis function的含义,不仅使预测值(注意不是hypothesis function)只输出"0"or"1",同时还保证了hypothesis function的连续性。不得不说,逻辑回归贼机智!!
逻辑回归的预测函数hypothesis function
看起来,我们已经找到了合适的hypothesis function,那么我们来看看,这个sigmoid长什么样。
sigmoid函数的表达式如下:
sigmoid函数表达式
逻辑函数并不是直接使用上面的函数作为代价函数,而是使用下面的函数:
逻辑回归的hypothesis function
可以看到,逻辑回归,是将sigmoid函数和线性回归的hypothesis function结合在一起。
逻辑回归的cost function
找到了逻辑回归的hypothesis function,接下来,我们来看下逻辑回归的cost function。
与线性回归类似,我们可以使用下面的函数作为cost function:
但是,在逻辑回归中,这样的cost function会存在找不到全局最优解的问题。为什么呢?
如果逻辑回归使用上面的cost function,那么cost function可能是下面的“非凸”函数:
非凸函数
这样的“非凸”函数,如果使用机器学习算法,可能只能找到局部最优解,而找不到全局最优解,这不是我们想要的,因此我们需要重新找一个“凸”函数作为cost function
逻辑回归使用的cost function如下所示,这里面有一些数学推导,如果大家有兴趣,可以自己找下这方面的资料,这里我们不做推导,直接写出来。
逻辑回归的cost function
上面的分段函数,处理起来很不方便,我们将其合并为一个函数,得到我们最终的cost function:
逻辑回归的cost function
下一章,我们将使用梯度下降算法来实现逻辑回归,并用python来实现。
- 02-23后羿出六个射手神装:这个射手出肉装才是王道
- 03-14sh f龙珠悟空 官图:SHF龙珠,萌萌的小悟空童年回忆不来一发
- 03-18华为mate系列和p系列有哪些差异?华为mate系列和P系列谁更值得选
- 02-07抖音短视频拍摄技巧自学官方:为什么抖音拍出来模糊
- 01-23少羽大天狗和蟹姬 少羽大天狗-杏香盈袖
- 03-10出自诗经的兔宝宝名字 兔宝宝男孩的诗经楚辞名
- 10-24永邦天汇土地拍卖:永邦天汇等项目成功补证
- 01-09安妮海瑟薇为什么演技这么好?安妮海瑟薇皱纹深到认不出
- 03-08dnf关羽四龙 征战者关羽,无宠物海伯伦
- 12-06新娘讲话之后主持人说什么?新娘不小心放了一个屁
- 10-13两性疲惫期是什么时候?一定要避开这三个时间点
- 03-09同学情谊语录唯美短句:并未因岁月和距离而风化
- 12-06我们的苹果手机为什么那么耗电?测试结果表示我们错怪它了
- 10-04手绘画豆芽植物的成长过程,用画笔记录下蔬菜的成长过程
- 02-16语文歇后语怎么写?语文积累,歇后语分类
- 03-20阳台发现大量蜜蜂******怎么办?视频,南京持续天热成群野蜜蜂飞入明城墙缝里
热门
推荐
- 1申请结婚登记声明书附样本376
- 2四年级科学小吊车课件268
- 3微信服务合同范本3篇173
- 4农村实用人才队伍建设调查报告474
- 5沈阳市大学生就业创业推荐项目257
- 6女人一生必读的书籍推荐175
- 7触类旁通的同义词和反义词是什么及造句304
- 8商标驳回复审的程序428