• logistic 回归

    • logistic 回归的Ein E_in
  • 极大似然法
  • 梯度下降法
  • 所以logistic回归算法实现为

logistic回归是分类问题。前面我们讲的分类问题的输出都是 “yes”或者“no”。但是在现实生活中,我们并不是总是希望结果那么肯定,而是概率(发生的可能性)。比如,我们希望知道这个房子在第三个星期被卖出去的概率。那么以前的分类算法就无法使用了,这时logistic 回归就派上了用场。
也就是说,logistic 回归输出的是一个概率值,而不是绝对的0/1。即目标函数变为

我们用logistic 回归做分类,结果输出的是+1的概率。但是我们的样本的y确是+1或者-1。打个比方,我们预测房子3个月后被卖出去的概率。
但是对于我们搜集房子的样本,只知道样本3个月后是否成功被卖,并不知道该样本被卖的概率。
也就是,我们的样本的数据,不是这样

而是这样

logistic 回归

对于样本x的
这d个特征(还有一个偏移x0x_0。核心还是对这些特征进行加权求和

这个s的取值范围是( 负无穷 到 正无穷 )。只是logisitc 回归用了一个函数将他压缩到 [0,1]之间。由于这个压缩函数是 单调递增的,所以结果并不影响。
这个函数就是

他是光滑且单调的。
那么logistic 函数为

logistic 回归的Ein E_{in}

我们总共讲了3种模型。线性分类,线性回归,logistic 回归。其实他们三者的核心都是
也就是都是 对特征的加权再求和。
但是他们的h(x)和EinE_{in}是不同的。
对于h(x)的形式,三着分别为

对于EinE_{in}形式
linear classfication 的EinE_{in}是∑I[y≠f(x)]\sum I\left [ y\neq f(x) \right ]
linear regression 的EinE_{in}是∑(y−f(x))2\sum \left ( y-f(x) \right )^{2}
而logistic回归又是什么呢??现在我们来求一求

极大似然法

我们可得到

我们现在有一堆样本

那么他有f产生的概率为

我们有一个h ,h产生这堆样本的概率为

极大自然法,如果h产生一模一样的资料的概率 同 f产生这堆资料的概率越相近,那么就可以说 上面h与f更加接近。
由于我们的样本(资料)本就是f产生的,所以f产生这堆资料的概率很大,接近1。因此,我们希望h可以产生一模一样的资料的概率接近1。

所以我们现在的目标是,

对于logistic回归,通过画图,我们可以得到关于他的对称性

所以likelihood

现在,可以改写出

灰色的表示:由于我们相当于是再所有的h中找一个likelihood()最大的那个h,而对于所有的h,其P(X1),P(X2)...P(X_1),P(X_2)...都是一样的,所以不用去考虑,所以将其表为灰色。

即问题转化为

将其转化为求w的形式

由于是乘积的形式,将其转化为log形式

为了计算方便,将max转化为min,并乘以1N\frac{1}{N}(乘以1N\frac{1}{N}并不影响结果,因为所有的h都乘了),再做进一步处理,即变为

那么我们的最终目标为

根据上面的式子,由于EinE_{in}是光滑且凸的,所以我们只要通过令其梯度为0,得到的参数w1,w2,...w_1,w_2,...就可以使EinE_{in}最小。

梯度下降法

EinE_{in}的梯度为0,就是令EinE_{in}对每个wiw_i的偏导为0。

最后一步就是把所有的偏导汇总成一个式子。所以橘色的xnx_n是一个矢量。
最终变为

如果Θ(−ynwTxn)\Theta (-y_nw^Tx_n)为0,那么-y_nw^Tx_n为无穷大,不成立。所以只能上面权重求和为0。

我们回顾一下PLA算法

其实上面两步可以归为1步

所以PLA算法可以简化为

发现,上面两图有两个参数,η\eta 和v .其中η\eta 表示 步长,而v表示 方向(修正是 改变的方向)
PLA通过不断的迭代更新w的值,使得最终的值达到最优。这种算法迭代优化方法。
logistic求解最小的Ein(w)E_{in}(w),也是用的是类似的PLA提到的迭代优化算法。一步一步权值向量w,使得Ein(w)E_{in}(w)最小 变权值向量w,迭代优化方法的更新公式是

其中η\eta 表示 步长,而v表示 方向(修正是 改变的方向,我们令他为单位向量,仅仅表示方向,用η\eta 表示 步长)

那么我们现在就通过求解正确的 步长 η\eta 和方向v,使得Ein(w)E_{in}(w)最优。
我们知道:

,以上为非线性的。当η\eta 很小时,我们运用泰勒展开式将其化为 线性形式。
根据泰勒公式:

当η\eta 很小时,可以将泰勒公式简化成前两个的和。且我令x=wt+ηvx=w_t + \eta v , a=wta=w_t 就可以得到

那么问题就变为

我们想得到wt+1w_{t+1},那么wtw_t是已知的,又η\eta是我们给定的。那么上面灰色的表示对最小值无影响。所以只需将上面黑色部分求最小即可。由于是向量相乘,且v我们认定他是单位向量,长度为1,那么我们只能改变中v的方向,就可以达到最小化 。当v的方向与梯度相反时,值最小。又v为单位向量,所以可得

这样我们就求出了v的值。

即最终得到梯度下降为

步长η\eta太小,导致算法太慢;太大,就很任意出错。

我们希望η\eta可以在算法运行时不断的改变。梯度越陡峭,说明离极值点越远,那么希望步长越大;梯度越平缓,说明离极值点越近,那么希望步长越小

那么其实希望η\eta与梯度成单调递增性即可。
为了方便,这里用正比,当然也可以用其他的。

最终结果为

所以logistic回归算法实现为

logisitic 回归 +极大似然法 + 梯度下降法 (迭代优化)相关推荐

  1. TensorFlow基础11-(小批量梯度下降法和梯度下降法的优化)

    记录TensorFlow听课笔记 文章目录 记录TensorFlow听课笔记 一,梯度下降法:求解函数极值问题 二,梯度下降法的优化 多层神经网络--非线性分类问题 损失函数不是凸函数,很难计算解析解 ...

  2. 2.9 Logistic 回归的梯度下降法-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.8 计算图的导数计算 回到目录 2.10 m 个样本的梯度下降 Logistic 回归的梯度下降法 (Logistic Regression Gradient Desce ...

  3. ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值

    ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值 目录 输出结果 代码设计 输出结果 更新-- 代码设计 import numpy as np imp ...

  4. 回归与梯度下降法及实现原理

    回归与梯度下降 回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally we ...

  5. Logistic回归与梯度下降法

    Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素之间关系的一种 多变量分析方法.通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是 ...

  6. 逻辑回归与梯度下降法

    转载自:http://www.cnblogs.com/yysblog/p/3268508.html 一.逻辑回归 1) Classification(分类) 分类问题举例: 邮件:垃圾邮件/非垃圾邮件 ...

  7. 机器学习、深度学习中常用的优化算法详解——梯度下降法、牛顿法、共轭梯度法

    一.梯度下降法 1.总述: 在机器学习中,基于基本的梯度下降法发展了三种梯度下降方法,分别为随机梯度下降法,批量梯度下降法以及小批量梯度下降法. (1)批量梯度下降法(Batch Gradient D ...

  8. 机器学习案例系列教程——优化方法总结(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等)

    梯度下降法 梯度下降法是最早最简单,也是最为常用的最优化方法.梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解.一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的.梯度 ...

  9. 优化算法之梯度下降法、牛顿法、拟牛顿法和拉格朗日乘数法

      在机器学习中,优化方法是其中一个非常重要的话题,最常见的情形就是利用目标函数的导数通过多次迭代来求解最优化问题. - 无约束最优化问题:梯度下降法.牛顿法.拟牛顿法: - 有约束最优化问题:拉格朗 ...

  10. 常用的优化算法:梯度下降法,牛顿法,拟牛顿法,共轭梯度法

    目录 0.几个数学概念 1. 梯度下降法(Gradient Descent) 2. 牛顿法和拟牛顿法(Newton's method & Quasi-Newton Methods) 3. 共轭 ...

最新文章

  1. 关于 CPU 的一些基本知识总结
  2. 我发现一条惊人规律,年后跳槽BATJ,都是这种人....
  3. C#中抽象类和接口的区别与使用
  4. norminv函数是什么matlab,norminv函数的用法,表示的是什么意思
  5. Angular的scope. apply和CRM WebClient UI的modify方法
  6. Webpack4 学习笔记六 多页面配置和devtool
  7. 3dsll 新大三 误删fbi不能安装游戏解决之路
  8. 如何打开docx格式的文件?
  9. 2019届校招实习生惨痛经历
  10. CSplitterWnd窗口分割之——动态静态嵌套分割(二)
  11. 小新air15为啥没人买_联想小新潮7000和小新air15对比 哪个更值得买
  12. 水平集(Level Set)的基本方法
  13. python-pygame:实现飞机大战详情(含源码)
  14. Android开发之在APP中打开ppt
  15. 华为p20pro怎么升级鸿蒙,华为鸿蒙 HarmonyOS 2.0 正式发布,看看如何升级?
  16. Windows 的服务概述和网络端口要求
  17. 大学的意义——施一公在生命科学学院2015年毕业典礼上的讲话
  18. ##**iOS蓝牙开发(一)蓝牙相关基础知识**
  19. 干货收藏|百万UP主都在用的创作小帮手
  20. 怎样恢复删除的视频?这5个方法才是正确答案!

热门文章

  1. Mac OS使用FFmpeg进行视频H264,H265编码
  2. 微信服务号、订阅号和企业号的区别(运营和开发两个角度)
  3. 火狐浏览器 android版,火狐浏览器手机版
  4. div水平垂直居中的四种方式
  5. 三菱q系列plc连接电脑步骤_SERVER和三菱Q系列PLC通讯设置步骤
  6. 公司年会抽奖的一个java实现
  7. 数据地图在商业数据分析中的5种应用
  8. 大电流dcdc降压芯片20a_电源篇 - 降压电路(DCDC,非隔离
  9. flash视频的param属性解释
  10. Lodop,前端自定义打印