机器学习笔记(十一)——逻辑回归
一、引言
虽然说是逻辑回归,其实既可以用它做回归,也可以用它做分类。一般我们从最简单的二分类问题开始了解他,当然也可以做多分类。
二、Logistic Regression 的一般步骤
- 找一个合适的假设
- 构造损失函数
- 让损失函数最小,求出对应的参数值
三、二分类问题下Logistic Regression的过程
3.1 Logistic Function
在机器学习笔记(十)——Logistic Function AND Softmax Function中我们已经讨论过了Logistic 函数,因此,建议不熟悉的读者参考上述文章。
3.2 找一个合适的假设
假设样本是各个贷款人的信息,标签是他是否违约。目标是建立一个模型,用来预测一个贷款人违约的可能性,而银行根据这个信息决定是否放款给当前的贷款人。那么,很明显,这是一个分类问题,根据贷款人的一些信息和已知的标签,我们建立模型,去预测新来的贷款人违约的可能性。这里将贷款人的各个信息,如学历、年收入、信用卡违约次数等作为x\boldsymbol{x},将他是否违约记为yy,其中y=1y=1表示违约,y=0y=0表示不违约。那么,一个贷款人违约的可能性为:
h_{\boldsymbol{\theta}}(\boldsymbol{x})=g(\boldsymbol{\theta}^T\boldsymbol{x}) = \frac{1}{1+e^{-\boldsymbol{\theta}^T\boldsymbol{x}}}
其中, θ\boldsymbol{\theta}是参数向量。通过上式,可以将借款人的各个信息映射到(0,1)之间,表示他是否违约的可能性。
P(y=1|\boldsymbol{x}; \boldsymbol{\theta}) = h_{\boldsymbol{\theta}}(\boldsymbol{x})\\ P(y=0|\boldsymbol{x}; \boldsymbol{\theta}) = 1 - h_{\boldsymbol{\theta}}(\boldsymbol{x})
将上式表示成一个式子:
P(y|\boldsymbol{x}; \theta) = h_{\theta}(\boldsymbol{x})^y(1-h_{\theta}(\boldsymbol{x}))^{1-y}
至此,得到了一个给定贷款人信息时,他违约概率的表达式。
3.3 构造损失函数
在整个样本集中,mm个独立样本出现的似然函数是:
L(\boldsymbol{\theta}) = \prod_{i=1}^{m}P(y_i|\boldsymbol{x_i}; \boldsymbol{\theta})
利用最大似然求θ\theta,取对数最大似然:
l(\boldsymbol{\theta}) = \log L(\boldsymbol{\theta}) = \sum_{i=1}^{m}\log P(y_i|\boldsymbol{x_i}; \boldsymbol{\theta})
定义下式为损失函数:
J(\boldsymbol{\theta}) = -\frac{1}{m}l(\boldsymbol{\theta}) = -\frac{1}{m}\sum_{i=1}^{m}\log [h_{\boldsymbol{\theta}}(\boldsymbol{x_i})^{y_i}(1-h_{\boldsymbol{\theta}}(\boldsymbol{x_i}))^{1-y_i}] \\ =-\frac{1}{m}\sum_{i=1}^{m}\{y_i \log h_{\boldsymbol{\theta}}(\boldsymbol{x_i})+(1-y_i)\log [1-h_{\boldsymbol{\theta}}(\boldsymbol{x_i})]\}
最大化 l(θ)l(\theta) 相当于最小化 J(θ)J(\theta).
3.4 让损失函数最小,求出对应的参数值
优化的目标函数如下:
\min J(\boldsymbol{\theta})
由于上式中的 θ\boldsymbol{\theta}是一个参数向量,因此,没办法用函数导数等于0直接求出,它是没有解析解的,因此,我们可以采用梯度下降的方法求得极小值。梯度下降方法请参照 最优化学习笔记(三)——梯度下降法。
\frac{\partial J(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = -\frac{1}{m}\sum_{i=1}^{m}\{\frac{\partial T(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}}\} (1)
其中:
T(\boldsymbol{\theta}) = y \log h_{\boldsymbol{\theta}}(\boldsymbol{x})+(1-y)\log [1-h_{\boldsymbol{\theta}}(\boldsymbol{x})]
\frac{\partial T(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = y\frac{1}{h_{\boldsymbol{\theta}}(\boldsymbol{x})}\frac{\partial h_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}}+(1-y)\frac{1}{1-h_{\boldsymbol{\theta}}(\boldsymbol{x})}(-\frac{\partial h_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}})\\ =\frac{\partial h_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}}(\frac{y}{h_{\boldsymbol{\theta}}(\boldsymbol{x})}+\frac{(y-1)}{1-h_{\boldsymbol{\theta}}(\boldsymbol{x})})\\ =\frac{\partial h_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}}(\frac{y-{h_{\boldsymbol{\theta}}(\boldsymbol{x})}}{{h_{\boldsymbol{\theta}}(\boldsymbol{x})}(1-{h_{\boldsymbol{\theta}}(\boldsymbol{x})})})
因为:
\frac{\partial h_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}} = {h_{\boldsymbol{\theta}}(\boldsymbol{x})}(1-{h_{\boldsymbol{\theta}}(\boldsymbol{x})})\boldsymbol{x}
则:
T(\boldsymbol{\theta}) = (y-{h_{\boldsymbol{\theta}}(\boldsymbol{x})})\boldsymbol{x}
由于取的是样本集中的第 ii 个样本,所以将上式代入(1)
\frac{\partial J(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = -\frac{1}{m}\sum_{i=1}^{m} (y_i-{h_{\boldsymbol{\theta}}(\boldsymbol{x_i})})\boldsymbol{x_i}\\ =\frac{1}{m}\sum_{i=1}^{m} ({h_{\boldsymbol{\theta}}(\boldsymbol{x_i})}-y_i)\boldsymbol{x_i}
这样,就可以得到 θ\boldsymbol{\theta}的迭代公式:
\boldsymbol{\theta} = \boldsymbol{\theta} + \alpha\frac{\partial J(\boldsymbol{\theta})}{\partial \boldsymbol{\theta}} \\ =\boldsymbol{\theta} + \alpha\frac{1}{m}\sum_{i=1}^{m} ({h_{\boldsymbol{\theta}}(\boldsymbol{x_i})}-y_i)\boldsymbol{x_i}(2)
需要说明的是,我们可以从2式中看出,每次计算一次 θ\boldsymbol{\theta} ,都要进行全部样本数据的计算,直到 θ\boldsymbol{\theta} 收敛,还有一种可以采用随机梯度法进行计算,这样只需要遍历一遍数据集即可,下次讨论。
机器学习笔记(十一)——逻辑回归相关推荐
- 机器学习笔记-基于逻辑回归的分类预测
天池学习笔记:AI训练营机器学习-阿里云天池 基于逻辑回归的分类预测 1 逻辑回归的介绍和应用 1.1 逻辑回归的介绍 逻辑回归(Logistic regression,简称LR)虽然其中带有&quo ...
- 机器学习笔记(5)——逻辑回归
上一篇:机器学习笔记(4)--多变量线性回归 逻辑回归实际是一种有监督学习中的分类算法,称为回归是历史原因 前言 前面我们已经学习了线性回归,线性回归适用于预测一个连续值,就是说预测值可能的范围存在连 ...
- python逻辑回归训练预测_[Python] 机器学习笔记 基于逻辑回归的分类预测
导学问题 什么是逻辑回归(一),逻辑回归的推导(二 3),损失函数的推导(二 4) 逻辑回归与SVM的异同 逻辑回归和SVM都用来做分类,都是基于回归的概念 SVM的处理方法是只考虑 support ...
- 吴恩达《机器学习》学习笔记八——逻辑回归(多分类)代码
吴恩达<机器学习>笔记八--逻辑回归(多分类)代码 导入模块及加载数据 sigmoid函数与假设函数 代价函数 梯度下降 一对多分类 预测验证 课程链接:https://www.bilib ...
- 吴恩达《机器学习》学习笔记七——逻辑回归(二分类)代码
吴恩达<机器学习>学习笔记七--逻辑回归(二分类)代码 一.无正则项的逻辑回归 1.问题描述 2.导入模块 3.准备数据 4.假设函数 5.代价函数 6.梯度下降 7.拟合参数 8.用训练 ...
- 吴恩达《机器学习》学习笔记五——逻辑回归
吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...
- 吴恩达机器学习课后习题——逻辑回归
机器学习课后作业-逻辑回归 逻辑回归 逻辑回归算法,是一种给分类算法,这个算法的实质是:它输出值永远在0到 1 之间. 将要构建一个逻辑回归模型来预测,某个学生是否被大学录取.设想你是大学相关部分的管 ...
- 机器学习算法 03 —— 逻辑回归算法(精确率和召回率、ROC曲线和AUC指标、过采样和欠采样)
文章目录 系列文章 逻辑回归 1 逻辑回归介绍 1.1 逻辑回归原理 输入 激活函数 1.2 损失以及优化 2 逻辑回归API介绍 3 案例:肿瘤良性恶性预测 4 分类模型的评估 4.1 分类评估方法 ...
- 机器学习:基于逻辑回归对航空公司乘客满意度的因素分析
机器学习:基于逻辑回归对航空公司乘客满意度的因素分析 作者:i阿极 作者简介:数据分析领域优质创作者.多项比赛获奖者:博主个人首页
- 机器学习中二分类逻辑回归的学习笔记
1 致谢 感谢 Andrew Ng的教导! 2 前言 逻辑回归是机器学习中很重要而且很基础的算法,它也代表了分类算法最基本的思想. 3 二分类逻辑回归逻辑回归算法 3.1 假设函数 假设函数的形式为: ...
最新文章
- DELL服务器结合nagios硬件监控、报警
- 好程序员web前端CSS选择符(选择器):表示要定义样式的对象
- 集合框架源码分析四(Collections类详细分析)
- 2.12 总结-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- h5移动端如何让页面强制横屏
- 关于ArcMap中的地图文档单位
- PAT_B_1015_C++(25分)
- java ean13 条形码_【教程】Spire.Barcode 教程:如何在C#中创建EAN-13条码
- python+PyQT+Eric安装配置
- [转载]--- 开箱即用的springboot分库分表sharding-JDBC
- 阿里云推PostgreSQL 10 高可用版
- html——原生js与jquery创建元素节点区别
- File类之常用方法
- 进程、线程、协程基本概念理解
- Java中构造方法被别封装后的调用
- MATLAB符号函数的求导
- 多媒体计算机主机系统,多媒体计算机系统的组成
- 【华为2019年校园招聘】2019-5-8 软件题
- 对QQGame-大家来找茬的辅助工具的改进
- 这几款图片格式转换器帮助你轻松解决图片转换难题