写的真的是太好了,那句说人话真是直戳我心
转载地址如下,感谢作者
内容:
转载请注明出处:http://www.codelast.com/
友情提示:如果觉得页面中的公式显示太小,可以放大页面查看(不会失真)。
Logistic Regression(或Logit Regression),即逻辑回归,简记为LR,是机器学习领域的一种极为常用的算法/方法/模型。
你能从网上搜到十万篇讲述Logistic Regression的文章,也不多我这一篇,但是,就像我写过的最优化系列文章一样,我仍然试图用“人话”来再解释一遍——可能不专业,但是容易看得懂。那些一上来就是几页数学公式什么的最讨厌了,不是吗?
所以这篇文章是写给完全没听说过Logistic Regression的人看的,我相信看完这篇文章,你差不多可以从无到有,把逻辑回归应用到实践中去。
Logistic Regression是一种分类算法。分类,也就是把一个群体(或问题,或数据)分为几个类别,例如,男/女/人妖;爱她的人/不爱她的人;今天会下雨/今天不会下雨。
Logistic Regression最常用于处理“二分类”问题,也就是说分类只有两个,像“爱她的人/不爱她的人”就是二分类,而“男/女/人妖”就不是二分类。当然,Logistic Regression也可以用于处理多分类问题,即所谓的“多分类逻辑回归”(Multiclass Logistic Regression),但本文并不涉及这个方面。
所以,说得简单点就是,给你一条数据,用Logistic Regression可以判断出这条数据应该被分到两个类别中的哪个中去。
文章来源:http://www.codelast.com/
Logistic Regression在现实世界中非常有用。例如,可以用它来判断一个用户是否会点击一个广告(会点击/不会点击),可以用Logistic Regression来判断两类人是否会相爱(会相爱/不会相爱),等等。
机器学习的主旨就是通过对历史数据的计算(即“学习”),得到一些未知参数的值,从而可以推断出新数据会有什么结论。例如一个非常简单的函数: y=ax+by=ax+b ,在已知几组 (x,y)(x,y) 历史数据的情况下:
(1, 5.5)
(1.5, 7)
(2, 6.5)
我们怎样能够预测一个未知的自变量 x=3x=3 会对应什么样的因变量 yy 呢?也就是说, x=3x=3 时 y=?y=?
显然我们的任务就是计算出两个未知参数 aa 和 bb 的值,有了这两个值,那么任意给定一个 xx ,我们都能通过函数 y=ax+by=ax+b 计算出 yy 的值了,这就是所谓的“预测”。
文章来源:http://www.codelast.com/
Logistic Regression也是类似,我们有一个函数 y=f(X)y=f(X) ,里面包含若干个未知参数 θ0,θ1,θ2,⋯,θnθ0,θ1,θ2,⋯,θn 。
由于现实世界是复杂的,因变量 yy 通常会跟很多因素(自变量 xx )有关系,即 x0,x1,x2,⋯,xnx0,x1,x2,⋯,xn ,所以这里自变量是一个向量,这里用大写的 XX 来表示。同理,那一堆未知的参数也是一个向量,用一个字母 θθ 来表示。
现在给我们一堆 (x,y)(x,y) 的历史数据,我们要想办法计算出所有未知参数的值,然后就可以拿来预测新的