首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2 机器学习入门——逻辑回归第一课

2 机器学习入门——逻辑回归第一课

作者头像
天涯泪小武
发布2019-01-17 11:59:41
6530
发布2019-01-17 11:59:41
举报
文章被收录于专栏:SpringCloud专栏SpringCloud专栏

前几篇都是讲线性回归的,特点就是最终的结果是一系列的值。我们通过找到合适的方程去匹配空间中的点的分布,得到合适的模型,然后用模型对未知的数据结果进行预测。二维线性模型就像下面的图,我们需要找到这根蓝色的线的方程。

现实生活中,我们还会有另一个常见的问题,就是分类。判断一个物体是大还是小,是高还是低,是不是垃圾邮件,这些都是只有2个答案的分类问题。还有一些复杂点的,有好几个答案,也适用于这种。

逻辑回归是基于线性回归的,它将数据拟合到一个logit函数(或者叫做logistic函数)中,从而能够完成对事件发生的概率进行预测。

因为线性回归能对结果进行预测,所以我们可以设定一个阈值,大于它的算1,小于它的算0,这样不就可以完成分类了吗?

有些时候是的,譬如我们根据垃圾邮件模型预测的结果,假如结果是从0-1之间,我们设定阈值为0.5,大于0.5就是垃圾邮件,这样不就完成了分类吗。是的,但前提是这个判断的模型足够标准,可惜绝大部分时候,线性模型给出的结果太生硬。

譬如像这样的数据分布,我们很难从线性模型中找到一个直线能较好的分离开两种数据。

而逻辑回归诞生就是为了干这事的,逻辑回归简单来说就等于线性回归乘以sigmoid函数,通过逻辑回归,我们可以将线性回归得到的可能无穷多的值,压缩到0和1的范围内。

 从函数图上可以看出,函数y=g(z)在z=0的时候取值为1/2,而随着z逐渐变小,函数值趋于0,z逐渐变大的同时函数值逐渐趋于1,而这正是一个概率的范围。 所以我们定义线性回归的预测函数为Y=WTX,那么逻辑回归的输出Y= g(WTX),其中y=g(z)函数正是上述sigmoid函数(或者简单叫做S形函数)。

至于为什么sigmoid能搞定分类,可以看看这篇

实际上sigmoid是非常神奇的,它能在很多奇怪的分类场景中,给出美好的结果。譬如

逻辑回归都能给出比较好的界定边界。逻辑回归擅长处理比较连续性的值,譬如上面几张图,而不是那种跳跃性极大的那种。逻辑回归性能也很好,还能对样本给出概率值输出。

同时,能处理分类的问题的算法有很多,如贝叶斯、决策树、SVM等等,它们各不相同,擅长的场景也不同。后续都会看到。

逻辑回归需要注意避免过度拟合问题,如下图,图1的线性回归欠拟合,图2的较好的拟合了大部分数据,图3则过度拟合,将来在新的测试数据上就会不太匹配。

前面这些都是2分类的问题,也就是yes、no的问题,逻辑回归通过画出一跟比较合适的曲线来完成分类。

多分类时呢?

我们借鉴这一篇的说法

其基本思路也是二分类,做判断题。  比如你要做一个三选一的问题,有ABC三个选项。首先找到A与BUC(”U”是并集符号)的分离边界。然后再找B与AUC的分离边界,C与AUB的分离边界。

这样就能分别得到属于A、B、C三类的概率,综合比较,就能得出概率最大的那一类了。 

OK,概念部分就说这么多,下几篇就开始数据实战。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年06月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档