机器学习logistic回归---学习笔记

等秃了就去学算法 等秃了就去学算法     2023-04-16     361

关键词:

Logistic回归学习笔记

Logistic回归学习线路

预备知识:建议先去B站学习一下信息量,熵,BL散度,交叉熵的概念。

推荐B站视频:“交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵”

信息量(Information)指的是一个事件所包含的信息的多少,通常用以2为底的对数表示。比如说,如果一个事件发生的概率是1/8,那么这个事件的信息量就是log2(1/8)=-3,因为需要三个比特才能表示它。

熵(Entropy)是一个系统或信源中不确定性的度量,也可以理解为信息的平均量。在信息论中,熵越大表示系统或信源越难以预测,因此包含的信息越多。比如说,一堆硬币正反面朝上的情况有很多种可能性,因此它们的熵比一堆已知全是正面朝上的硬币要高。

KL散度(Kullback-Leibler
divergence),又称相对熵,是衡量两个概率分布之间差异的一种方式。KL散度是非负的,并且当且仅当两个分布完全相同时取值为0。

交叉熵(Cross-entropy)是一种用来比较两个概率分布之间差异的方法,它通常用于评估分类模型的性能。与KL散度类似,交叉熵也是非负的,当且仅当两个分布相等时取值为0。

本节知识导图

Logistic回归的函数模型

 逻辑回归是一个分类模型

 它可以用来预测某件事发生是否能够发生。分类问题是生活中最常见的问题:

  • 生活中:比如预测上证指数明天是否会上涨,明天某个地区是否会下雨,西瓜是否熟了

  • 金融领域:某个交易是否涉嫌违规,某个企业是否目前是否违规,在未来一段时间内是否会有违规

  • 互联网:用户是否会购买某件商品,是否会点击某个内容

 对于已知的结果,上面问题的回答只有:0,1

 我们以以下的一个二分类为例,对于一个给定的数据集,存在一条直线可以将整个数据集分为两个部分:

 此时,决策边界为 w 1 x 1 + w 2 x 2 + b = 0 w_1x_1+w_2x_2+b=0 w1x1+w2x2+b=0,此时我们很容易将 h ( x ) = w 1 x 1 + w 2 x 2 + b > 0 h(x)=w_1x_1+w_2x_2+b>0 h(x)=w1x1+w2x2+b>0的样本设置为1,反之设置为0。但是这其实是一个感知机的决策过程。
 逻辑回归在此基础上还需要在加上一层,找到分类概率与输入变量之间的关系,通过概率来判断类别。
回顾一下线性回归模型: h ( x ) = w T x + b h(x)=w^Tx+b h(x)=wTx+b在线性模型的基础上加上一个函数 g g g,即 h ( x ) = g ( w T x + b ) h(x)=g(w^Tx+b) h(x)=g(wTx+b)。这个函数就是sigmoid函数,也叫做logistic函数 g ( z ) = 1 1 + e − z g(z)=\\frac11+e^-z g(z)=1+ez1

它可以将一个线性回归中的结果转化为一个概率值。此时 h ( x ) h(x) h(x)表示的就是某件事发生的概率,我们也可以记为 p ( Y = 1 ∣ x ) p(Y=1|x) p(Y=1∣x)
可以看下sigmoid函数的图像:

总结:这样,我们便得到Logistic模型 h ( x ) h(x) h(x)的表达式 h ( x ) = 1 1 + e − w T x + b h(x) = \\frac11+e^-w^Tx+b h(x)=1+ewTx+b1
: h ( x i ) h(x_i) h(xi)的意义在于 样本 x i x_i xi的标签为1的概率为 h ( x ) h(x) h(x)

损失最小化架构

从概率论、统计学角度来看损失最小化架构:
 在统计学中,假设我们已经有了一组样本(X,Y),为了计算出能够产生这组样本的参数。通常我们会采用最大似然估计的方法(一种常用的参数估计的方法)。使用到最大似然估计的话,我们还要一个假设估计,这里我们就是假设 Y Y Y是服从于伯努利分布的。 P ( Y = 1 ∣ x ) = p ( x ) P(Y=1|x)=p(x) P(Y=1∣x)=p(x) P ( Y = 0 ∣ x ) = 1 − p ( x ) P(Y=0|x)=1-p(x) P(Y=0∣x)=1p(x)由于 Y Y Y服从于伯努利分布,我们很容易就有似然函数: L = ∏ [ p ( x i ) y i ] [ 1 − p ( x i ) ] ( 1 − y i ) L=\\prod[p(x_i)^y_i][1-p(x_i)]^(1-y_i) L=[p(xi)yi][1p(xi)](1yi)为了求解我们可以两边取对数:
l o g L = ∑ [ y i l o g ( p ( x i ) ) + ( 1 − y i ) l o g ( 1 − p ( x i ) ) ] logL = \\sum [y_ilog(p(x_i))+(1-y_i)log(1-p(x_i))] logL=[yilog(p(xi))+(1yi)log(1p(xi))]

最大似然估计其实就是取概率的概率最大的那个概率模型:这么说你可能不懂,换种方式, ∏ p ( h ( x i ) ∣ θ ) \\prod p(h(x_i)|\\theta) p(h(xi)θ),已有概率模型 h ( x ) h(x) h(x)在现有样本 θ \\theta θ的条件下,计算出值越大,越说明 h ( x ) h(x) h(x)最接近理论概率模型

我们一般喜欢取式子的最小值,所以将原式子转化一下
m i n ( − l o g L ) = m i n − ∑ [ y i l o g ( p ( x i ) ) + ( 1 − y i ) l o g ( 1 − p ( x i ) ) ] min(-logL) =min -\\sum [y_ilog(p(x_i))+(1-y_i)log(1-p(x_i))] min(logL)=min[yilog(p(xi))+(1yi)log(1p(xi))]

这里的 p ( x i ) p(x_i) p(xi)对应的就是 h ( x i ) h(x_i) h(xi)

从信息量,熵的角度来看损失最小化架构:

KL散度:当 D K L = 0 D_KL=0 DKL=0时,P模型=Q模型,我们追求的就是我们所构建的Q模型(也就是 h ( x ) h(x) h(x))接近真实P模型(这里是样本的理论模型, p i 为 p_i为 pi样本频率)

没错,根据吉布斯不等式,交叉熵 ≥ \\geq P系统的熵,所以当我们取交叉熵的最小值时,Q模型越接近真实的理论P模型,又知道,信息量的定义是 f : = − l o g 2 x f:=-log_2x f:=log2x
所以带入原式子,交叉熵为: − ∑ i = 1 m p i l o g 2 x -\\sum_i=1^mp_ilog_2x i=1机器学习笔记—logistic回归

本文申明:本系列笔记全部为原创内容,如有转载请申明原地址出处。谢谢序言:whatislogisticregression?Logistics一词表示adj.逻辑的;[军]后勤学的n.[逻]数理逻辑;符号逻辑;[军]后勤学,“回归”是由英国著名生物学家兼统计学家... 查看详情

《机器学习实战》logistic回归算法

=====================================================================《机器学习实战》系列博客是博主阅读《机器学习实战》这本书的笔记也包含一些其他python实现的机器学习算法              查看详情

《机器学习实战》学习笔记:logistic回归(代码片段)

欢迎关注WX公众号:【程序员管小亮】【机器学习】《机器学习实战》读书笔记及代码总目录https://blog.csdn.net/TeFuirnever/article/details/99701256GitHub代码地址:https://github.com/TeFuirnever/Machine-Learning-in-Action——————————... 查看详情

机器学习基础笔记一

监督学习非监督学习:学习结构化知识强化学习 监督学习:线性回归模型:输出y是连续的Logistic回归模型(实际上不是回归问题,是分类问题):输出y是0,1离散的 Logistic回归模型:Sigmoid函数:将任何输入变成0与1之间的... 查看详情

机器学习logistic回归---学习笔记

Logistic回归学习笔记Logistic回归学习线路预备知识:建议先去B站学习一下信息量,熵,BL散度,交叉熵的概念。Logistic回归的函数模型损失最小化架构分类函数最大概率分类函数阈值分类函数Logistic回归的优化算法... 查看详情

机器学习:logistic回归原理及其实现

Logistic回归是机器学习中非常经典的一个方法,主要用于解决二分类问题,它是多分类问题softmax的基础,而softmax在深度学习中的网络后端做为常用的分类器,接下来我们将从原理和实现来阐述该算法的思想。1.原理a.问题描述考... 查看详情

机器学习实战第5章logistic回归

第5章Logistic回归Logistic回归概述Logistic回归虽然名字叫回归,但是它是用来做分类的。其主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。须知概念Sigmoid函数回归概念假设现在有一些数据点,我们用一条直线... 查看详情

机器学习实践之logistic回归

...et/qq_37608890/article/details/78827013)。 本文根据最近学习机器学习书籍网络文章的情况,特将一些学习思路做了归纳整理 查看详情

[机器学习实战-logistic回归]使用logistic回归预测各种实例(代码片段)

[机器学习实战-Logistic回归]使用Logistic回归预测各种实例目录[机器学习实战-Logistic回归]使用Logistic回归预测各种实例本实验代码已经传到gitee上,请点击查收!一、实验目的二、实验内容与设计思想实验内容设计思想三、实验使... 查看详情

[机器学习实战]logistic回归

1.Logistic回归:  1)优点:计算代价不高,易于理解和实现;  2)缺点:容易欠拟合,分类精度可能不高;  3)适用数据类型:数值型和标称型数据; 2.分类思想:  根据现有数据对分类边界线建立回归公式,以此... 查看详情

机器学习实战精读--------logistic回归

Logistic回归的主要目的:寻找一个非线性函数sigmod最佳的拟合参数拟合、插值和逼近是数值分析的三大工具回归:对一直公式的位置参数进行估计拟合:把平面上的一些系列点,用一条光滑曲线连接起来logistic主要思想:根据现... 查看详情

机器学习_logistic回归和梯度下降

 原文:http://blog.csdn.net/dongtingzhizi/article/details/15962797  Logistic回归总结 PDF下载地址:http://download.csdn.net/detail/lewsn2008/65474631.引言   看了Stanford的AndrewNg老师的机 查看详情

机器学习——基础整理:线性回归;二项logistic回归;softmax回归;广义线性模型

...线性模型    二项Logistic回归是我去年入门机器学习时学的第一个模型,我觉得这个模型很适合用来入门(但是必须注意这个模型有很多很多很多很多可以展开的地方)。比较有意思的是那时候还不会矩阵微积分,... 查看详情

机器学习--logistic回归(代码片段)

logistic回归很多时候我们需要基于一些样本数据去预测某个事件是否发生,如预测某事件成功与失败,某人当选总统是否成功等。这个时候我们希望得到的结果是bool型的,即trueorfalse我们最先想到的是通过最小二乘法求出线性回归... 查看详情

机器学习-logistic回归

logistic回归的主要思想:已知样本数目为m,特征(feature)数目为n。给出假设h(X)=g(X*theta)g(z)是sigmiod函数:g(z)=1/(1+exp(-z)) 考虑分类器问题:Y取值为0或1,同样地,h(X)取值为0或1。则P(y|x;theta)=h(x)^y*(1-h(x))^(1-y)对其取log得到:对J求... 查看详情

机器学习实战第五章logistic回归(代码片段)

defgradAscent(dataMatIn,classLabels):dataMatrix=mat(dataMatIn)#converttoNumPymatrixlabelMat=mat(classLabels).transpose()#converttoNumPymatrixm,n=shape(dataMatrix)alpha=0.001maxCycles=500weights=ones(( 查看详情

机器学习算法---逻辑回归及梯度下降

一、逻辑回归简介  logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。  logistic回归是一种广义线性回归(generalizedlinearmodel),因此与多重线性回归分析... 查看详情

机器学习二(线性回归和logistic回归)

前言由于本部分内容讲解资源较多,本文不做过多叙述,重点放在实际问题的应用上。一、线性回归线性回归中的线性指的是对于参数的线性的,对于样本的特征不一定是线性的。线性模型(矩阵形式):y=XA+e   其中... 查看详情