1,回归(Linear Regression)

回归其实就是对已知公式的未知参数进行估计。可以简单的理解为:在给定训练样本点和已知的公式后,对于一个或多个未知参数,机器会自动枚举参数的所有可能取值(对于多个参数要枚举它们的不同组合),直到找到那个最符合样本点分布的参数(或参数组合)。当然,实际运算有一些优化算法,肯定不会去枚举的。注意,回归的前提是公式已知,否则回归无法进行。回归中的公式基本都是数据分析人员通过看大量数据后猜测的。根据这些公式的不同,回归分为线性回归和非线性回归。线性回归中公式都是“一次”的(一元一次方程或多元一次方程),而非线性则可以有各种形式(N元N次方程,log方程等等)。当然如果我们的公式假设是错的,任何回归都得不到好结果。

2,线性回归

线性回归是回归模型,利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方)。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。通过合理的回归模型,我们可以得到接近于真实值的预测值,然而很多情况下,我们需要回归产生一个类似概率值的0~1之间的数值。

于是引入了Logistic方程,来做归一化。这里再次说明,该数值并不是数学中定义的概率值。那么既然得到的并不是概率值,为什么我们还要费这个劲把数值归一化为0~1之间呢?归一化的好处在于数值具备可比性和收敛的边界,归一化能够保证此次得到的结果不会因为边界 太大或太小 导致覆盖其他feature 或被其他feature覆盖。这是用logistic回归而非直接线性回归的主要原因。

举个例子:比如你不仅仅是关心鞋子的销量,而是要对鞋子卖出的可能、当地治安情况、当地运输成本等多个要素之间加权求和,用综合的加和结果决策是否在此地开鞋店时,假设如果鞋子销量最坏时为100,但最好时能卖无限多个,而当地治安状况是用0~1之间的数值表述的,如果两者直接求和治安状况就完全被忽略了。

3,逻辑回归
逻辑回归(Logistic Regression) 就是一个被logistic方程归一化后的线性回归,之所以用logistic而不用其它,是因为这种归一化的方法往往比较合理,能够打压过大和过小的结果(往往是噪音),以保证主流的结果不至于被忽视。
logistic 回归和线性回归的主要区别是:线性回归是根据样本X各个维度的Xi的线性叠加(线性叠加的权重系数wi就是模型的参数)来得到预测值的Y,然后最小化所有的样本预测值Y与真实值y’的误差来求得模型参数。我们看到这里的模型的值Y是样本X各个维度的Xi的线性叠加,是线性的。

然后再来看看我们这里的logistic 回归模型,模型公式是:

逻辑回归采用似然函数,而不是平方损失函数,主要是因为交叉熵损失函数的好处是可以克服方差代价函数更新权重过慢的问题(针对激活函数是sigmoid的情况)。

逻辑回归使用sigmoid函数的原因有:
(1)Sigmoid 函数自身的性质,因为这是一个最简单的,可导的,0-1阶跃函数;sigmoid 函数连续,单调递增;关于(0,0.5) 中心对称;对sigmoid函数求导简单 。
(2)逻辑回归函数的定义:

逻辑回归可用于概率预测,也可用于分类。并不是所有的机器学习方法都可以做可能性概率预测(比如SVM就不行,它只能得到1或者-1)。可能性预测的好处是结果有可比性:比如我们得到不同广告被点击的可能性后,就可以展现点击可能性最大的N个。这样以来,哪怕得到的可能性都很高,或者可能性都很低,我们都能取最优的topN。当用于分类问题时,仅需要设定一个阈值即可,可能性高于阈值是一类,低于阈值是另一类。

逻辑回归仅能用于线性问题,只有在feature和target是线性关系时,才能用LogisticRegression(不像SVM那样可以应对非线性问题)。这有两点指导意义,一方面当预先知道模型非线性时,果断不使用LogisticRegression; 另一方面,在使用LogisticRegression时注意选择和target呈线性关系的feature。

各feature之间不需要满足条件独立假设,但各个feature的贡献是独立计算的。逻辑回归不像朴素贝叶斯一样需要满足条件独立假设(因为它没有求后验概率)。但每个feature的贡献是独立计算的,即LR是不会自动帮你combine不同的features产生新feature的。

参考链接:https://www.jianshu.com/p/f15c87c6810b

4,逻辑回归和SVM的异同点

4.1 相同点

第一,LR和SVM都是分类算法。
第二,如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的。
第三,LR和SVM都是监督学习算法。
第四,LR和SVM都是判别模型。

判别模型会生成一个表示P(Y|X)的判别函数(或预测模型),而生成模型先计算联合概率p(Y,X)然后通过贝叶斯公式转化为条件概率。简单来说,在计算判别模型时,不会计算联合概率,而在计算生成模型时,必须先计算联合概率。

4.2 不同点:

第一,本质上是其loss function不同
逻辑回归的损失函数是交叉熵函数:

SVM的损失函数:

逻辑回归方法基于概率理论,假设样本为1的概率可以用sigmoid函数来表示,然后通过极大似然估计的方法估计出参数的值;支持向量机基于几何间隔最大化原理,认为存在最大几何间隔的分类面为最优分类面;
第二,支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局(远离的点对边界线的确定也起作用)。
第三,在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。
这个问题理解起来非常简单。分类模型的结果就是计算决策面,模型训练的过程就是决策面的计算过程。通过上面的第二点不同点可以了解,在计算决策面时,SVM算法里只有少数几个代表支持向量的样本参与了计算,也就是只有少数几个样本需要参与核计算(即kernal machine解的系数是稀疏的)。非线性SVM可以理解为通过核函数将非线性特征映射为线性特征,然后再求线性分界面(只是方便理解,实际上并不是线性)。实际运算时直接在低维空间中直接计算,而不是先映射到高维空间再进行内积运算
然而,LR算法里,每个样本点都必须参与决策面的计算过程,也就是说,假设我们在LR里也运用核函数的原理,那么每个样本点都必须参与核计算,这带来的计算复杂度是相当高的。所以,在具体应用时,LR很少运用核函数机制。
第四,SVM的损失函数就自带正则。
参考原文:https://blog.csdn.net/ddydavie/article/details/82668141

线性回归、逻辑回归及SVM相关推荐

  1. Spark MLlib回归算法------线性回归、逻辑回归、SVM和ALS

    Spark MLlib回归算法------线性回归.逻辑回归.SVM和ALS 1.线性回归: (1)模型的建立: 回归正则化方法(Lasso,Ridge和ElasticNet)在高维和数据集变量之间多 ...

  2. 线性回归 逻辑回归

    分类就是到底是1类别还是0类别. 回归就是预测的不是一个类别的值,而是一个具体的值,具体借给你多少钱哪? 一.回归分析 回归分析(英语:Regression Analysis)是一种统计学上分析数据的 ...

  3. 机器学习 之线性回归、逻辑回归、 SVM支持向量机、随机森林

    参考b站不会还有人不知道最新版2022年的李宏毅--机器学习与深度学习吧?_哔哩哔哩_bilibili 分类 1.监督学习:     从给定的训练数据集中学习一个函数(模型),当新数据(测试集)来到时 ...

  4. 线性回归+逻辑回归+过拟合+模型评估笔记

    笔记 什么是线性回归 具体的内容 参数计算 什么是逻辑回归?(什么问题) 具体的内容(怎么解决的?) 建立预测函数(线性回归再套一个函数) Sigmoid函数(Logistic函数) 损失函数 逻辑回 ...

  5. 机器学习的几种方法(knn,逻辑回归,SVM,决策树,随机森林,极限随机树,集成学习,Adaboost,GBDT)

     一.判别模式与生成模型基础知识 举例:要确定一个瓜是好瓜还是坏瓜,用判别模型的方法是从历史数据中学习到模型,然后通过提取这个瓜的特征来预测出这只瓜是好瓜的概率,是坏瓜的概率. 举例:利用生成模型是根 ...

  6. 实战7:机器学习实战之 随机森林、逻辑回归、SVM算法方法进行垃圾邮件过滤分类 代码+数据

    任务描述: 我们日常学习以及工作中会收到非常多的邮件,除了与学习工作相关的邮件,还会收到许多垃圾邮件,包括广告邮件.欺诈邮件等等.本任务通过邮件中包含的文本内容来判断该邮件是正常邮件(ham)还是垃圾 ...

  7. 春节充电 | 文科生都能看懂的机器学习教程:梯度下降、线性回归、逻辑回归(附动图解释)...

    来源:新智元 本文约4200字,建议阅读10+分钟. 本文浅显易懂的方式讲解机器学习,力求让没有理科背景的读者都能看懂. [ 导读 ]虽然在Coursera.MIT.UC伯克利上有很多机器学习的课程, ...

  8. 文科生都能看懂的机器学习教程:梯度下降、线性回归、逻辑回归

    来源:新智元 本文约4200字,建议阅读10+分钟. 本文浅显易懂的方式讲解机器学习,力求让没有理科背景的读者都能看懂. [ 导读 ]虽然在Coursera.MIT.UC伯克利上有很多机器学习的课程, ...

  9. 机器学习面试——逻辑回归和线性回归

    1.什么是广义线性模型(generalize linear model)? 普通线性回归模型是假设X为自变量,Y为因变量,当X是一维的,y是一维的,共进行n次观测,则 其中,w是待估计的参数,称为回归 ...

最新文章

  1. 冒犯了,问大家一个问题,会linux的进来帮我解决一下
  2. 转:Python Shell 清屏方法
  3. 28个经过重新设计的著名博客案例
  4. 发现一款.NET Core开源爬虫神器:DotnetSpider
  5. 如何才能成为真正的程序员
  6. php ci controller,Codeigniter – CI_Controller与控制器
  7. 【CCCC】L2-021 点赞狂魔 (25分),,模拟水题,map数组,间接排序
  8. 机器学习---分类、回归、聚类、降维的区别
  9. 华为 台积电 高通申请_华为表态愿意合作,台积电送来“神助攻”,高通:我太难了...
  10. 记一次虚拟机共享文件夹的采坑之旅
  11. 详解AC97和HD声卡前置音频接口的连接跳线
  12. 同比、环比的区别及计算公式
  13. JAVA 实现 名单按姓氏笔画为序排列
  14. 支付宝《神奇海洋》素材
  15. 为什么 MongoDB 索引选择B-树,而 Mysql 选择B+树(精干总结)
  16. Hdu 3929 Big Coefficients (容斥原理 二项式性质)
  17. 云南大学研究生院c语言真题,云南大学地图学与地理信息系统研究生考试科目和考研参考书目...
  18. Python print 玩转点阵字
  19. pga是啥oracle,[讨论话题]我的PGA我作主----搞清楚什么是真正的PGA
  20. dash.js (v4.1.0) 的请求放弃请求逻辑

热门文章

  1. 取消打开命令行进入默认anaconda的环境
  2. 第五周周记(国庆第七天)
  3. view(*args)改变张量的大小和形状_pytorch reshape numpy
  4. pytorch adam 源码 关于优化函数的调整 optimizer 调参 重点
  5. 图融合GCN(Graph Convolutional Networks)
  6. AI框架外部用户贡献代码
  7. 芯片内亿万的晶体管制程工艺
  8. 2021年大数据Spark(三十三):SparkSQL分布式SQL引擎
  9. MongoDB之conf配置文件详解
  10. 零起点学算法17——比较2个数大小