美文网首页
逻辑回归初步

逻辑回归初步

作者: 空白少侠 | 来源:发表于2017-04-02 16:48 被阅读88次

最近在看一些机器学习入门文章 遇到一些概念 理解多少了应该把它记下来
原文

逻辑回归


参考文章

Logistic regression(逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。

比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。(注意这里是:“可能性”,而非数学上的“概率”,logisitc回归的结果并非数学定义中的概率值,不可以直接当做概率值来用。该结果往往用于和其他特征值加权求和,而非直接相乘)


回归

其实就是对已知公式的未知参数进行估计。大家可以简单的理解为,在给定训练样本点和已知的公式后,对于一个或多个未知参数,机器会自动枚举参数的所有可能取值(对于多个参数要枚举它们的不同组合),直到找到那个最符合样本点分布的参数(或参数组合)。

线性回归

例子:假设要找一个y和x之间的规律,其中x是鞋子价钱,y是鞋子的销售量。(为什么要找这个规律呢?这样的话可以帮助定价来赚更多的钱嘛,小学的应用题经常做的呵呵)。已知一些往年的销售数据(x0,y0), (x1, y1), ... (xn, yn)做样本集,并假设它们满足线性关系:y = ax + b (其中a,b的具体取值还不确定),线性回归即根据往年数据找出最佳的a, b取值,使 y = ax + b 在所有样本集上误差最小。这种简单的回归画图或计算就可以解决

上面这种情况考虑影响鞋子的销售量因素只有一个,那就是价格 但是实际中影响销量的因素不止只一个因素可能会有鞋子的质量,广告的投入,店铺所在街区的人流量都会影响销量等因素 我们想得到这样的公式:sell = ax + by + cz + dzz + e。这个时候画图就画不出来了,规律也十分难找,那么交给线性回归去做就好。

需要注意的是,这里线性回归能过获得好效果的前提是y = a*x + b 至少从总体上是有道理的(因为我们认为鞋子越贵,卖的数量越少,越便宜卖的越多。另外鞋子质量、广告投入、客流量等都有类似规律);但并不是所有类型的变量都适合用线性回归,比如说x不是鞋子的价格,而是鞋子的尺码),那么无论回归出什么样的(a,b),错误率都会极高(因为事实上尺码太大或尺码太小都会减少销量)。总之:如果我们的公式假设是错的,任何回归都得不到好结果。


Logistic方程

上面例子中所得到的结果是具体的实际数值 但是有时候我们会遇到 下面类似的问题

  • 某用户购买某商品的可能性
  • 某病人患有某种疾病的可能性
  • 某广告被用户点击的可能性等

这些问题的共同点都是产生一个0~1之间的类似概率的数值
但 运用线性回归显然不满足这个区间要求。于是引入了Logistic方程,

这里再次说明,该数值并不是数学中定义的概率值。那么既然得到的并不是概率值,为什么我们还要费这个劲把数值归一化为0~1之间呢?归一化的好处在于数值具备可比性和收敛的边界,这样当你在其上继续运算时(比如你不仅仅是关心鞋子的销量,而是要对鞋子卖出的可能、当地治安情况、当地运输成本 等多个要素之间加权求和,用综合的加和结果决策是否在此地开鞋店时),归一化能够保证此次得到的结果不会因为边界 太大/太小 导致 覆盖其他feature 或 被其他feature覆盖。(举个极端的例子,如果鞋子销量最低为100,但最好时能卖无限多个,而当地治安状况是用0~1之间的数值表述的,如果两者直接求和治安状况就完全被忽略了)
这是用logistic回归而非直接线性回归的主要原因。到了这里,也许你已经开始意识到,没错,Logistic Regression 就是一个被logistic方程归一化后的线性回归,仅此而已。
至于所以用logistic而不用其它,是因为这种归一化的方法往往比较合理(人家都说自己叫logistic了嘛 呵呵),能够打压过大和过小的结果(往往是噪音),以保证主流的结果不至于被忽视。具体的公式及图形见本文的一、官方定义部分。其中f(X)就是我们上面例子中的sell的实数值了,而y就是得到的0~1之间的卖出可能性数值了。


sigmoid函数

函数p(x)


简单的模型
其中θ(0,1,2) 分别取(-3, 1, 1)。带入
则当−3+X1+X2≥0时, y = 1; 则X1+X2=3是一个决策边界,
图形表示如下,刚好把图上的两类点区分开来:
线性模型

对于复杂的非线性模型


复杂

假设参数为 θ[-1 0 0 1 1]

这时当 我们判定y=1,这时的决策边界是一个圆形,如下图所示:

因此只要模型的参数越复杂 多复杂的判定边界都可以适应


代价函数(Cost Function)

参考

对于线性回归模型,我们定义的代价函数是所有模型误差的平方和 线性回归的代价函数定义为:


代价函数





当然我们可以和线性回归类比得到一个逻辑回归代价函数,实际就是上述公式中hθ(x)取为逻辑回归中的g(θTx),但是这会引发代价函数为“非凸”函数的问题,简单一点说就是这个函数有很多个局部最低点,如下图所示:


非凸的

而我们希望我们的代价函数是一个如下图所示,碗状结构的凸函数,这样我们算法求解到局部最低点,就一定是全局最小值点。


凸函数
上述的Cost Function对于逻辑回归是不可行的,我们需要其他形式的Cost Function来保证逻辑回归的成本函数是凸函数 于是 跳过大量的数学推导,直接出结论了,适合逻辑回归的代价函数:

通过这样构建的Cost(hø(x), y)函数的特点是:
当实际的 y=1 且 hø=1 时,误差为0;当 y=1 但 hø != 1时,误差随hø的变小而变大;
当实际的 y=0 且 hø=0 时,误差代价为0;当 y=0 但 hø != 0 时,误差随hø的变大而变大。


将构建的Cost(hø(x), y) 进行一个简化,可以得到如下简化公式:



这便是逻辑回归模型的代价函数了。


梯度下降算法(Gradient Descent)

相关文章

  • 逻辑回归初步

    最近在看一些机器学习入门文章 遇到一些概念 理解多少了应该把它记下来原文 逻辑回归 参考文章 Logistic r...

  • 2018.12.23

    初步学习一些算法的理论和推导,详细的数学有些略微跳过。线性回归,逻辑回归,回归里面的梯度下降方法决策树,随机森林,...

  • 机器学习day7-逻辑回归问题

    逻辑回归 逻辑回归,是最常见最基础的模型。 逻辑回归与线性回归 逻辑回归处理的是分类问题,线性回归处理回归问题。两...

  • ML03-逻辑回归(下部分)

    本文主题-逻辑回归(下部分):逻辑回归的应用背景逻辑回归的数学基础逻辑回归的模型与推导逻辑回归算法推导梯度下降算法...

  • ML02-逻辑回归(上部分)

    本文主题-逻辑回归(上部分):逻辑回归的应用背景逻辑回归的数学基础逻辑回归的模型与推导逻辑回归算法推导梯度下降算法...

  • 逻辑回归模型

    1.逻辑回归介绍2.机器学习中的逻辑回归3.逻辑回归面试总结4.逻辑回归算法原理推导5.逻辑回归(logistic...

  • Task 01|基于逻辑回归的分类预测

    知识背景 关于逻辑回归的几个问题 逻辑回归相比线性回归,有何异同? 逻辑回归和线性回归最大的不同点是逻辑回归解决的...

  • 11. 分类算法-逻辑回归

    逻辑回归 逻辑回归是解决二分类问题的利器 逻辑回归公式 sklearn逻辑回归的API sklearn.linea...

  • 机器学习100天-Day4-6逻辑回归

    逻辑回归(Logistic Regression) 什么是逻辑回归 逻辑回归被用于对不同问题进行分类。在这里,逻辑...

  • SKlearn_逻辑回归小练习

    逻辑回归 逻辑回归(Logistic regression 或logit regression),即逻辑模型(英语...

网友评论

      本文标题:逻辑回归初步

      本文链接:https://www.haomeiwen.com/subject/lqrgottx.html