当前位置: 首页 > news >正文

统计学习算法——逻辑斯谛回归

内容来自B站Up主:动画讲编程https://www.bilibili.com/video/BV1CR4y1L7RC、风中摇曳的小萝卜https://www.bilibili.com/video/BV17r4y137bW,仅为个人学习所用。

极大似然估计

几率、概率与似然

几率是指某个事件发生的可能性与不发生的可能性之比,即事件发生的几率和不发生的几率的比值。

概率是在特定条件下某事件发生的可能性,在结果没有产生前,根据条件去估算某个事件发生的概率,通常用一个0到1之间的数值表示。

似然的概念与概率相反,是根据已知的事件结果来推测该事件可能在什么条件下发生。我们都知道,抛出一枚质地均匀的硬币,人像和数字在上的概率分别为0.5,假设抛出一枚硬币1万次,其中8千次人像在上,2千次数字在上,那么可以判断该硬币的构造可能有问题,进而推测该硬币的一些参数。

θ \theta θ为条件对应的参数, x x x表示事件发生的结果,在 θ \theta θ条件下 x x x发生的概率表示为 P ( x ∣ θ ) P(x|\theta) P(xθ) P P P是关于 x x x的函数;似然则相反,表示为 L ( θ ∣ x ) L(\theta|x) L(θx),即在已经结果 x x x的条件下, θ \theta θ发生的概率, L L L是关于 θ \theta θ的函数。
在这里插入图片描述

极大似然估计

极大似然估计是在已知观测数据的情况下,找到使这些数据出现的可能性最大的模型参数,即根据事件 x x x的观察结果,推断 θ \theta θ是多少的时候,结果 x x x最有可能发生。

继续抛硬币实验,通过具体实验来得出 θ \theta θ。仍然抛硬币10次,其中7次人像在上,3次数字在上
在这里插入图片描述
假设结果服从二项分布,那么有 L ( θ ) = θ 7 ( 1 − θ ) 3 (有 7 次人像朝上,为 7 个 θ 相乘,其他的同理) L(\theta)=\theta^7(1-\theta)^3 (有7次人像朝上,为7个\theta相乘,其他的同理) L(θ)=θ7(1θ)3(有7次人像朝上,为7θ相乘,其他的同理)
在这里插入图片描述
通过该图像发现,当 θ \theta θ取值为0.7时,函数值达到最大值,说明在当前条件下,最可能发生7次人像在上,3次数字在上。

逻辑斯蒂回归

引入

小明的战队与对手比赛,但小明的战队比较慢热,刚开始找不到手感,与对手零十开,到了10分钟时,与对手一九开,到了游戏中期,手感上来了,与对手五五开,游戏后期达到九一开甚至十零开。
在这里插入图片描述
因为中期的比赛形势不确定,小明想知道在第26分钟的时候能和对面几几开呢?

计算过程

这里说的几几开是指赢下比赛和输掉比赛可能性的比值 几几开 ( 几率 ) = p 1 − p 几几开(几率)=\frac{p}{1-p} 几几开(几率)=1pp

列出相关几率如下图
在这里插入图片描述
转为小数
在这里插入图片描述
当战队十分可能输给对手的时候,赢的几率接近于0,而当战队非常可能赢的时候,该几率更接近于 + ∞ +\infty +

在这里插入图片描述
这种对称轴不对称,不好分析问题,使用几率的对数来分析问题,将数据从正半轴映射到整条数据周轴上。
若以对数几率为y轴,时间为x轴,可以得到线性回归直线。
在这里插入图片描述
通过计算每个点到直线的距离差,然后做最小二乘的优化,可以得到一条最完美的直线来拟合这些数据。查询x轴上某一点,就可以得到当前时间赢下这场比赛的可能性。

问题是有许多点分布在 + ∞ +\infty + − ∞ -\infty 上,如何计算距离误差?在这里插入图片描述
将该直线重新映射回概率空间,通过一系列计算,可以得到逻辑斯蒂函数。
在这里插入图片描述
代入 y = w x + b y=wx+b y=wx+b,得出逻辑斯蒂回归的概率函数在这里插入图片描述
在这里插入图片描述
因此,可以理解为:概率空间里的逻辑斯蒂回归就是对数几率空间里的线性回归。
在这里插入图片描述
在概率空间中,可以使用极大似然估计来得到最好的逻辑斯蒂曲线。

假设在时间 x x x的条件下,赢下比赛(y=1)的几率为 p p p,输掉比赛(y=0)的几率为 1 − p 1-p 1p在这里插入图片描述
注意:与前面的函数计算方法类似( L ( θ ) = θ 7 ( 1 − θ ) 3 L(\theta)=\theta^7(1-\theta)^3 L(θ)=θ7(1θ)3

由于一系列式子的乘积是不太容易优化的表达,取对数变成其加法形式
在这里插入图片描述
展开括号,整理,有
在这里插入图片描述
标黄的 l o g log log部分是对数几率,概率空间里的逻辑斯蒂回归就是对数几率空间里的线性回归,将其替换成直线方程, p i p_i pi是逻辑斯蒂函数,代入,得出如下结果
在这里插入图片描述
继续优化得到最好的参数值在这里插入图片描述

a r g m a x argmax argmax函数:找出使函数取得最大值的自变量。假设教计算机识别图片是猫、狗还是兔子。计算机对一张图片会输出三个数字[0.2,0.7.0.1],比如说 ,这三个数字分别代表这张图片是猫、狗、兔子的可能性。这里的函数就是计算可能性的那个规则。那 argmax 就是帮你找出哪个可能性最大。在这个例子中,最大的是0.7 ,对应的是狗,所以计算机就会认为这张图片是狗。

将时间代入,就可以得到相关的概率。
在这里插入图片描述

相关文章:

统计学习算法——逻辑斯谛回归

内容来自B站Up主:动画讲编程https://www.bilibili.com/video/BV1CR4y1L7RC、风中摇曳的小萝卜https://www.bilibili.com/video/BV17r4y137bW,仅为个人学习所用。 极大似然估计 几率、概率与似然 几率是指某个事件发生的可能性与不发生的可能性之比&am…...

算法(蓝桥杯)贪心算法5——删数问题的解题思路

问题描述 给定一个高精度的正整数 n(n≤1000 位),需要删除其中任意 s 个数字,使得剩下的数字按原左右顺序组成一个新的正整数,并且这个新的正整数最小。例如,对于数字 153748,删除 2 个数字后&a…...

数字孪生发展及应用

一、数字孪生的前世今生 (一)萌芽的种子:概念的首次提出 数字孪生的概念最早可追溯到 20 世纪 60 年代,美国国家航空航天局(NASA)在阿波罗计划中,为了训练宇航员和指挥控制人员,使用…...

MYSQL对表的增删改查

表的基本操作 创建表create table [if not exists] <tableName> (<columnName> <columnType> [constraints] [comment] , ...<columnName> <columnType> [constraints] [comment] ) ;删除表drop table [if exists] <tableName> ;…...

左神算法基础提升--4

文章目录 树形dp问题Morris遍历 树形dp问题 求解这个问题需要用到我们在基础班上学到的从节点的左子树和右子树上拿信息的方法。 求最大距离主要分为两种情况&#xff1a;1.当前节点参与最大距离的求解&#xff1b;2.当前节点不参与最大距离的求解&#xff1b; 1.当前节点参与最…...

【docker踩坑记录】

docker踩坑记录 踩坑记录(持续更新中.......)docker images 权限问题 踩坑记录(持续更新中…) docker images 权限问题 permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.s…...

CloudberryDB(四)并行执行

要查看CloudberryDB & Greenplum数据库的并行度配置&#xff0c;可以使用以下几种方法&#xff1a; ### 方法一&#xff1a;使用SHOW命令 在Greenplum数据库中&#xff0c;可以使用SHOW命令来查看当前的并行度配置。例如&#xff1a; sql SHOW gp_parallel_degree ; SH…...

LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS

题目 大型语言模型是人类级别的提示工程师 论文地址&#xff1a;https://arxiv.org/abs/2211.01910 项目地址&#xff1a;https://github.com/keirp/automatic_prompt_engineer 摘要 通过对自然语言指令进行调节&#xff0c;大语言模型 (LLM) 显示了作为通用计算机的令人印象深…...

rabbitmq安装延迟队列

在RabbitMQ中&#xff0c;延迟队列是一种特殊的队列类型。当消息被发送到此类队列后&#xff0c;不会立即投递给消费者&#xff0c;而是会等待预设的一段时间&#xff0c;待延迟期满后才进行投递。这种队列在多种场景下都极具价值&#xff0c;比如可用于处理需要在特定时间触发…...

Kubernetes (K8s) 入门指南

Kubernetes (K8s) 入门指南 什么是Kubernetes&#xff1f; Kubernetes&#xff0c;通常简称为 K8s&#xff08;因为从 “K” 到 “s” 之间有八个字符&#xff09;&#xff0c;是一个开源的容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化应用程序。它最初由谷歌设…...

Python 调用 Ollama 库:本地大语言模型使用详解

ollama 是一个用于调用本地大语言模型&#xff08;Large Language Models&#xff0c;LLMs&#xff09;的 Python 库&#xff0c;旨在提供简单、高效的 API 接口&#xff0c;以便开发者能够方便地与本地的大语言模型进行交互。以下是关于如何在 Python 中使用 ollama 库的详细介…...

python matplotlib绘图,显示和保存没有标题栏和菜单栏的图像

目录 1. 使用plt.savefig保存无边框图形 2. 显示在屏幕上&#xff0c;并且去掉窗口的标题栏和工具栏 3. 通过配置 matplotlib 的 backend 和使用 Tkinter&#xff08;或其他图形库&#xff09; 方法 1&#xff1a;使用 TkAgg 后端&#xff0c;并禁用窗口的工具栏和标题栏 …...

无人机(Unmanned Aerial Vehicle, UAV)路径规划介绍

无人机&#xff08;Unmanned Aerial Vehicle, UAV&#xff09;是无人驾驶飞行器的简称。凭借其体积小巧、操作简便、生存能力强等诸多优势&#xff0c;无人机在军事、电力巡检、航空航天与科学研究等诸多领域得到了广泛应用。在执行任务时&#xff0c;无人机可搭载多种传感器设…...

python爬虫入门(实践)

python爬虫入门&#xff08;实践&#xff09; 一、对目标网站进行分析 二、博客爬取 获取博客所有h2标题的路由 确定目标&#xff0c;查看源码 代码实现 """ 获取博客所有h2标题的路由 """url "http://www.crazyant.net"import re…...

于灵动的变量变幻间:函数与计算逻辑的浪漫交织(下)

大家好啊&#xff0c;我是小象٩(๑ω๑)۶ 我的博客&#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家&#xff0c;希望能够和大家一起交流学习&#xff0c;共同进步。 这一节我们主要来学习单个函数的声明与定义&#xff0c;static和extern… 这里写目录标题 一、单个函数…...

python实现pdf转word和excel

一、引言   在办公中&#xff0c;我们经常遇收到pdf文件格式&#xff0c;因为pdf格式文件不易修改&#xff0c;当我们需要编辑这些pdf文件时&#xff0c;经常需要开通会员或收费功能才能使用编辑功能。今天&#xff0c;我要和大家分享的&#xff0c;是如何使用python编程实现…...

Pandas使用笔记

个人学习笔记 日期转换 索引日期格式&#xff1a;2023-09-12 15:00:00 转换为&#xff1a;2023-09-12 import pandas as pd# 假设你的 DataFrame 名为 df&#xff0c;索引是 2023-09-12 15:00:00 # 这里创建一个示例 DataFrame 用于演示 data {value: [1, 2, 3]} index pd…...

高等数学学习笔记 ☞ 定积分与积分公式

1. 定积分的基本概念 1.1 定积分的定义 1. 定义&#xff1a;设函数在闭区间上有界。在闭区间上任意插入若干个分点&#xff0c;即&#xff0c; 此时每个小区间的长度记作(不一定是等分的)。然后在每个小区间上任意取&#xff0c;对应的函数值为。 为保证每段的值(即矩形面积)无…...

wow-agent---task2使用llama-index创建Agent

一&#xff1a;创造俩个函数&#xff0c;multiply和add作为fuction calling被LLM当做工具来使用&#xff0c;实现计算一个简单的计算题&#xff1a; from llama_index.llms.ollama import Ollama from llama_index.core.agent import ReActAgent from llama_index.core.tools …...

RabbitMQ实现延迟消息发送——实战篇

在项目中&#xff0c;我们经常需要使用消息队列来实现延迟任务&#xff0c;本篇文章就向各位介绍使用RabbitMQ如何实现延迟消息发送&#xff0c;由于是实战篇&#xff0c;所以不会讲太多理论的知识&#xff0c;还不太理解的可以先看看MQ的延迟消息的一个实现原理再来看这篇文章…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...