一、逻辑回归和sigmodsigmodsigmod函数的由来

1.广义线性模型(GLM)(GLM)(GLM)

  由于线性回归往往用来预测连续值,但是受限于其连续性的特征,对于分类问题往往效果不好。且线性模型的值域为(−∞,∞)(-∞,∞)(−∞,∞),对于某些现实问题可能出现无意义的情况。比如某店铺用线性回归模型做预测:温度每上升101010摄氏度,购买毛衣的人数会下降100100100人。现在的温度为555摄氏度,购买毛衣的人数为808080人。按此模型预测,当温度为151515度时,购买毛衣的人数为−20-20−20人。显然人数不可能为负数,该模型的预测结果有违常识。但是线性回归有“模型简单且效果还可以”的特点,为了保留该特点,又想让它能够进行分类。因此,考虑对线性回归的预测值做一次处理,这个处理函数称为连接函数。通过引进处理函数解决线性回归在分类问题中效果不好和值域在现实情况中无意义的问题。从而推导出了广义线性模型的概念。

  给定xxx和参数θ\thetaθ后,广义线性模型需要满足以下三个假设:① p(y∣x;θ)p(y|x;\theta)p(y∣x;θ)服从指数分布族,即认为因变量属于指数分布(可以理解为一种限制);② 给定xxx,我们的目标是预测xxx的期望值,即g(y)=E(y∣x)g(y)=E(y|x)g(y)=E(y∣x);③ y=θTxy = \theta^Txy=θTx,即yyy与xxx是线性关系。

2.指数分布族

  广义线性模型中yyy服从指数分布族,而指数分布族需满足下面公式:

p(y;η)=b(y)eηT(y)−a(η)2.1p(y;\eta) = b(y)e^{\eta T(y)-a(\eta)}~~~~2.1 p(y;η)=b(y)eηT(y)−a(η)    2.1

其中,η\etaη 为自然数,T(y)T(y)T(y) 是充分统计量,a(η)a(\eta)a(η)为正则化项。伯努利分布、正态分布、二项分布、泊松分布等都属于指数分布族之一,当yyy服从不同的分布时,会推导出不同的连接函数。故广义线性模型的具体形式g(y)g(y)g(y)也会不同,我们会根据下面的公式来推导:E(T(Y))=g(y)E(T(Y))=g(y)E(T(Y))=g(y)。

3.伯努利分布

  现在有一个二分类问题,要判断一个来借款的人是否会逾期。如果会逾期给这个人的标记为1,不会逾期给这个人标记为0。由于线性回归模型对于分类问题往往效果不好,所以我们想构建一个广义线性模型来对该问题进行求解,而广义线性模型的因变量要服从指数分布,现在要挑选一个服从指数分布的分布函数。这时我们很自然就会想到我们常见的0−10-10−1分布,伯努利分布。它的分布形式如下:

它的概率分布可以定义为:p(y∣ϕ)=ϕy∗(1−ϕ)1−yp(y|\phi) = \phi^y * (1-\phi)^{1-y} ~~~~p(y∣ϕ)=ϕy∗(1−ϕ)1−y    其中y=1y=1y=1或y=0,E(y)=ϕy=0,E(y)=\phiy=0,E(y)=ϕ。

  前文已经指出伯努利分布是指数分布族之一,下面通过公式变形来验证这一点,由伯努利的数学定义可以做如下推导:

p(y∣ϕ)=eln(ϕy∗(1−ϕ)1−y)=ey∗lnϕ+(1−y)∗ln(1−ϕ)=ey∗ln(ϕ1−ϕ)+ln(1−ϕ)3.1p(y|\phi) = e^{~ln~(~\phi^y * (1-\phi)^{1-y}~~~)} = e^{y*ln\phi+(1-y)*ln(1-\phi)} = e^{y*ln\left(\frac{\phi} {1-\phi~}\right)+ln(1-\phi)}~~~~3.1p(y∣ϕ)=e ln ( ϕy∗(1−ϕ)1−y   )=ey∗lnϕ+(1−y)∗ln(1−ϕ)=ey∗ln(1−ϕ ϕ​)+ln(1−ϕ)    3.1

对比公式2.12.12.1,可以得出伯努利分布是满足参数如下的指数分布:
b(y)=1,T(y)=y,η=ln(ϕ1−ϕ),a(η)=−ln(1−ϕ)3.2b(y)=1,T(y)=y,\eta = ln\left(\frac{\phi} {1-\phi~}\right),a(\eta) = -ln(1-\phi) ~~~~3.2 b(y)=1,T(y)=y,η=ln(1−ϕ ϕ​),a(η)=−ln(1−ϕ)    3.2
现在来推导广义线性函数,由于:
E(T(Y))=E(y)=ϕ3.3E(T(Y)) = E(y) = \phi ~~~~3.3 E(T(Y))=E(y)=ϕ    3.3

ϕ=eη1+eη=11+e−η3.4\phi = \frac{e^\eta} {1+e^\eta} = \frac{1} {1+e^{-\eta}} ~~~~3.4 ϕ=1+eηeη​=1+e−η1​    3.4
且E(T(Y))=g(y)E(T(Y))=g(y)E(T(Y))=g(y),从而可以推导出广义线性函数(逻辑回归函数)的表达式:
g(y)=11+e−y3.5g(y) = \frac{1} {1+e^{-y}} ~~~~3.5 g(y)=1+e−y1​    3.5
从上面的推导可以看出逻辑回归的因变量g(y)就是伯努利分布中样本为1的概率。所以把线性回归中参数求出来,代入逻辑回归函数的表达式中,可以预测样本为1的概率。

  至此,可以得出结论,当因变量服从伯努利分布时,广义线性模型就为逻辑回归。所以不是因为逻辑函数有很多很好的性质而选择了逻辑函数,而是假设因变量服从伯努利分布推导出了逻辑函数。恰好这个函数满足连续、任意阶可导等很多优良性质。从而让逻辑回归成为广泛应用的一个基础模型。

4.逻辑回归优缺点

4.1 逻辑回归优点

  ①容易使用和解释。由于逻辑回归不像神经网络那样有一个黑匣子。它通过样本训练出对应特征的参数(系数)。如果参数间不存在多重共线性,一般参数绝对值越大,说明该特征对因变量的影响越大(不过用原始数据建模时由于数据没有归一化处理,可能会由于数据本身的差异导致这个结果有偏,可以把原始数据转成woewoewoe消除量纲后再进行评估),该结果可以直观地展示给建模人员和业务使用人员。

  ②对数据中小噪声鲁棒性好。不会受到轻微多重共线性的影响,保证了模型的准确性。

  ③使用灵活。因为逻辑回归的结果(概率probprobprob)是000到111之间的连续值,在信贷中可以根据资金松紧程度和公司策略对阈值进行灵活调整,从而划定放贷人群、拒绝人群和转人工人群。

  ④上线方便。相比其它机器学习模型,逻辑回归可以轻松转成hivesqlhive sqlhivesql脚本,进行线上运用。同时在Java、sparkJava、sparkJava、spark等软件中也有可直接调用的模块。

  ⑤计算代价不高,容易实现。LRLRLR在时间和内存需求上相当高效。它可以应用于分布式数据,并且还有在线算法实现(PythonPythonPython、RRR等很多软件中都有已封装好可以直接调用的函数),用较少的资源处理大型数据。

4.2逻辑回归缺点

  ①相比其它复杂模型,逻辑回归模型容易欠拟合,分类的精度不高。

  ②数据特征有缺失或特征空间很大时效果不会很好。

5.说明:

5.1.逻辑回归看名字像一个回归问题,实际是一个分类问题。

  一般是二分类。比如模型的概率小于0.50.50.5认为该客户能正常还款,模型概率大于0.5认为该客户有可能逾期。也可以用OvR(one−vs−rest)OvR(one-vs-rest)OvR(one−vs−rest)和MvM(Many−vs−Many)MvM(Many-vs-Many)MvM(Many−vs−Many)等方法把二分类推广到多分类。而不把逻辑回归叫成逻辑分类,个人看法有可能和逻辑回归输出的值是000到111之间的连续值,而不是单纯的几个类别有关。

5.2.sigmodsigmodsigmod函数有哪些优良的性质

  这个函数简单、平滑、任意阶可导、梯度式子容易计算,可以把(−∞,∞)(−∞,∞)(−∞,∞)映射到(0,1)(0,1)(0,1),从而可以和现实中的概率结合起来。

参考文献:

1.https://cloud.tencent.com/developer/article/1694353

2.https://cloud.tencent.com/developer/article/1694338

逻辑回归_sigmod函数相关推荐

  1. 逻辑回归 — Sigmoid函数 —预测是否出现过交通事故

    目录 1. 数据的种类 2. Sigmoid函数 3. 案列 :预测是否会发送交通事故 4. 总结 逻辑回归模型是离散数据(二次分布) 1. 数据的种类 连续性数据:给定一个区间,可以取区间内任意一实 ...

  2. 从【为什么要用sigmoid函数】到真的懂【逻辑回归】

    1.逻辑回归是广义线性回归(GLM)的一种特殊形式 2.GLM有三个要素构成:响应变量服从指数族分布,系统分量是预测变量x的线性模型,通过连接函数联系前两者 2.逻辑回归建立在0-1分布上,而0-1分 ...

  3. 逻辑回归(Logistic Regression)简介及C++实现

    逻辑回归(Logistic Regression):该模型用于分类而非回归,可以使用logistic sigmoid函数( 可参考:http://blog.csdn.net/fengbingchun/ ...

  4. 机器学习笔记(二)逻辑回归和正则化

    第三章,逻辑回归(分类)and正则化 上半部分:逻辑回归 假设函数: (可以通过增加多项式来拟合曲线) 要求: 重新定义函数为: g(z)图像: 新的代价函数: 图像: 合并:  (和线性回归类似,h ...

  5. 【数据挖掘】神经网络 后向传播算法 ( 线性回归与逻辑回归 | 单个神经元本质及逻辑 | 神经网络每一层分析 | 神经网络矩阵形式 | 线性变换与非线性变换 )

    文章目录 I . 线性回归 与 逻辑回归 II . sigmod 非线性激活函数 III . 神经元单元 逻辑 IV . 单个 神经元单元 总结 V . 神经网络 每一层分析 VI . 神经网络 矩阵 ...

  6. [Python从零到壹] 十二.机器学习之回归分析万字总结全网首发(线性回归、多项式回归、逻辑回归)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  7. EduCoder 机器学习 逻辑回归

    逻辑回归是属于机器学习里面的监督学习,它是以回归的思想来解决分类问题的一种非常经典的二分类分类器.由于其训练后的参数有较强的可解释性,在诸多领域中,逻辑回归通常用作 baseline 模型,以方便后期 ...

  8. scikit-learn学习笔记(五)Logistic regression(逻辑回归)

    逻辑函数(logistic function) 为了更好地解释逻辑回归,让我们首先了解一下逻辑函数.逻辑函数由于它的S形,有时也被称为sigmoid函数. 现在我要引入比值比(odds ratio)的 ...

  9. 【机器学习】逻辑回归小结

    之前对于LR的介绍已经不少了,有从LR的极大似然概率模型开始推导的,从极大似然开始推导可以得到我们常用的损失函数形式,接下来就可以利用梯度下降方法.也从最大熵模型推导了满足二项分布的LR模型Hypot ...

最新文章

  1. jstack 使用(转)
  2. 开篇第一题:经典中的经典!
  3. [翻译] NMock 简介
  4. ITK:使用曲率流平滑图像
  5. CMake基础 第5节 安装项目
  6. eclipse安装、使用hibernate插件方法
  7. autowired_@Autowired所有的东西!
  8. Java并发编程实战————对象的组合
  9. 海洋大数据关键技术及在灾害天气下船舶行为预测上的应用
  10. 信号生成及DFT的python实现
  11. 设置和使用地图的范围—ArcGIS API for JavaScript
  12. python读取lmdb文件_LMDB文件读取器
  13. vvic/搜款网API接口(item_search-根据关键词取商品列表 )
  14. Maven Helper 插件介绍
  15. Crashing Balloon
  16. 系统安装-U盘安装Windows XP SP3纯净版简述
  17. linux哪个版本支持tipc,TIPC协议和实现解析
  18. JS 日期的获取和计算 ios不兼容问题
  19. 【翻译】关于对IDEA-Project的官方帮助文档翻译
  20. 不确定性推理:可信度计算

热门文章

  1. vue中换一换 每次换5个
  2. 十、uni-app小程序时间戳
  3. vue+element表格的左右布局及动态添加行
  4. python位运算(、|、^、~、>>、<<)
  5. 实训—用例图的建模与用例描述的写作
  6. 泛化能力 归一化处理
  7. 网页美学设计原则(下)
  8. Java8 Stream 流API总结
  9. 《赢在中国》对80后做人做事忠告
  10. linux安装tldr