机器学习算法详解3:逻辑回归

news2024/12/23 2:47:12

机器学习算法详解3:逻辑回归

前言

​ 本系列主要对机器学习上算法的原理进行解读,给大家分享一下我的观点和总结。

本篇前言

​ 本篇对逻辑回归的算法原理进行解读。

目录结构

文章目录

    • 机器学习算法详解3:逻辑回归
      • 1. 引子
      • 2. sigmoid函数
      • 3. 原理推导
      • 4. 交叉熵损失函数推导
        • 4.1 信息熵
        • 4.2 KL散度
        • 4.3 交叉熵推导
        • 4.4 交叉熵损失函数推导
      • 5. 为什么选用sigmoid函数?
      • 6. 总结

1. 引子

​ 在上一篇提及一个概念广义线性回归,而逻辑回归也是与之相关。

​ 假设我们有一个曲线,如下:

在这里插入图片描述

​ 假设它的表达式为y=wx,其中y的值是符合lnx的分布的。那么,可以进行线性映射lny = wx ,变为y=e^(wx)即真正的表达式y=e^(wx)可以变为最初的广义线性形式y=wx(只是此处的y符合lnx分布而已)

​ 换而言之,我们可以将e^(wx)看作是一个普通的ax,那么逻辑回归就是将这个普通的ax作为某个函数的输入,让函数的输出在[0,1]之间,相当于输出的是概率值,就成了。

2. sigmoid函数

​ 上面提及某函数,那么选择什么样的函数呢?

​ 首先,函数必须满足的要求是:输出值在[0,1]之间。满足这个要求的函数非常多,比如符号函数:

在这里插入图片描述

​ 但是,这个函数有一个重要缺点:不是连续可导的(在x=0这个点)。这样会导致我们在优化损失函数的时候,无法直接求导,需要分情况进行求导。其次,这个函数有个小缺点:太僵硬了,只能取1、0这两个值

​ 针对上述情况,我们提出这个函数要满足的新要求:连续可导,最好是光滑曲线

​ 那么,前人们找到一个函数,名为 sigmoid函数,公式如下:

在这里插入图片描述

​ 函数图像如下:

在这里插入图片描述

​ 并且,值得注意的一点是,sigmoid函数的导数非常特殊,其倒数公式如下:
在这里插入图片描述

3. 原理推导

​ 基本的导数求法,非常的简单。

在这里插入图片描述

4. 交叉熵损失函数推导

4.1 信息熵

​ 要对交叉熵进行推导,首先需要明白什么是信息熵。(本来应该在决策树那里讲的)

​ 熵,大家应该都明白,就是描述一个系统的混乱程度。那么信息熵,就相当于描述一个信息的有用程度。

​ 公式如下:

在这里插入图片描述

4.2 KL散度

​ 有时候也称之为KL距离,但是其实并不是真正的距离,因为不符合距离的对称性质。

其衡量两个分布P、Q的相似程度,公式如下:

在这里插入图片描述

​ 举个计算的例子:

在这里插入图片描述

4.3 交叉熵推导

在这里插入图片描述

4.4 交叉熵损失函数推导

​ 该损失函数的推导可以从三个角度入手,分别是sigmoid入手、极大似然估计入手和KL散度入手。这里我接受最后一种推导。

​ 逻辑回归损失函数即衡量真实分布和预测分布的相似性——即KL散度,那么推导过程和上面相似,只是把P and Q换为了y and y^,通过上面可以知道最后的KL散度与交叉熵的值正相关,因此我们可以通过交叉熵构建出损失函数来代替KL散度以衡量真实分布和预测分布的相似程度,即公式:(下面分为两个部分是因为一个为正样本、一个为负样本而已)

在这里插入图片描述

5. 为什么选用sigmoid函数?

​ 这个问题也可以这么问:sigmoid函数怎么推出来的?这个是我偶然看视频发现的,我个人觉得有一定的道理,所以在这里分享一下:

​ 对于真实大数据场景,数据的每个特征基本都符合正太分布,并且一般标准差相同而均值不同(感觉上是对的,但是没有证明),那么如下图推导过程:

在这里插入图片描述

6. 总结

​ 本篇讲解了逻辑回归的原理,逻辑回归主要应用于二分类任务,也是分类任务中常用的一个算法。

​ 下一篇,讲解支持向量机算法。

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

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

相关文章

C++之shared_ptr、unique_ptr、make_shared、make_unique的区别(一百九十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

vue3之pinia简单使用

一、 Pinia介绍 pinia 是 Vue 的存储库,它允许您跨组件/页面共享状态。就是和vuex一样的实现数据共享。 依据Pinia官方文档,Pinia是2019年由vue.js官方成员重新设计的新一代状态管理器,更替Vuex4成为Vuex5。 Pinia 目前也已经是 vue 官方正式…

PackML 学习笔记(2) OPCUA /PackML

2020年11月11日,OPC 基金会发布了PackML 的配套规范(OPC 30050: PackML - Packaging Control)。意味着可以使用OPCUA 信息模型来构建PackML 模型了。 如果写一篇技术简介往往是简单的,要去实现这门技术却很难。首先,OP…

浅谈Dead reckoning实现原理以及常用算法

0. 简介 航位推算是一个很常见的定位方法。在知道当前时刻的位置,然后通过imu等传感器去估计下一个时刻的位置。在自动驾驶车辆定位的时候,GPS提供10Hz的定位信息。这每个GPS信息来临的0.1s的间隔里面,车辆位置也会移动很多。那么这个时候就…

Android.bp语法和使用方法讲解

Android.bp语法和使用方法讲解 Android.bp 文件是什么? Android.bp 文件首先是 Android 系统的一种编译配置文件,是用来代替原来的 Android.mk文件的。在 Android7.0 以前,Android 都是使用 make 来组织各模块的编译,对应的编译…

抖店评价有礼怎么设置|成都瀚网科技

随着电商行业的不断发展和竞争的加剧,如何吸引消费者、提高店铺的口碑成为了每个卖家关注的焦点。其中,抖音电商平台的礼貌评价功能受到广大卖家的青睐。那么,如何设置抖店评论才能有礼貌呢?我们一起来讨论一下吧。 如何设置抖店评…

go-zerogo web集成gorm实战

前言 上一篇:go-zero&go web集成redis实战 从零开始基于go-zero搭建go web项目实战-04集成gorm实战 源码仓库地址 源码 https://gitee.com/li_zheng/treasure-box golang gorm 官网地址:https://gorm.io/zh_CN/docs/index.html GORM介绍 Gorm是…

Postman —— HTTP请求基础组成部分

一般来说,所有的HTTP Request都有最基础的4个部分组成:URL、 Method、 Headers和body。 (1)Method 要选择Request的Method是很简单的,Postman支持所有的请求方式。 (2)URL 要组装一条Request…

Pytorch Advanced(二) Variational Auto-Encoder

自编码说白了就是一个特征提取器,也可以看作是一个降维器。下面找了一张很丑的图来说明自编码的过程。 自编码分为压缩和解码两个过程。从图中可以看出来,压缩过程就是将一组数据特征进行提取, 得到更深层次的特征。解码的过程就是利用之前的…

python-爬虫-urllib

网络爬虫(Web Crawler),又叫网络蜘蛛、网络机器人,是一种自动化数据采集程序 数据采集 → 数据处理 → 数据存储 常见的工作流程如下: 1.定义采集的目标(网站、APP、公众号、小程序)&#xff…

RP9学习-2

1.基本元素2 1.1树 可以收起 添加子菜单 选中树的节点即可添加 移动层级 编辑树属性 选中某行文字,点击Edit Tree Properties 可以把箭头变成加减,另外也可以导入自己的图标 注意要使用自己的图标,需要勾选Show Icon 也可以给某个节点单…

开放式耳机也会有巅峰音质体验-南卡NANK OE PRO

前言 这两年,开放式耳机市场发展迅猛,新品层出不穷,各大耳机厂商也都相继推出了自家的产品。而在众多的厂家中,作为国内开发式耳机的TOP1,南卡通过多年来在业内领域的经验和专业的技术能力,为广大音乐爱好…

fastadmin在前端调用 /api/common/upload 返回未上传文件或超出服务器上传限制

第一步:在api目录直接调用 域名/api/common/upload 上传图片的时候要在Common.php文件里面把验证登录的 protected $noNeedLogin [init]; 方法注释掉。 // protected $noNeedLogin [init];protected $noNeedLogin *;protected $noNeedRight *; 第二步&#…

计算机竞赛 大数据分析:基于时间序列的股票预测于分析

1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个大数据项目 大数据分析:基于时间序列的股票预测于分析 2 时间序列的由来 提到时间序列分析技术,就不得不说到其中的AR/MA/ARMA/ARIMA分析模型。这四种分析方法…

dp(1) - 数字三角形模型

898.数字三角形 题目链接 : 活动 - AcWing 题目 : 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和…

利用LinuxPTP进行时间同步(软/硬件时间戳) - 研一

转自:https://blog.csdn.net/BUPTOctopus/article/details/86246335 官方文档:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s1-using_ptp 查看网卡是否支持软硬件时间戳: sudo ethtoo…

为什么做期权卖方是比较高胜率的?

期权三大因素:行情方向、时间价值流失、波动率。波动率下降、时间价值流失,震荡行情,这几项对期权卖方交易有利,一般做期权卖方胜率基本可以达70%左右,下文揭秘为什么做期权卖方是比较高胜率的? 一、期权卖方交易如何…

MQTT网关对接水务二次供水管理平台案例

一、客户介绍 随着城市发展和人口增长,对水务行业的监测和管理要求也越来越高。然而,传统的水务行业监测方式存在很多不足,如数据传输的缓慢和不可靠,数据安全风险大等,为了更有效地监测和管理这些信息,供…

电子科大软件系统架构设计——系统规划

文章目录 系统规划定义意义目标任务路径规划规划步骤规划方法业务系统规划法业务流程重组法价值链分析法战略目标集转移法关键成功因素法 项目计划定义要素工作分解活动排序工期预算三点估计法德尔菲法 成本估算与计算进度安排甘特图法PERT图方法 可行性分析技术可行性分析进度…

固定资产电脑怎么编号管理

科技的发展已经深入到了我们的生活中的每一个角落,尤其是在办公室环境中,电脑已经成为了必不可少的工具。然而,随着电脑数量的增加和管理复杂性的提升,如何有效地管理和追踪这些固定资产变得越来越重要。本文将探讨一种创新的方式…