机器学习-逻辑回归总结

[机器学习算法]逻辑回归模型、优缺点及spark ml机器学习库实现LR 目录 一、逻辑回归模型-log损失函数 1.1 模型定义 1.2 损失函数 1.3 梯度下降求解参数 二、利用最大似然估计求解逻辑回归模型参数 三、逻辑回归模型优缺点分析 四、spark ml机器学习库实现逻辑回归模型 五、离散特征作为模型输入 一、逻辑回归模型-log损失函数 1.1 模型定义    1.2 损失函数                    ... 阅读详情

分类问题

与线性回归不同,Logistic回归虽然带有"回归"二字,但是并不是回归问题,属于分类问题。简单介绍一下,什么是分类问题。
在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。
监督学习从数据中学习一个分类模型或分类决策函数,称为分类器。分类器对新的输入进行输出的预测,称为分类。可能的输出称为类。分类的类别为两个时,称为二分类问题;分类的类别为多个时,称为多类分类问题。

举个例子,经典的二分类,比如检查邮件是否是垃圾邮件,检查一个零件是否是合格件,判断一个西瓜是否成熟等等。对于类别我们通常称为正类(positive class)和负类(negative class),垃圾邮件的例子中,正类就是正常邮件,负类就是垃圾邮件。

逻辑回归常用于二分类问题,也可以用于多分类问题,后面会有介绍。逻辑回归与线性回归虽然是两个不同的问题,但是两者还是有一些相似之处,我们可以建立在对线性回归理解的基础上,来对比学习逻辑回归。


逻辑回归模型

逻辑回归和线性回归等回归任务还是有一定关系的,这种关系正是通过一种神奇的映射曲线做到的,比如它将做回归分析的模型的因变量的取值映射为概率值,我们都知道概率值的取值范围为0~1,所以通过设定一个0~1的阈值,小于这个阈值的就是A类,其他的都是非A类,这就是二分类。

模型描述

首先,我们先介绍我们上面提到的那个神奇的映射函数,我们称之为Sigmoid函数:

g(z)=11+e−zg\left( z\right) =\dfrac {1}{1+e^{-z}}g(z)=1+e−z1​
可以看出该函数定义域为实数域R,值域为(0,1)。
函数图像如下:
在这里插入图片描述
因为该函数的取值范围为R,所以我们可以把z用任何一个函数式替换,既形成一个复合函数,这就意味着这个函数可以作为任何函数关系的映射函数。并且该函数的值域为(0,1),很好满足概率值为0-1的特性。
我们再对该函数求导,看看该函数的另一个特性:
g′(z)=1(1+e−z)2e−z=11+e−z⋅e−z1+e−z=g(z)(1−g(z))\begin{aligned}g'\left( z\right) =\dfrac {1}{\left( 1+e^{-z}\right) ^{2}}e^{-z}\\ =\dfrac {1}{1+e^{-z}}\cdot \dfrac {e^{-z}}{1+e^{-z}}\\ =g\left( z\right) \left( 1-g\left( z\right) \right) \end{aligned}g′(z)=(1+e−z)21​e−z=1+e−z1​⋅1+e−ze−z​=g(z)(1−g(z))​
此函数应用甚广,神经网络的激励函数,独立成分分析中源信号分布都是使用该函数的。

接下来介绍逻辑回归的假设函数:
hθ(x)=11+e−θTxh_{\theta }\left( x\right) =\dfrac {1}{1+e^{-\theta^{T} x}}hθ​(x)=1+e−θTx1​

我们可以看到,我们用θTx\theta^{T} xθTx代替了映射函数里的z。
θTx\theta^{T} xθTx是不是有一点眼熟呢?没错,我们在线性回归中见到过,线性回归的表达式可以用θTx\theta^{T} xθTx来表示。
需要注意的是,这里的θTx\theta^{T} xθTx既可以是线性的关系,也可以是非线性的关系。
比如:
假设函数可以是:hθ(x)=g(θ0+θx1+θ2x2)h_{\theta }\left( x\right) =g\left( \theta _{0}+\theta x_1+\theta _{2}x_2\right)hθ​(x)=g(θ0​+θx1​+θ2​x2​)
也可以是:hθ(x)=g(θ0+θx12+θ2x23)h_{\theta }\left( x\right) =g\left( \theta _{0}+\theta x_1^{2}+\theta _{2}x_2^{3}\right)hθ​(x)=g(θ0​+θx12​+θ2​x23​)

假设2个类分别为0和1,回归结果hθ(x)表示样本属于类1的概率,因此样本属于类0的概率则为1−hθ(x),则有:
P(y=1∣x,θ)=hθ(x)P( y= 1|x,\theta ) =h_{\theta }\left( x\right)P(y=1∣x,θ)=hθ​(x)
P(y=0∣x,θ)=1−hθ(x)P( y= 0|x,\theta ) =1-h_{\theta }\left( x\right)P(y=0∣x,θ)=1−hθ​(x)
实际上就是一个两点分布,可写为P(y∣x,θ)=hθy(x)(1−hθ(x))1−yP( y|x,\theta ) =h_{\theta }^{y}\left( x\right)(1-h_{\theta }\left( x\right))^{1-y}P(y∣x,θ)=hθy​(x)(1−hθ​(x))1−y

通常在做二分类时,设定一个阈值 gamma,如果小于gamma,设为 0类,否则为 1类。阈值是可以调整的,比如说一个比较保守的人,可能将阈值设为0.9,也就是说有超过90%的把握,才相信这个x属于1这一类。如下图所示:设定阈值为0.3,则小于0.3的都为 0 类,大于0.3的都为 1 类。

在这里插入图片描述

决策界限

线性的决策边界,如下图:
在这里插入图片描述
解释一下图中的情况,我们假设θTx\theta^{T} xθTx=-3+x1+x2。将阈值设为0.5,即当hθ(x)h_{\theta }\left( x\right)hθ​(x)>0.5时,我们认为属于正类,否则,属于负类,由映射函数g(z)可知,当z=0时,g(z)=0.5,所以也就是当θTx\theta^{T} xθTx>0时,即-3+x1+x2>0时,属于正类,y=1。所以,此时的决策界限就是一条直线,如上图所示,该直线下部分属于y=0,上部分为y=1。

非线性的边界函数类似,我们就不在解释了,直接看下图吧:
在这里插入图片描述

代价函数

线性回归中的代价函数用的是平方和的代价函数,但是在逻辑回归的问题中,如果仍然使用平方和代价函数的话,很有可能此时的代价函数是非凸函数,即有很多局部最优点,如果此时用梯度下降法,不能保证会收敛到全局最小值。

所以,逻辑回归的代价函数我们使用交叉熵作为代价函数:J(θ)=−1m[∑i=1m(y(i)log⁡hθ(x(i))+(1−y(i))log⁡(1−hθ(x(i)))]J(\theta) = -\frac{ 1 }{ m }[\sum_{ i=1 }^{ m } ({y^{(i)} \log h_\theta(x^{(i)}) + (1-y^{(i)}) \log (1-h_\theta(x^{(i)})})]J(θ)=−m1​[i=1∑m​(y(i)loghθ​(x(i))+(1−y(i))log(1−hθ​(x(i)))]

m:训练样本的个数;
hθ(x):用参数θ和x预测出来的y值;
y:原训练样本中的y值,也就是标准答案
上角标(i):第i个样本

这个代价函数其实也是由最大似然法推出的,我们在这里就不证明了。

所以,此时我们的目标就成了寻找最优的θ\thetaθ使得J(θ)J(\theta)J(θ)的值最小。
我们仍然使用的是梯度下降算法。

梯度下降

在这里插入图片描述

将∂∂θjJ(θ)\dfrac {\partial }{\partial \theta _{j}}J\left( \theta \right)∂θj​∂​J(θ)代入可得:

在这里插入图片描述
我们会惊讶的发现,逻辑回归得到的梯度下降的式子跟线性回归的式子形式结果是一样的,但是需要注意的是,这里的函数hθ(x(i))h_\theta(x^{(i)})hθ​(x(i))并不一样。


多分类问题

逻辑回归虽然主要用于二分类问题,但是也可以用于多分类问题。
思路是将多分类问题转换成多个二分类问题
对每一个类训练一个逻辑回归模型,有多少个类就有多少个模型
用每一个模型对新数据分别进行预测,取概率最大的模型决定新数据的预测类别。

第L3周:ML | 逻辑回归 LogisticRegression 逻辑回归(Logistic Regression)是一种广泛应用的机器学习算法,特别适用于分类问题。尽管名字中带有“回归”,但它主要用于解决二分类或多分类问题,而不是回归问题。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。 核心思想是将输入特征通过一个线性函数映射到输出,然后使用逻辑函数(Sigmoid函数或Softmax函数)将线性函数的输出转换为概率,从而实现分类。 用于将数据分为两个类别,例如判断邮件是否为垃圾邮件、病人是否患有某 阅读详情

相关推荐

Logistic回归总结(非常好的机器学习总结资料)

看了Stanford的Andrew Ng老师的机器学习公开课中关于Logistic Regression的讲解,然后又看了《机器学习实战》中的LogisticRegression部分,写下此篇学习笔记总结一下。 首先说一下我的感受,《机器学习实战》一书在介绍原理的同时将全部的算法用源代码实现,非常具有操作性,可以加深对算法的理解,但是美中不足的是在原理上介绍的比较粗略,很多细节没有具体介绍。所以,对于没有基础的朋友(包括我)某些地方可能看的一头雾水,需要查阅相关资料进行了解。所以说,该书还是比较适合有基础的朋友。

逻辑回归知识总结

参考链接:【机器学习】逻辑回归(非常详细) - 知乎 https://blog.youkuaiyun.com/bitcarmanlee/article/details/51165444 逻辑回归的常见面试点总结 - ModifyBlog - 博客园1.简介 逻辑回归是面试当中非常喜欢问到的一个机器学习算法,因为表面上看逻辑回归形式上很简单,很好掌握,但是一问起来就容易懵逼。所以在面试的时候给大家的第一个建议不要说自己精通逻辑回归,非常容易被问倒https://www.cnblogs.com/modifyrong/.

weixin_39915444的博客 603

5G时代必知:LDPC与Polar码实战解析(附MATLAB仿真代码)

本文深入解析5G时代核心信道编码技术LDPC码与Polar码的原理差异及性能表现,通过MATLAB仿真代码展示其在实际通信系统中的应用。LDPC码适用于大数据块高速传输,而Polar码在小数据块低时延场景表现优异,帮助开发者优化5G系统设计。

sugar的博客 642

【机器学习01】 线性、逻辑回归总结

【机器学习01】 线性、逻辑回归总结 本文章基于吴恩达机器学习课程,exp_1、exp_2实验,对实验中线性回归、逻辑回归中的基本步骤、关键算法、python实现代码进行总结。 1、导入数据及对数据进行可视化 读取数据:pd.read_csv(),绘制散点图:plt.scatter(),绘制直线:plt.plot() 2、划分数据集 插入行、列:data.insert(),提取行、列数据:data.iloc(),将数据转化为numpy形式:data.values更改数据维度:data.reshape(3,1

qq_37739859的博客 970

【科普知识】什么是驱控一体化伺服电机?

驱控一体化伺服电机以其高度的集成性、兼容性、便捷性以及卓越的性能表现,成为了现代工业自动化领域的一颗璀璨明珠。对于那些追求高效、精准、智能控制的行业用户而言,它无疑是一种理想的选择。

m0_46512607的博客 3151

Dell R730安装Windows Server 2008 R2

一、RAID驱动准备  在安装Windows server2008 R2操作系统时,如果没有发现硬盘,请将下面的阵列卡驱动先解压(在下载的.exe文件,双击点下一步会自动解压),解压后把那文件夹复制到U盘中。阵列卡 PERC9 H330 - H730 - H730P - H830 Controllers for Windows Server 2008 R2二、系统安装方法方法一:光盘安装  ①请您...

MarshLin 2万+

机器学习算法之逻辑回归总结

简介 逻辑回归虽然名字中有回归两字,但其属于分类算法的一种,常用于二分类问题,但其也可以适用于多分类,本文主要针对二分类进行说明,逻辑回归因其形式简单,模型的可解释性非常好,资源占用小,尤其是内存等优势在工业中界应用比较广泛,逻辑回归用一句话可以概括为:逻辑回归假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度下降来求解参数,来达到二分类的目的,可以看到其包含了挺多知识点:假设、极大似然函数(损失函数)、梯度下降(求解方法)、二分类(目的)等,在介绍逻辑回归算法原理之前先来复习几个数学知识点。 相

weixin_42964610的博客 1112

超越界面设计:GUI Guider与LVGL在STM32F103上的系统集成与架构思考

本文探讨了GUI Guider与LVGL在STM32F103微控制器上的系统集成与架构设计,重点分析了工程模块化组织、内存管理优化、硬件驱动接口设计以及FreeRTOS多任务集成。针对STM32F103ZET6的资源限制,提供了实用的移植策略和性能优化方案,帮助开发者构建高效、可维护的嵌入式GUI系统。

j2k3l4的博客 922

机器学习总结之逻辑回归Logistic Regression

原文地址 逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法。简单的说回归问题和分类问题如下: 回归问题:预测一个连续的输出。 分类问题:离散输出,比如二分类问题输出0或1. 逻辑回归常用于垃圾邮件分类,天气预测、疾病判断和广告投放。 一、假设函数     因为是一个分类问题,所以我们希望有一个假设函数,使得: 而sigmoid 函数

Yan456jie的专栏 6764

【ShaderToy】开篇

写在前面呜呼,好久没有写博客了,好惭愧。题外话,感觉越大就越想家,希望可以一直和家人在一起,哪怕只是坐在一起不说话也觉得很温暖,一想到要分开眼睛就开始酸,哎。开学还是爬上来老实更新博客学习吧~今天爬上来一看,发现优快云的博客编辑终于更新了!进步总是好的,以前的编辑器实在很捉急。使用这种标记语言的确方便了很多,但好像颜色字体没法设置?程序员果然对美观没什么追求。ShaderToy如果你还没听过Sha

candycat 8万+

详解在linux上安装vpn客户端

详解在linux上安装vpn客户端

FuncPlotCalc 8427

spark 逻辑回归算法案例_黄美灵的Spark ML机器学习实战

原标题:黄美灵的Spark ML机器学习实战本课程主要讲解基于Spark 2.x的ML,ML是相比MLlib更高级的机器学习库,相比MLlib更加高效、快捷;ML实现了常用的机器学习,如:聚类、分类、回归等算法。本课拒绝枯燥的讲述,将循序渐进从Spark2.x的基础知识开始,然后再透彻讲解各个算法的理论、详细展示Spark实现,最后均会通过实例进行解析实战,帮助大家真正从理论到实践全面掌握Spar...

weixin_29174385的博客 477

海康VisionMaster全局通信实战:从数据接收到流程触发

本文详细解析了海康VisionMaster全局通信的实战应用,重点阐述了如何通过配置通信模块与编写全局脚本,实现从外部设备(如PLC)接收数据并触发内部视觉流程。文章以TCP/IP通信为例,深入讲解了数据接收、解析、全局变量设置及流程触发的核心代码与调试技巧,帮助用户打通自动化项目中的设备联动关键环节。

weixin_29295541的博客 569

OpenCV机器学习(5)逻辑回归算法cv::ml::LogisticRegression

cv::ml::LogisticRegression 是 OpenCV 机器学习模块中的一个类,用于实现逻辑回归算法。逻辑回归是一种广泛应用于分类问题的统计方法,特别适合二分类任务。尽管名字中有“回归”二字,但它主要用于预测数据点属于某个类别的概率。

jndingxin的专栏 882

【教程4>第8章>第10节】OFDM完整通信链路项目的FPGA开发4——插入导频

本文介绍了基于MATLAB和Verilog的导频插入设计与实现方法。首先回顾了MATLAB中导频插入的算法实现,展示了每32个数据插入一个导频的设计。接着详细说明了Verilog硬件实现方案,包括导频序列定义、计数器设计、FIFO模块等关键部分。通过仿真测试验证了设计的正确性,输出了插入导频后的序列、导频序列以及调整时序后的序列。最后提供了相关视频教程资源,帮助读者理解设计过程。该设计实现了数据与导频的精确插入,为OFDM等通信系统开发提供了实用参考。

FPGA/MATLAB学习教程/源码/项目合作开发 395

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

php-ml 逻辑回归,机器学习之逻辑回归

逻辑回归将样本特征和样本发生的概率联系起来,用于解决分类问题。Sigmoid 函数在最简单的二分类中,逻辑回归里样本发生的概率的值域为 [0, 1],对于线性回归 $\hat{y} = \theta^T·x_b$,为了将 $\hat y$ 映射到值域 [0, 1] 中,引入了 $\sigma$ 函数得到了概率函数 $\hat p$,即:$$\hat p=\sigma(\theta^T·x_b), ...

weixin_35820423的博客 381

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ML算法——逻辑回归随笔【机器学习】

计算假阳率的方法是,将预测为正例的样本数量除以所有的负例样本数量。在实际应用中,假阳率高的模型可能会导致过多的误判,因此需要尽可能降低模型的假阳率。假阳率主要出现在分类问题中。在评估分类模型的性能时,假阳率是一个重要的指标,特别是在模型应用于关键决策时。例如,在医疗诊断中,高假阳率可能会导致对病人进行不必要的治疗或手术,因此需要尽可能降低模型的假阳率。Logic Regression (LR),逻辑回归的因变量是二分类的,而不是连续的。参照线性回归中的θ,这里的θ也是个向量,涵盖所有提到过的θ分量,θ=

cold的博客 2309

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

[ML skill]机器学习(machine learning)之逻辑回归

刚刚上篇多元线性回归的文章写了大半天 - - 发表了之后不知道为啥只有最初保存在草稿箱里的几个字 - - 不会出bug了吧 同学们大噶好! 今天跟大家介绍一下逻辑回归问题,前面文章好像提了一嘴。 所谓逻辑回归问题就是,生活中我们常常遇到一些问题并非呈现一种线性化的分布,比如说生一个小孩是男孩还是女孩,我在抽一张扑克是黑桃红桃方片梅花,这一类问题就是分类问题。可能有一些数值分析基础的同学们对于...

DESOLATION ROW 378

mllib逻辑回归 spark_Spark中ml和mllib的区别

Spark中ml和mllib的主要区别和联系如下:ml和mllib都是Spark中的机器学习库,目前常用的机器学习功能2个库都能满足需求。spark官方推荐使用ml, 因为ml功能更全面更灵活,未来会主要支持ml,mllib很有可能会被废弃(据说可能是在spark3.0中deprecated)。ml主要操作的是DataFrame, 而mllib操作的是RDD,也就是说二者面向的数据集不一样。Dat...

weixin_29468281的博客 237

机器学习之逻辑回归(Logistic Regression)

在公众号「python风控模型」里回复关键字:学习资料,免费领取。 python风控模型 持牌照金融公司模型专家,教学主页 https://ke.qq.com/teacher/231469242?tuin=dcbf0ba

fulk6667g78o8的专栏 2万+

机器学习——逻辑回归

本模型要查看的评估指标为recall(召回率)。由结果发现,模型训练集和测试集上的recall值都不是很高,原因是为什么呢?我们发现数据集中正负样本个数相差太大,标签为0的样本有284315个,标签为1的样本数仅仅只有492个。这样的数据集我们称为不平衡数据集,它可能导致模型偏向于多数类,从而影响少数类的预测性能。那么我们该怎么解决这一问题呢?之后的两篇文章我们会采用两种不同方法来解决这类情况。

zdx2585503940的博客 5489

ML-逻辑回归

*ML-逻辑回归 当z≥0 时,y≥0.5,分类为1,当 z<0时,y<0.5,分类为0,其对应的y值我们可以视为类别1的概率预测值。Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别),所以利用了Logistic函数(或称为Sigmoid函数),函数形式为: 对于模型的训练而言:实质上来说就是利用数据求解出对应的模型的特定的ω(利用线性回归算)。从而得到一个针对于当前数据的特征逻辑回归模型。 而对于多分类而言,将多个二

weixin_43250159的博客 206

Spark ml pipline交叉验证之逻辑回归

Spark ml pipline交叉验证之逻辑回归 1.1 模型训练 1.1.1 输入参数 { "modelName ": "逻辑回归_运动状态预测1 ", "numFolds ": "5 ", "labelColumn ": "activityId ", "maxIters ": [ 10, 20, 50, ...

码上中年的博客 752

【机器学习】机器学习之逻辑回归

本次实验运用逻辑回归算法进行学生考试成绩和录取结果的分类预测,实现了数据可视化、参数初始化、代价函数计算、梯度下降优化、预测和决策边界绘制等关键步骤。数据可视化阶段通过matplotlib库创建散点图,生动展示通过和不通过考试学生在两次考试成绩上的分布特征,直观呈现数据的分布情况。参数初始化和代价函数计算中,将逻辑回归参数初始化为0,定义sigmoid函数和代价函数,用于映射输入值、度量预测与实际标签的差距,以及评估模型准确性。

朝花夕拾 2万+

[ML]机器学习_逻辑回归算法

输出变量只能取少数可能值中的一个,而不是无线数字范围内的任何数字。也指得到的输出变量的值是的而并非连续的。

iazzz的博客 166
上一篇: 机器学习-线性回归总结
下一篇: 2019北航计算机961考研经验总结
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值