【人工智能】— 逻辑回归分类、对数几率、决策边界、似然估计、梯度下降

news2024/9/20 20:49:00

【人工智能】— 逻辑回归分类、对数几率、决策边界、似然估计、梯度下降

  • 逻辑回归分类
  • Logistic Regression Classification
  • Logistic Regression: Log Odds
  • Logistic Regression: Decision Boundary
  • Likelihood under the Logistic Model
  • Training the Logistic Model
  • Gradient Descent

逻辑回归分类

考虑二分类问题,其中每个样本由一个特征向量表示。

直观理解:将特征向量 x \text{x} x映射到一个实数 w T x \text{w}^T\text{x} wTx

  • 一个正的值 w T x \text{w}^T\text{x} wTx表示 x \text{x} x属于正类的可能性较高。
  • 一个负的值 w T x \text{w}^T\text{x} wTx表示 x \text{x} x属于负类的可能性较高。

概率解释:在这里插入图片描述

  • 对映射值应用一个变换函数,将其范围压缩在0和1之间。
  • 变换后的值表示属于正类的概率。
  • 变换后的值 w T x ∈ ( − ∞ , + ∞ ) \text{w}^T\text{x}\in(-∞,+∞) wTx(+)的范围是 [ 0 , 1 ] [0, 1] [0,1]

注意:在逻辑回归中通常使用的变换函数是sigmoid函数。

Logistic Regression Classification

条件概率:

  • 条件概率在分类任务中很重要。
  • 使用逻辑函数(也称为sigmoid函数)计算条件概率。

逻辑函数 / sigmoid函数:

  • 当 z 趋近正无穷时,逻辑函数趋近于1。

  • 当 z 趋近负无穷时,逻辑函数趋近于0。

  • 当 z = 0 时,逻辑函数等于0.5,表示两个类别的概率相等。
    在这里插入图片描述

  • 给定输入 x,正类的概率表示为:
    p ( y = 1   ∣   x ) = σ ( w T x ) = 1 1 + e − w T x = e w T x 1 + e w T x p(y = 1 \,|\, x) =\sigma(w^Tx) = \cfrac{1}{1 + e^{-w^T x}} = \cfrac{e^{w^T x}}{1 + e^{w^T x}} p(y=1x)=σ(wTx)=1+ewTx1=1+ewTxewTx

  • 给定输入 x,负类的概率表示为:
    p ( y = 0   ∣   x ) = 1 − p ( y = 1   ∣   x ) = 1 1 + e w T x p(y = 0 \,|\, x) = 1 - p(y = 1 \,|\, x) = \cfrac{1}{1 + e^{w^T x}} p(y=0x)=1p(y=1x)=1+ewTx1

Logistic Regression: Log Odds

  • 在逻辑回归中,我们使用log odds(对数几率)来建模。
  • 一个事件的几率(odds):该事件发生的概率与不发生的概率的比值, p 1 − p \cfrac{p}{1-p} 1pp
  • log odds / logit function: log ⁡ ( p 1 − p ) \log\left(\cfrac{p}{1-p}\right) log(1pp)
  • Log odds for logistic regression: log ⁡ ( p ( y = 1 ∣ x ) 1 − p ( y = 1 ∣ x ) ) = w T x \log\left(\cfrac{p(y=1|x)}{1-p(y=1|x)}\right) = w^Tx log(1p(y=1∣x)p(y=1∣x))=wTx

在逻辑回归中,我们通过学习适当的权重 w w w 来建立一个线性模型,该模型可以将输入特征 x x x 映射到对数几率(log odds)上。然后,通过对对数几率应用逻辑函数(sigmoid函数)来得到分类概率。

Logistic Regression: Decision Boundary

决策边界:在这里插入图片描述

  • 在逻辑回归中,决策边界是指分类模型对于输入特征的判断边界。
  • 对于线性逻辑回归模型,决策边界是线性的。
    在这里插入图片描述

决策规则:

  • 如果 p ^ ( y = 1 ∣ x ) ≥ 0.5 \hat{p}(y=1|x) \geq 0.5 p^(y=1∣x)0.5,则预测为正类。
  • 如果 p ^ ( y = 1 ∣ x ) < 0.5 \hat{p}(y=1|x) < 0.5 p^(y=1∣x)<0.5,则预测为负类。

对于线性逻辑回归,决策边界是一个线性函数,用于将特征空间划分为两个不同的类别区域。

Likelihood under the Logistic Model

在逻辑回归中,我们观察标签并测量它们在模型下的概率。在这里插入图片描述

给定参数 w w w,样本的条件对数似然函数为:
在这里插入图片描述

对数似然函数的表达式为:
在这里插入图片描述

其中, N N N 是样本数量, x i x_i xi 是第 i i i 个样本的特征向量, y i y_i yi 是第 i i i 个样本的标签。

通过最大化对数似然函数来估计参数 w w w,可以找到最佳的参数值,使得模型的概率预测与观察到的标签尽可能一致。

Training the Logistic Model

训练逻辑回归模型(即找到参数 w w w)可以通过最大化训练数据的条件对数似然函数或最小化损失函数来完成。在这里插入图片描述

最大化条件对数似然函数 or 最小化损失函数:
在这里插入图片描述

其中, N N N 是训练数据的样本数量, x i x_i xi 是第 i i i 个样本的特征向量, y i y_i yi 是第 i i i 个样本的标签。

通过最大化条件对数似然函数或最小化损失函数,我们可以找到最优的参数 w w w,使得模型能够最好地拟合训练数据,并能够准确地预测新的样本标签。常用的优化算法,如梯度下降法或牛顿法,可以用于求解最优参数。

Gradient Descent

梯度下降是一种常用的优化算法,用于求解最小化损失函数的问题。
在这里插入图片描述

梯度下降的步骤如下:

  1. 初始化参数 w w w 的值。
  2. 重复以下步骤直到满足停止条件:
    • 计算损失函数 J ( w ) J(w) J(w) 对参数 w w w 的梯度,即 ∂ J ( w ) ∂ w \cfrac{\partial J(w)}{\partial w} wJ(w)
    • 根据学习率 α \alpha α,更新参数 w w w 的值: w j : = w j − α ∂ J ( w ) ∂ w j w_j := w_j - \alpha \cfrac{\partial J(w)}{\partial w_j} wj:=wjαwjJ(w),对所有参数 w j w_j wj 同时进行更新。

梯度下降的目标是通过迭代更新参数,逐渐减小损失函数的值,直到达到局部最小值或收敛。

在逻辑回归中,我们可以使用梯度下降算法来最小化损失函数 J ( w ) J(w) J(w),从而找到最优的参数 w w w,使得模型能够最好地拟合训练数据。通过计算损失函数对参数的梯度,然后根据梯度和学习率更新参数,我们可以逐步调整参数的值,使得损失函数逐渐减小,从而达到最优参数的目标。
在这里插入图片描述

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

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

相关文章

使用vue脚手架搭建前端工程(附:搭配ElementUI来快速开发)

目录 一、搭建过程 1. 全局安装webpack&#xff08;打包工具&#xff09; 2. 全局安装vue脚手架 3. 初始化vue项目 4. vue项目目录的简单介绍 二、执行流程分析 三、自己造一个组件案例 四、ElementUI的使用 1. 环境的引入 2. 一个简单使用 3. 使用它来快速搭建后台管…

AI绘画Stable diffusion保姆级教程,看这一篇就够了「安装-配置-画图」

随着chat gpt爆火之后&#xff0c;越来越多的人开始关注人工智能&#xff0c;人工智能相关的其他应用如AI绘画&#xff0c;也再次得到人们的关注。AI绘画的确很上头&#xff0c;最近几天小编也研究一下&#xff0c;这里把研究的过程以及中间遇到的问题整理一下&#xff0c;我这…

吴恩达471机器学习入门课程3第1周——异常检测

异常检测 1 导包2 - 异常检测2.1 问题陈述2.2 数据集可视化您的数据 2.3 高斯分布2.2.1 估计高斯分布的参数2.2.2 选择阈值 ϵ \epsilon ϵ2.4 高维数据集异常检测 实现异常情况检测算法&#xff0c;并应用它来检测网络上的故障服务器。 1 导包 import numpy as np import ma…

管理类联考——英语二——知识篇——写作题目说明——B节

MBA&#xff0c;MPA&#xff0c;MPAcc管理类联考英语写作部分由A&#xff0c;B两节组成&#xff0c;主要考查考生的书面表达能力。共2题&#xff0c;25分。A节要求考生根据所给情景写出约100词(标点符号不计算在内)的应用文&#xff0c;包括私人和公务信函、通知、备忘录等。共…

【ESP8266 (12F)】硬件参数 以及 固件烧录

本文资料及工具地址&#xff1a;https://github.com/CQUPTLei/ESP8266 一、基本关系1.1 ESP8266 芯片 和 ESP 12F 模组1.2 乐鑫科技和安信可 二、ESP 8266开发板2.1 ESP 12F 产品规格2.2 ESP8266 开发板 三、固件与固件下载3.1 什么是固件3.2 固件和用户程序3.2 如何下载固件3.…

Linux下配置lunavim

前言 在lunavim官网中提供了安装脚本&#xff0c;一件安装即可&#xff0c;但是经常因为网络不稳定而导致安装失败。这里提供在Linux下进行git加速的几种方法&#xff0c;可以尝试下。如果问题没有解决&#xff0c;也不要担心&#xff0c;我们还提供了两种平替方法进行luanvim的…

linux实验五sed和awk

按要求写出正则表达式 显示/etc/passwd中以bash结尾的行;显示/var/log/secure文件中包含“Failed”或“FAILED”的行查找/etc/man_db.conf中含有“以m开头&#xff0c;并以n结尾的单词”模式的行&#xff1b;显示/etc/man_db.conf中&#xff0c;包含Linux绝对路径的行&#xff…

基础巩固(六)自定义View

文章目录 View绘制流程MeasureLayoutDraw 自定义View的实现的步骤步骤1&#xff1a;实现Measure、Layout、Draw流程自定义 MeasureViewGroup.LayoutParamsMeasureSpec 自定义Layout 自定义属性 绘制工具类Paint具体使用 PathCanvas View绘制流程 在绘制前&#xff0c;系统会有一…

Python恶搞代码

文章目录 前言Tkinter界面设计Threading多线程恶搞代码 尾声 前言 快来领取python无限弹窗恶搞代码吧&#xff01;每天写一些有趣的小程序&#xff0c;带你成为一个浪漫的程序员&#xff01; Tkinter界面设计 1. 创建一个简单的界面 Tkinter 是 Python 标准库中的一个 GUI&…

自然语言处理从入门到应用——动态词向量预训练:双向语言模型

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 对于给定的一段输入文本 w 1 w 2 ⋯ w n w_1w_2\cdots w_n w1​w2​⋯wn​&#xff0c;双向语言模型从前向&#xff08;从左到右&#xff09;和后向&#xff08;从右到左&#xff09;两个方向同时建立语言模型。这样做…

go 调试利器之pprof指标分析

文章目录 概要一、指标类型1.1、堆栈指标1.2、CPU指标分析1.3、http-pprof 二、go tool pprof2.1、可视化2.2、CPU火焰图 概要 Go语言原生支持对于程序运行时重要指标或特征进行分析。pprof是其中一种重要的工具&#xff0c;其不仅可以分析程序运行时的错误&#xff08;内存泄…

ChatGPT 之 LangChain的文本切割方法对比

本文来自http://blog.csdn.net/hellogv/ &#xff0c;引用必须注明出处&#xff01; ChatGPT面向对话格式的文本理解很好&#xff0c;但如果要把网络上的文章让ChatGPT直接分析则会有格式的问题。文本清洗是个大课题&#xff0c;讲起来需要很多篇幅&#xff0c;优化起来前路漫…

使用arduino IDE开发ESP8266NodeMCU连接DHT11实现温湿度检测并上传onenet官网

前言&#xff1a; 本篇博客记录一下以arduino IDE来开发一下ESP8266NodeMCU&#xff0c;实现用DHT11进行温湿度检测&#xff0c;并且上传新版的onenet官网&#xff1b;我在实现这个小项目的时候&#xff0c;发现网上资料有关onenet的资料都是旧版的&#xff0c;这就有点难受了&…

[MAUI]弧形进度条与弧形滑块的交互实现

文章目录 弧形基类定义绘制弧 弧形进度条(ProgressBar)添加动画宽度补偿文本 弧形滑块(Slider)创建控制柄拖动事件处理 项目地址 进度条&#xff08;ProgressBar&#xff09;用于展示任务的进度&#xff0c;告知用户当前状态和预期&#xff1b; 滑块&#xff08;Slider&#xf…

本地安装部署运行 ChatGLM-6B 的常见问题解答以及后续优化

报错 No module named ‘transformers_modules.THUDM/chatglm-6b’ 报错本身的意思是&#xff0c;没有在指定的路径THUDM/chatglm-6b找到推理用模型 一般常见于自己手动下载模型&#xff0c;而不是通过下边这些文件直接启动&#xff0c;自动下载的情况 你需要修改web_demo.py&…

分层测试终究是大梦一场空?

分层测试分了个寂寞&#xff1f; 分层测试这个风吹了好多年&#xff0c;不分层都不好意思说自己是专业测试。各互联网公司更是对此乐此不疲&#xff0c;测试架构、测试平台&#xff0c;搞了一套又一套&#xff0c;然而。。。 理想总是丰满&#xff0c;现实总是骨干&#xff0…

第十三章 反射操作相关函数

1. 【检测对象是否可被调用】callable()函数 语法参考 callable函数的语法格式如下&#xff1a; callable(object)参数说明&#xff1a; object&#xff1a;对象&#xff1b; 返回值&#xff1a;如果对象可调用返回 True&#xff0c;否则返回 False。 说明&#xff1a;对于…

Python 中print 和return 的区别,你了解吗?

1、print() print()函数的作用是输出数据到控制台,就是打印在你能看到的界面上。 2、return return语句[表达式]退出函数&#xff0c;选择性地向调用方返回一个表达式。不带参数值的return语句返回None。 return作为脚本单独运行时则需要print函数才能显示&#xff0c;但是…

【id:17】【1分】A. DS顺序表--类实现

题目描述 用C语言和类实现顺序表 属性包括&#xff1a;数组、实际长度、最大长度&#xff08;设定为1000&#xff09; 操作包括&#xff1a;创建、插入、删除、查找 类定义参考 输入 第1行先输入n表示有n个数据&#xff0c;即n是实际长度&#xff1b;接着输入n个数据 第2行输…

c语言项目——三子棋小游戏(带详细讲解解析)

1.三子棋是什么&#xff1f; 三子棋是一种民间传统游戏&#xff0c;又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏分为双方对战&#xff0c;双方依次在9宫格棋盘上摆放棋子&#xff0c;率先将自己的三个棋子走成一条线就视为胜利&#xff0c;而对方就算输了&#xff0c;但是…