逻辑回归

news2024/11/25 4:33:02

逻辑回归

在分类问题中,要预测的变量y为离散值(y=0~1),逻辑回归模型的输出变量范围始终在 0 和 1 之间。

训练集为
{ ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , . . . , ( x ( m ) , y ( m ) ) } \{(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(m)},y^{(m)})\} {(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))}
输入
x ∈ [ x 0 x 1 ⋮ x n ] 其中 x 0 = 1 , y ∈ { 0 , 1 } x \in \left[ \begin{matrix} x_0 \\ x_1 \\ \vdots \\ x_n \\ \end{matrix} \right] 其中x_0=1,y \in \{0,1\} x x0x1xn 其中x0=1,y{0,1}
逻辑回归模型的假设是:
h θ ( x ) = g ( θ T X ) h_\theta(x)=g(\theta^{\mathrm T}X) hθ(x)=g(θTX)
X X X为特征变量, g ( . ) g(.) g(.)为逻辑函数
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+ez1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZEzwMmHR-1677396732146)(C:\Users\20491\AppData\Roaming\Typora\typora-user-images\image-20230223113840999.png)]

如果对于逻辑回归沿用线性回归的代价函数,此时的代价函数是非凸函数,不利于找局部最优值,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kpT45RTi-1677396732147)(C:\Users\20491\AppData\Roaming\Typora\typora-user-images\image-20230223143832677.png)]

逻辑回归的代价函数为:
J ( θ ) = 1 m ∑ i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) ) J(\theta)=\frac{1}{m}\sum^m_{i=1}{Cost(h_{\theta}(x^{(i)}),y^{(i)})} J(θ)=m1i=1mCost(hθ(x(i)),y(i))

C o s t ( h θ ( x ) , y ) = { − l o g ( h θ ( x ) ) , i f y = 1 − l o g ( 1 − h θ ( x ) ) , i f y = 0 Cost(h_{\theta}(x),y)=\left\{ \begin{matrix} -log(h_{\theta}(x)) ,if\quad y=1\\ -log(1-h_{\theta}(x)) ,if\quad y=0 \end{matrix} \right. Cost(hθ(x),y)={log(hθ(x)),ify=1log(1hθ(x)),ify=0

C o s t ( h θ ( x ) , y ) = − y ⋅ l o g ( h θ ( x ) ) − ( 1 − y ) ⋅ l o g ( 1 − h θ ( x ) ) Cost(h_{\theta}(x),y)=-y\cdot log(h_{\theta}(x))-(1-y)\cdot log(1-h_{\theta}(x)) Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))

当实际的 𝑦 = 1 且 h θ ( 𝑥 ) ℎ_{\theta}(𝑥) hθ(x)也为 1 时,误差为 0,

当 𝑦 = 1 但 h θ ( 𝑥 ) ℎ_{\theta}(𝑥) hθ(x)不为 1 时,误差随着 h θ ( 𝑥 ) ℎ_{\theta}(𝑥) hθ(x)变小而变大;

当实际的 𝑦 = 0 且 h θ ( 𝑥 ) ℎ_{\theta}(𝑥) hθ(x)也为 0 时,误差为 0,

当𝑦 = 0 但 h θ ( 𝑥 ) ℎ_{\theta}(𝑥) hθ(x)不为 0 时误差随着 h θ ( 𝑥 ) ℎ_{\theta}(𝑥) hθ(x)的变大而变大。

利用梯度下降算法
θ j : = θ j − α ∂ ∂ θ j J ( θ ) \theta_{j}:=\theta_{j}-\alpha\frac{\partial }{\partial \theta_{j}}J(\theta) θj:=θjαθjJ(θ)
代价函数的导数为
∂ ∂ θ j J ( θ ) = 1 m ∑ i = 1 m [ h θ ( x ( i ) ) − y ( i ) ] x j ( i ) \frac{\partial }{\partial \theta_{j}}J(\theta)=\frac{1}{m}\sum_{i=1}^{m}{[h_{\theta}(x^{(i)})-y^{(i)}]}x_j^{(i)} θjJ(θ)=m1i=1m[hθ(x(i))y(i)]xj(i)
则最终结果为(可同时更新所有的 θ \theta θ
θ j : = θ j − α 1 m ∑ i = 1 m [ h θ ( x ( i ) ) − y ( i ) ] x j ( i ) \theta_{j}:=\theta_{j}-\alpha\frac{1}{m}\sum_{i=1}^{m}{[h_{\theta}(x^{(i)})-y^{(i)}]}x_j^{(i)} θj:=θjαm1i=1m[hθ(x(i))y(i)]xj(i)
此时的梯度函数跟线性回归不太相同,因为 h θ ( x ) h_\theta(x) hθ(x)不同。

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

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

相关文章

地址,指针,指针变量是什么?他们的区别?符号(*)在不同位置的解释?

指针是C语言中的一个重要概念,也是C语言的一个重要特色;使用指针,可以使程序简洁、紧凑、高效。不掌握指针,就没有掌握C语言的精华。 目录 一、定义 1.1地址 1.2指针 1.3指针变量 1.4指针和指针变量的区别 二、使用指针变量…

C#关于HWindowControl实现一些便捷功能——(缩放与拖动图像)

C#关于HWindowControl实现一些便捷功能——(缩放与拖动图像)一、关于Hwindow窗体显示的part二、以鼠标为中心的缩放三、以鼠标拖动移动图片一、关于Hwindow窗体显示的part 首先 HWindowControl 控件的尺寸是固定的,当我们在这个固定的尺寸中…

C++类和对象:构造函数和析构函数

目录 一. 类的六个默认成员函数 二. 构造函数 2.1 什么是构造函数 2.2 编译器自动生成的默认构造函数 2.3 构造函数的特性总结 三. 析构函数 3.1 什么是析构函数 3.2 编译器自动生成的析构函数 3.3 析构函数的特性总结 一. 类的六个默认成员函数 对于任意一个C类&…

零基础如何入门网络安全(黑客)

我经常会看到这一类的问题: 学习XXX知识没效果;学习XXX技能没方向;学习XXX没办法入门; 给大家一个忠告,如果你完全没有基础的话,前期最好不要盲目去找资料学习,因为大部分人把资料收集好之后&a…

三天吃透Java虚拟机面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…

趣味数学题存疑待证1

原文出自:球面上随机 N 个点在同一个半球上的概率 要求任意N个点,全在同一个半球上的概率,我们需要构造使得分母为有限的样本集合,分子则为有N个点在同一半球的情况集 首先对任意N个点取其对称点使得可划分点为2N,在…

【数据库】第七章 数据库设计

第七章数据库设计 数据库设计概述 数据库设计的基本步骤 需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护 需求分析 收集需求,理解需求 收集各个角色的需求 概念数据库设计 建立概念模型 ,E-R图/IDEF1x图 消除冲突&…

【JDK8新特性之日期时间API-案例实操】

一.JDK8新特性之日期时间API-案例实操 之前我们学习了Stream流、Lambda表达式以及方法引用等相关的内容,如果想学习的同学可以看一下之前的文章,接下来我们一起学习一下关于JDK8中新日期时间API的使用。 二.JDK中原始日期时间存在的问题 设计不合理&…

VC++随鼠标移动显示坐标和坐标映射模式学习

VC6,新建一个单文档工程; 把这两个加到视类头文件; CPoint m_ptOut; //用来保存鼠标坐标 CString strPosition; //用来保存输出的内容 视类CPP的构造函数中初始化, m_ptOut.x 0; m_ptOut.y 0; 用类向导为视类…

Boosting Crowd Counting via Multifaceted Attention之人群密度估计实践

这周闲来无事,看到一篇前不久刚发表的文章,是做密集人群密度估计的,这块我之前虽然也做过,但是主要是基于检测的方式实现的,这里提出来的方法还是比较有意思的,就拿来实践一下。论文在这里,感兴…

chatGPT模型原理

文章目录简介BertGPT 初代GPT-2GPT-3chatGPT开源ChatGPT简介 openai 的 GPT 大模型的发展历程。 Bert 2018年,自然语言处理 NLP 领域也步入了 LLM 时代,谷歌出品的 Bert 模型横空出世,碾压了以往的所有模型,直接在各种NLP的建模…

Java中的反射使用

1、获取Class对象的三种方式 1、对象调用Object类的getClass()方法(对象.getClass()) 2、调用类的class属性(类名.class) 3、调用Class类的静态方法(Class.forName(“包名.类名”))常用 Student类 package…

Xcode Developer Document 开发者文档

总目录 iOS开发笔记目录 从一无所知到入门 文章目录IntroDeveloper Documentation 打开方式菜单栏点击 | 快捷键方式另一种打开方式Intro 2016年我在学校学Java的时候,要查某个Java类/方法的用法还得自己手动下载一种.chm格式的开发文档文件&#xff0c…

python爬虫常见错误

python爬虫常见错误前言python常见错误1. AttributeError: WebDriver object has no attribute find_element_by_id1. 问题描述2. 解决办法2. selenium:DeprecationWarning: executable_path has been deprecated, please pass in1. 问题描述2. 解决办法3. 下载了包…

4、算法MATLAB---认识矩阵

认识矩阵1、矩阵定义和基本运算1.1 赋值运算符:1.2 等号运算符:1.3 空矩阵1.4 一行一列矩阵1.5 行矩阵(元素用空格或逗号分隔)1.6 列矩阵(分号表示换行)1.7 m行n列的矩阵:行值用逗号间隔&#x…

SPI总线设备驱动模型

SPI总线设备驱动模型 文章目录SPI总线设备驱动模型参考资料:一、平台总线设备驱动模型二、 数据结构2.1 SPI控制器数据结构2.2 SPI设备数据结构2.3 SPI设备驱动三、 SPI驱动框架3.1 SPI控制器驱动程序3.2 SPI设备驱动程序致谢参考资料: 内核头文件&…

角角的Qt自学日记:Qt的安装

目录 2. 打开下载器,输入账号和密码,然后单击下一步: 3. 分别单击2个单选框,其它不用管,直接单击下一步: 4. 先设置一下安装目录,因为现在Qt基本都好几个g,建议找个内存够的盘。然…

尝试用程序计算Π(3.141592653......)

文章目录1. π\piπ2. 用微积分来计算π\piπ2.1 原理2.2 代码2.3 结果2.4 分析1. π\piπ π\piπ的重要性或者地位不用多说,有时候还是很好奇,精确地π\piπ值是怎么计算出来的。研究π\piπ的精确计算应该是很多数学家计算机科学家努力的方向&#xf…

【老卫搬砖】034期:HarmonyOS 3.1 Beta 1初体验,我在本地模拟器里面刷短视频

今天啊打开这个DevEco Studio的话,已经提示有3.1Beta1版本的一个更新啊。然后看一下它的一些特性。本文也演示了如何在本地模拟器里面运行HarmonyOS版短视频。 主要特性 新特性包括: Added support for Windows 11 64-bit and macOS 13.x OSs, as well…

vue中render函数的作用和参数(vue2中render函数用法)

render 函数是 Vue2.x 新增的一个函数、主要用来提升节点的性能,它是基于 JavaScript 计算。使用 Render 函数将 Template 里面的节点解析成虚拟的 Dom 。Vue 推荐在绝大多数情况下使用模板来创建 HTML。然而在一些场景中,需要 JavaScript 的完全编程能力…