分类问题经典算法 | 二分类问题 | Logistic回归:梯度下降

目录

  • 一. 损失函数
    • 1. 交叉熵损失函数
    • 2. 梯度下降

一. 损失函数

Logistic回归算法公式推导篇中,我们通过对似然函数求对数,得到 l ( θ ) l(\theta ) l(θ)
l ( θ ) = l n [ L ( θ ) ] = ∑ i = 1 M { y ( i ) l n [ h θ ( x ( i ) ) ] + ( 1 − y ( i ) ) l n [ 1 − h θ ( x ( i ) ) ] } l(\theta )=ln\left [ L(\theta)\right ]=\sum_{i=1}^{M}\left \{y^{(i)}ln[h_{\theta}(x^{(i)} )]+(1-y^{(i)})ln[1-h_{\theta}(x^{(i)} )] \right \} l(θ)=ln[L(θ)]=i=1M{y(i)ln[hθ(x(i))]+(1y(i))ln[1hθ(x(i))]}

公式解释1: l ( θ ) l(\theta ) l(θ)

对于似然函数,其含义可以解释为:

用已知的观测数据(x值、y值),在某个事件发生概率最大时候,求函数的参数


究竟上述的这个事件发生概率有多大呢?当然是概率越接近1越好,越大越好

结合对似然函数的描述,当似然函数取最大时,模型最优,那么此时我们就可以定义损失函数
J ( θ ) = − l ( θ ) = ∑ i = 1 M { − y ( i ) l n [ h θ ( x ( i ) ) ] − ( 1 − y ( i ) ) l n [ 1 − h θ ( x ( i ) ) ] } J(\theta)=-l(\theta)=\sum_{i=1}^{M}\left \{-y^{(i)}ln[h_{\theta}(x^{(i)} )]-(1-y^{(i)})ln[1-h_{\theta}(x^{(i)} )] \right \} J(θ)=l(θ)=i=1M{y(i)ln[hθ(x(i))](1y(i))ln[1hθ(x(i))]}

公式解释2: J ( θ ) J(\theta ) J(θ)

对于损失函数这样定义不太理解的同学,看这里!!!

明确我们预测的目的:

对于一个样本的预测,我们希望模型能预测真实标签的概率越接近1越好,预测的越准确越好

上述目的如果套用至似然函数中,我们就可以说:

对于观测数据(有1有0),我希望模型预测真实标签的概率越接近1越好

若我对似然函数取反,他的含义就变得非常符合我们对于损失函数的要求,即损失越小越好:

对于观测数据,此时我们的期望就变成了,预测真实标签的概率越接近0越好,预测的准确率越低越好;

而事件(预测的准确率越低越好)发生的概率,从预测目的来说,我们希望越低越好,即损失函数越小越好

其实,从数学层面讲,似然函数求最大值就等价于求公式前加负号的最小值

1. 交叉熵损失函数

上述定义的损失函数,是非常著名的交叉熵(CrossEntropy)损失函数 ,该函数为凸函数,表示为:
C o s t ( h θ ( x ) , y ) = { − l n ( h θ ( x ) ) , y = 1 − l n ( 1 − h θ ( x ) ) , y = 0 Cost(h_{\theta}(x),y)=\left\{\begin{matrix}-ln(h_{\theta}(x)),y=1 \\-ln(1-h_{\theta}(x)),y=0\end{matrix}\right. Cost(hθ(x),y)={ln(hθ(x))y=1ln(1hθ(x))y=0
在这里插入图片描述

2. 梯度下降

在定义模型的损失函数后,通过对损失求导来更新梯度,梯度更新公式:
θ i ′ = θ i − α ∂ J ∂ θ i {\theta _{i} }' =\theta _{i}-\alpha \tfrac{\partial J}{\partial \theta _{i}} θi=θiαθiJ

其中,损失函数的梯度值为 ∂ J ( θ ) ∂ θ j = ∑ i = 1 M [ h θ ( x ( i ) ) − y ( i ) ] ∗ x j ( i ) \frac{\partial J(\theta )}{\partial \theta _{j} }=\sum_{i=1}^{M}[h_{\theta}(x^{(i)} )-y^{(i)} ] \ast x_{j}^{(i)} θjJ(θ)=i=1M[hθ(x(i))y(i)]xj(i)

推导过程在Logistic回归算法 公式推导篇中


感谢阅读🌼
如果喜欢这篇文章,记得点赞👍和转发🔄哦!
有任何想法或问题,欢迎留言交流💬,我们下次见!

祝愉快🌟!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/713301.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI智能分析网关V4智慧环保/智慧垃圾站视频智能分析与监控方案

一、背景介绍 随着城市化进程的加速,垃圾处理问题日益受到人们的关注,传统的垃圾站管理方式已经无法满足现代社会的需求。针对当前垃圾站的监管需求,TSINGSEE青犀可基于旗下视频智能检测AI智能分析网关V4与安防监控视频综合管理系统EasyCVR平…

如何添加极狐GitLab Runner 信任域名证书

本文作者 徐晓伟 极狐Gitlab Runner 信任实例域名证书,用于注册注册极狐 GitLab Runner。 问题 参见 极狐gitlab-runner-host.md 说明 解决方案是使用颁发给域名 gitlab.test.helm.xuxiaowei.cn 的证书,可以使用自己的域名去各大云厂商免费申请&#…

面试数据库篇(mysql)- 03MYSQL支持的存储引擎有哪些, 有什么区别

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。 MySQL体系结构 连接层服务层引擎层存储层 存储引擎特点 InnoDB MYSQL支持的存储引擎有哪些, 有什么区别 ? my…

【QT+QGIS跨平台编译】之六十:【QGIS_CORE跨平台编译】—【错误处理:TEST_DATA_DIR】

文章目录 一、TEST_DATA_DIR宏定义二、解决办法2.1 方法一2.2 方法二一、TEST_DATA_DIR宏定义 代码中较多地方引用了TEST_DATA_DIR 但是没有对其进行定义。 下载的QGIS的目录 qgis-3.22.8\tests\testdata 有对应的数据资源。 二、解决办法 2.1 方法一 在 pro 文件的预定义项…

叠氮生物素,Biotin-azide ,含有生物素基团和叠氮基团

您好,欢迎来到新研之家 文章关键词:生物素-叠氮,生物素叠氮,叠氮生物素,Biotin-azide ,Azide-Biotin,Biotin-N3,N3-Biotin,908007-17-0 一、基本信息 【产品简介】&a…

Tomcat部署及多实例

一、Tomcat简介 1、简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 当在一台机器上配置好Apache 服务器&#xff0c…

java 基础上(1)(核心知识搭配代码)

前言 java的学习分为了上部分以及下部分进行学习,上部分就是对于java的基础知识,面向对象上,面向对象下,异常操作,javaApi;下部主要是集合,泛型,反射,IO流,J…

BP 神经网络原理

BP (Back Propagation) 神经网络是1986年由 Rumelhart 和 McClelland 为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络。 1 BP 神经网络的结构和传播规则 BP神经网络由 输入层、隐含层(也…

【开源】JAVA+Vue.js实现天沐瑜伽馆管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 瑜伽课程模块2.3 课程预约模块2.4 系统公告模块2.5 课程评价模块2.6 瑜伽器械模块 三、系统设计3.1 实体类设计3.1.1 瑜伽课程3.1.2 瑜伽课程预约3.1.3 系统公告3.1.4 瑜伽课程评价 3.2 数据库设计3.2.…

Java基于微信小程序的房屋租赁、租房小程序,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

逻辑漏洞(pikachu)

#水平,垂直越权,未授权访问 通过个更换某个id之类的身份标识,从而使A账号获取(修改、删除)B账号数据 使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限操作 通过删除请求中的认…

消息队列+更新DB极易引发的DB并发修改bug

背景 我们在生产系统中和其他系统进行交互时一般都会通过消息队列来解耦生产者和消费者,然后通过每个使用方消费消息队列的消息的方式来完成消息的消费,并且一般来说我们消费消息后极有可能会操作DB,不过这种方式如果处理不够仔细&#xff0…

spark sql 转换字符串数组成多列结构

背景 在平时使用spark sql分析数据时,特别是分析从mysql的表入仓的hive表时,我们会经常和字符串数组的列打交道,而且这种情况下我们一般都需要把一行字符串数组的行数据转成多列的形式,我们看下怎么写这个sql spark sql 转换字符…

计算机网络(2)-----数据链路层

目录 一.数据链路层的基本概念 二.数据链路层的功能概述 功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。 功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。 功能三:组帧 透明传输:…

ESU毅速丨不锈钢材料为什么在金属3D打印中的广泛应用

不锈钢是一种传统且常见的材料,在金属3D打印领域应用最广。那么,为何不锈钢材料在3D打印中如此受欢迎呢?以下是几个关键原因。 卓越的工艺适应性 金属3D打印技术,如直接金属激光烧结(DMLS)和选择性激光熔融…

Redis--持久化机制详解

什么是redis持久化? Redis持久化是将内存的数据持久化到磁盘上,防止Redis宕机或者断点的时候内存中的数据丢失,把内存中的数据写入到磁盘的过程叫持久化。 Redis持久化的方式? RDB(Redis DataBase)&…

Jmeter分布式部署

前期准备: 1. 控制机一台,代理机一台,Jmeter安装包 操作步骤: 1. Linux安装Jmeter(windows安装教程自己搜一下) 1.1创建一个单独的文件夹(jmeter),用来存放Jmeter的安装包 mkdir jmeter 1.2…

centos7升级openssl_3

1、查看当前openssl版本 openssl version #一般都是1.几的版本2、下载openssl_3的包 wget --no-check-certificate https://www.openssl.org/source/old/3.0/openssl-3.0.3.tar.gz#解压 tar zxf openssl-3.0.3.tar.gz#进入指定的目录 cd openssl-3.0.33、编译安装遇到问题缺…

vscode设置打开浏览器

安装这个插件 Open Browser Preview

全排列 全排列 II N皇后

46.全排列 力扣题目链接(opens new window) 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 递归终止条件:当收集元素的数组path的大小达到和nums数组…