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

时间:2022-01-04 23:12:27

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

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

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

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

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

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

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

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

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

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

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

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

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

实际上sigmoid是非常神奇的,它能在很多奇怪的分类场景中,给出美好的结果。譬如2 机器学习入门——逻辑回归第一课

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

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

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

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

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

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

多分类时呢?

我们借鉴这一篇的说法

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

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

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

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

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

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