参考:
百面机器学习
西瓜书

02 逻辑回归Logistic Regression(对数几率回归)

2.1 逻辑回归和线性回归

  • 二者都使用极大似然法来对训练样本进行建模。

  • 在求解超参数的过程中,都可以使用梯度下降的方法。

  • 逻辑回归处理的是分类问题,线性回归处理的是回归问题,这是两者的最本质的区别。

    • 逻辑回归
      给定自变量和超参数后,得到因变量的期望E[y∣x;θ]E[y|x;\theta]E[y∣x;θ],并基于此期望来处理预测分类问题;
    • 线性回归
    • 求解y=θTx+by=\theta^T x +by=θTx+b是真实线性关系的近似,用近似关系来处理回归问题。
    • 特别地,广义线性模型(Generalized Linear Models)中,输入空间到输出空间是非线性函数映射可以表示为g(y)=θTx+b⇒y=g−1(θTx+b)=f(θTx+b)g(y)=\theta^T x +b\Rightarrow y=g^{-1}(\theta^T x +b)=f(\theta^T x +b)g(y)=θTx+b⇒y=g−1(θTx+b)=f(θTx+b),故这里函数ggg要求是单调可微的。
  • 逻辑回归可以看成广义线性模型,因为只需找一个单调可微函数ggg,将分类任务的真实标记yyy与线性回归模型的预测值联系起来,就可以将回归转换成分类。

2.2 二分类逻辑回归

从线性回归到逻辑回归,可以理解成要找一个映射fff,将连续区间的值映射到有限值的区间,特定的值对应特定的类别。

  • 单位阶跃函数是很好的选择,大于0的预测为一类,小于0的为另一类,等于0随意分。但是它不连续,因此构建模型后无法用作f=g−1(⋅)f=g^{-1}(\cdot)f=g−1(⋅)。
  • 因此用接近单位阶跃函数的可微函数——对数几率函数(logistic function,是sigmoid函数,即S型函数的一种)来代替
    f(z)=11+e−zf(z)=\frac{1}{1+e^{-z}} f(z)=1+e−z1​
    可对逻辑回归进行化简
    y=f(θTx+b)=11+e−(θTx+b))1−yy=e−(θTx+b))ln⁡y1−y=θTx+by=f(\theta^T x +b)=\frac{1}{1+e^{-(\theta^T x +b))}}\\ \frac{1-y}{y}=e^{-(\theta^T x +b))}\\ \ln\frac{y}{1-y}=\theta^T x +b y=f(θTx+b)=1+e−(θTx+b))1​y1−y​=e−(θTx+b))ln1−yy​=θTx+b
    若将y视为样本作为正例的可能性P[y=1∣x;θ,b]P[y=1|x;\theta, b]P[y=1∣x;θ,b],或说似然;称y1−y\frac{y}{1-y}1−yy​为几率 (odds) ,对数几率 (log odds ,亦称logit)为
    ln⁡y1−y\ln\frac{y}{1-y} ln1−yy​
  • 可用极大似然法最大化对数似然对参数进行求解
    ℓ(θ,b)=∑i=1mln⁡p(yi∣xi;θ,b)\ell({\theta}, b)=\sum_{i=1}^{m} \ln p\left(y_{i}\mid{x}_{i} ; \theta, b\right)ℓ(θ,b)=i=1∑m​lnp(yi​∣xi​;θ,b)
    其中
    p(y=1∣x)=eθTx+b1+eθTx+bp(y=0∣x)=11+eθTx+b\begin{array}{l} p(y=1 \mid {x})=\frac{e^{{\theta}^{\mathrm{T}} {x}+b}}{1+e^{{\theta}^{\mathrm{T}} {x}+b}} \\ p(y=0 \mid {x})=\frac{1}{1+e^{{\theta}^{\mathrm{T}} {x}+b}} \end{array} p(y=1∣x)=1+eθTx+beθTx+b​p(y=0∣x)=1+eθTx+b1​​

2.3 多项逻辑回归Softmax regression

当使用逻辑回归处理多标签分类问题时:

2.3.1 基本形式

假设每个样本属于kkk个不同类别的概率服从几何分布,则对每一类的分类预测概率可以表示为
hθ(x)=[p(y=1∣x;θ)p(y=2∣x;θ)⋮p(y=k∣x;θ)]=1∑j=1keθj⊤x[ee⊤xeθ2Tx⋮eqjx]h_{\theta}(x)=\left[\begin{array}{c} p(y=1 \mid x ; \theta) \\ p(y=2 \mid x ; \theta) \\ \vdots \\ p(y=k \mid x ; \theta) \end{array}\right]=\frac{1}{\sum_{j=1}^{k} \mathrm{e}^{\theta_{j}^{\top} x}}\left[\begin{array}{c} \mathrm{e}^{\mathrm{e}^{\top} x} \\ \mathrm{e}^{\theta_{2}^{\mathrm{T} x}} \\ \vdots \\ \mathrm{e}^{q_{j} x} \end{array}\right]hθ​(x)=⎣⎢⎢⎢⎡​p(y=1∣x;θ)p(y=2∣x;θ)⋮p(y=k∣x;θ)​⎦⎥⎥⎥⎤​=∑j=1k​eθj⊤​x1​⎣⎢⎢⎢⎡​ee⊤xeθ2Tx​⋮eqj​x​⎦⎥⎥⎥⎤​

2.3.2 多项逻辑回归是二分类逻辑回归在多标签分类下的一种拓展

用多分类的形式写出二分类逻辑回归:
hθ(x)=1eθ1Tx+eθ2Tx[eθ1Txeθ2Tx]h_{\theta}(x)=\frac{1}{\mathrm{e}^{\theta_{1}^{\mathrm{T}} x}+\mathrm{e}^{\theta_{2}^{\mathrm{T}} x}}\left[\begin{array}{l} \mathrm{e}^{\theta_{1}^{\mathrm{T}} x} \\ \mathrm{e}^{\theta_{2}^{\mathrm{T}} x} \end{array}\right]hθ​(x)=eθ1T​x+eθ2T​x1​[eθ1T​xeθ2T​x​]
进行一下变化,消除参数θ\thetaθ们的冗余性
hθ(x)=1e0⋅x+e(θ2T−θ1T)x[e0⋅xe(θ2T−θ1T)x]=[11+eθTx1−11+eθTx]\begin{aligned} h_{\theta}(x)=& \frac{1}{\mathrm{e}^{0 \cdot x}+\mathrm{e}^{\left(\theta_{2}^{\mathrm{T}}-\theta_{1}^{\mathrm{T}}\right) x}}\left[\begin{array}{c} \mathrm{e}^{0 \cdot x} \\ \mathrm{e}^{\left(\theta_{2}^{\mathrm{T}}-\theta_{1}^{\mathrm{T}}\right) x} \end{array}\right] \\ &=\left[\begin{array}{c} \frac{1}{1+\mathrm{e}^{\theta^{\mathrm{T}} x}} \\ 1-\frac{1}{1+\mathrm{e}^{\theta^{\mathrm{T}} x}} \end{array}\right] \end{aligned}hθ​(x)=​e0⋅x+e(θ2T​−θ1T​)x1​[e0⋅xe(θ2T​−θ1T​)x​]=[1+eθTx1​1−1+eθTx1​​]​
这和二分类逻辑回归的式子就一样了。

2.3.3 当存在样本可能属于多个类别的情况时

  • kkk个类别,训练kkk个二分类的逻辑回归分类器
  • 对每个类别,第iii个分类器用以区分样本可不可以归为第i类,即“第i类”与“非第i类”两类

百面机器学习 #3 经典算法:02 逻辑回归相关推荐

  1. python机器学习手写算法系列——逻辑回归

    从机器学习到逻辑回归 今天,我们只关注机器学习到线性回归这条线上的概念.别的以后再说.为了让大家听懂,我这次也不查维基百科了,直接按照自己的理解用大白话说,可能不是很严谨. 机器学习就是机器可以自己学 ...

  2. 机器学习十大经典算法之逻辑回归

    逻辑回归简介 逻辑回归虽然名称有回归两字,但是用来做分类算法的,大家都熟悉线性回归,一般形式是Y=aX+bY=aX+bY=aX+b,y的取值范围是[-∞, +∞].因其简单而受到工业界的关注. Y的取 ...

  3. 百面机器学习之经典算法

    1.逻辑回归相比于线性回归,有何异同?         首先,逻辑回归处理的是分类问题,线性回归处理的是回归问题,这是两者的最本质的区别.逻辑回归中,因变量取值是一个二元分布,模型学习得出的是 ,即给 ...

  4. 百面机器学习 #3 经典算法:01-3 核函数支撑向量机SVM

    文章目录 1.3 非线性SVM与核技巧 1.3.1 核函数 1.3.2 核技巧在支持向量机中的应用 1.3.3 常用核函数 1.4 其他问题 1.4.1 是否存在一组参数使SVM训练误差为0:是 1. ...

  5. 百面机器学习 #3 经典算法:01-2 不完全线性可分(软间隔)支撑向量机SVM

    文章目录 ①从原问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面.决策函数.支撑向量 假设训练数据集不是线性可分的.通常情况是,训练数据中有一些特异点 ...

  6. 百面机器学习 #3 经典算法:01-1 线性可分(硬间隔)支撑向量机SVM

    文章目录 ①从原始问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面和决策函数.支撑向量 参考李航统计学习方法第7章. 支持向量机学习的基本想法是求解能 ...

  7. sklearn分类算法(逻辑回归、朴素贝叶斯、K近邻、支持向量机 、决策树、随机森林 )的使用

    scikit-learn机器学习的分类算法包括逻辑回归.朴素贝叶斯.KNN.支持向量机.决策树和随机森林等.这些模块的调用形式基本一致,训练用fit方法,预测用predict方法.用joblib.du ...

  8. 百面机器学习03-经典算法

    01 支持向量机 支持向量机 (Support Vector Machine, SVM)是众多监督学习万法中十分出色的一种,几乎所有讲述经典机器学习万洼的教材都会介绍 . 关于 SVM,流传着一个关于 ...

  9. 机器学习基础-经典算法总结

    机器学习基础-经典算法 逻辑回归 逻辑回归的原理,问题的假设 为什么逻辑回归也可称为对数几率回归 推导逻辑回归损失函数 逻辑回归损失函数求导 逻辑回归为什么使用交叉熵作为损失函数 LR是不是凸优化问题 ...

最新文章

  1. 熬夜之作:一文带你了解Cat分布式监控
  2. 算法----合并两个有序链表
  3. excel图片变成代码_没错, Python杀死了Excel
  4. mysql 两列计数_MySQL在两列上计算唯一值,并为每列连接这些计数
  5. 2015 SegmentFault 黑客马拉松记录
  6. SpringBoot快速入门——helloworld(来自官网)
  7. php ascii hex编码
  8. java的poi导出Excel文件
  9. 0-1背包问题(C语言)
  10. [LeetCode Online Judge]系列-求二维平面内在一条直线上的最大点数
  11. DataParallel 和 DistributedDataParallel 的区别和使用方法
  12. 终于回应!GitHub 承认解雇犹太员工的错误并道歉,HR 负责人辞职
  13. 马云刘强东隔空互怼,美团外卖大范围故障,苹果系统漏洞百出 | 一周业界事
  14. 趣图:嫁人就嫁程序员,大妈都懂的!
  15. 搭建无iDP证书的Xcode环境
  16. 面试中被问到“为什么从上一个单位离职”怎么回答
  17. 达梦数据库的服务启动
  18. lisp语言画阿基米德线_120种UG表达式曲线画法(阿基米德螺旋线、数学方程式)...
  19. 计算机老师中专教学论文,中专计算机多元化教学论文
  20. 视频会议新格局确立 云计算开启技术叠加时代

热门文章

  1. vue组件化开发实践
  2. 题目1022:游船出租(结构体使用)
  3. canvas绘图数学知识总结
  4. 算法之最长公共子序列(LCS)问题
  5. 第二篇:Dos下运行java程序
  6. 万源之源之drupal7
  7. Map 3D 2011 在线帮助真正在线了 :)
  8. 设计模式的七大设计原则:其七:合成复用原则
  9. jmeter脚本增强
  10. golang mysql连接池原理_[Go] golang实现mysql连接池