机器学习--逻辑回归

news2024/9/20 14:32:58

逻辑回归

前情提要:线性回归

关于分类 C l a s s i f i c a t i o n Classification Classification

  在逻辑回归中,我们只讨论 y ∈ { 0 , 1 } y\in\{0, 1\} y{0,1} 的情况。其中 1 1 1 表示 p o s i t i v e    c l a s s positive \; class positiveclass 0 0 0 表示 n e g a t i v e    c l a s s negative \; class negativeclass

对线性回归进行修改

  在线性回归中,我们有 h ( x ) = w T x h(x) = w^Tx h(x)=wTx(这里写的是增加了 x 0 ( i ) x^{(i)}_0 x0(i) w 0 w_0 w0 的),而在逻辑回归中,我们希望 h ( x ) ∈ [ 0 , 1 ] h(x) \in [0, 1] h(x)[0,1],而 h ( x ) h(x) h(x) 的值具体代表着 y = 1 y = 1 y=1 的概率,所以我们需要引入一个函数: s i g m o i d    f u n c t i o n sigmoid \; function sigmoidfunction,也叫 l o g i s t i c    f u n c t i o n logistic \; function logisticfunction

g ( t ) = 1 1 + e − t g(t) = \frac{1}{1 + e^{-t}} g(t)=1+et1

  图像长这样:

在这里插入图片描述

  我们可以看到,这个函数过点 ( 0 , 0.5 ) (0, 0.5) (0,0.5)

  我们考虑把 h ( x ) h(x) h(x) 改成这样:

h ( x ( i ) ) = g ( w T x ( i ) ) = P ( y = 1 ∣ x ; w ) h(x^{(i)}) = g(w^Tx^{(i)}) = P(y = 1 | x ; w) h(x(i))=g(wTx(i))=P(y=1∣x;w)

  如果我们考虑将概率超过 1 2 \frac 12 21 的归为 y = 1 y = 1 y=1 的一类,并把概率小于 1 2 \frac 12 21 的归为 y = 0 y = 0 y=0 的这一类的话,我们会发现一件事:

  1. h ( x ( i ) ) > 1 2 h(x^{(i)}) > \frac 12 h(x(i))>21 g ( w T x ( i ) ) > 1 2 g(w^Tx^{(i)}) > \frac12 g(wTx(i))>21 又因为 g ( t ) g(t) g(t) 单增且过 ( 0 , 1 2 ) (0, \frac 12) (0,21),所以此时 w T x ( i ) > 0 w^Tx^{(i)} > 0 wTx(i)>0
  2. h ( x ( i ) ) ≤ 1 2 h(x^{(i)}) \le \frac 12 h(x(i))21 g ( w T x ( i ) ) ≤ 1 2 g(w^Tx^{(i)}) \le \frac12 g(wTx(i))21 又因为 g ( t ) g(t) g(t) 单增且过 ( 0 , 1 2 ) (0, \frac 12) (0,21),所以此时 w T x ( i ) ≤ 0 w^Tx^{(i)} \le 0 wTx(i)0

  也就是说:

  1. y被判定为 1 1 1 w T x ( i ) > 0 w^Tx^{(i)} > 0 wTx(i)>0
  2. y被判定为 0 0 0 w T x ( i ) ≤ 0 w^Tx^{(i)} \le 0 wTx(i)0

  而在线性回归中 w T x ( i ) w^Tx^{(i)} wTx(i) 是表示我们拟合出来的那条直线(二维的情况下,一下解释也是二维的情况下,高维就类比就行了)。而并且上过高中的都知道, w T x ( i ) > 0 w^Tx^{(i)} > 0 wTx(i)>0 表示的是这条直线上方的半平面部分,而 w T x ( i ) ≤ 0 w^Tx^{(i)} \le 0 wTx(i)0 表示的是这条直线下方的半平面部分。

  也就是说,我们用 w T x ( i ) w^Tx^{(i)} wTx(i) 这条直线将平面分成了两部分,一部分中的点是 y = 1 y = 1 y=1 的点,另一部分是 y = 0 y = 0 y=0 的点。

在这里插入图片描述

构造 c o s t    f u n c t i o n cost \; function costfunction

  同样的,我们考虑和线性回归一样构造一个表示差异程度的函数,然后用 G D GD GD 最小化它就解决了,这里,我们有:

c o s t ( x , y ) = { − ln ⁡ ( h ( x ) ) i f      y = 1 − ln ⁡ ( 1 − h ( x ) ) i f      y = 0 cost(x, y) = \left\{ \begin{array}{} -\ln (h(x)) & if \;\; y = 1 \\ -\ln (1 - h(x)) & if \;\; y = 0 \end{array}\right. cost(x,y)={ln(h(x))ln(1h(x))ify=1ify=0

  也可以写成:

c o s t ( x , y ) = − [ y ln ⁡ h ( x ) + ( 1 − y ) ln ⁡ ( 1 − h ( x ) ) ] cost(x, y) = -\bigg[y\ln h(x) + (1 - y)\ln (1 - h(x))\bigg] cost(x,y)=[ylnh(x)+(1y)ln(1h(x))]

  我们来分类讨论一下:

  1. y = 1 y = 1 y=1 时, h ( x ) → 1 h(x) \rightarrow 1 h(x)1 时, c o s t cost cost 应该趋近于 0 0 0 h ( x ) → 0 h(x) \rightarrow 0 h(x)0 时, c o s t cost cost 应该很大。而 − ln ⁡ x -\ln x lnx 的图像刚好满足这个性质
  2. y = 0 y = 0 y=0 时, h ( x ) → 0 h(x) \rightarrow 0 h(x)0 时, c o s t cost cost 应该趋近于 0 0 0 h ( x ) → 1 h(x) \rightarrow 1 h(x)1 时, c o s t cost cost 应该很大。而 − ln ⁡ ( 1 − x ) -\ln (1-x) ln(1x) 的图像刚好满足这个性质

在这里插入图片描述

  然后我们就有我们的 c o s t    f u n c t i o n cost \; function costfunction

J ( w ) = − ∑ i = 1 m [ y ln ⁡ h ( x ) + ( 1 − y ) ln ⁡ ( 1 − h ( x ) ) ] J(w) = -\sum_{i = 1}^m \bigg[y\ln h(x) + (1 - y)\ln (1 - h(x))\bigg] J(w)=i=1m[ylnh(x)+(1y)ln(1h(x))]

  之后 g d gd gd 就搞定了

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

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

相关文章

无人机培训机构组装调试技术详解

一、基础知识学习 在进入无人机组装调试领域之前,扎实的基础知识是不可或缺的。学员需掌握以下内容: 1. 无人机基本原理:了解无人机的飞行原理,包括升力、推力、重力和阻力等基本物理概念,以及无人机的飞行控制系统&…

CSP-J 初中的数学知识要学完, CSP-S 肯定是要需高中的知识

学信奥赛好处很多,进则科技特长,退则数理化强。

【97】shell实现精确延时

#!/bin/bash#使用date精确延时的函数,参数是毫秒 function precise_sleep_ms() {local duration_ms$1# 将毫秒转换为秒local duration_sec$(echo "scale9; $duration_ms / 1000" | bc)duration_sec$(printf "%.3f" "$duration_sec")#…

JDBC API详解二

PreparedStatement 作用: 预编译SQL的执行,,预防SQL注入问题 SQL注入 通过操作输入来修改预先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法; SQL注入延时 需求,完成用户登录 select * fr…

04 奇偶分家

题目&#xff1a; 代码&#xff1a; #include<iostream> using namespace std; #include<stdlib.h> #include<stdio.h>int main() {int N;cin>>N;int jicount0,oucount0;for(int i0;i<N;i){int temp;cin>>temp;if(temp%20){oucount;}else if…

【python基础】简要wxPython

文章目录 wxPython程序主事件循环通俗解释在窗口中添加控件 wxPython程序 import wxapp wx.App() frm wx.Frame(None, title第一个wxPython程序, size(400, 300), pos(100, 100)) frm.Show() app.MainLoop()app.MainLoop() 让应用程序进入主事件循环中。事件循环是一种事件或…

计网简简单单复习一下

文章目录 基础体系结构(分层模型)为什么要分层?OSI 七层模型?每一层的作用?TCP/IP 四层模型是什么?每一层的作用是什么?五层体系结构以及对应的协议每一层常见协议有哪些?从输入 URL 到页面展示到底发生了什么?URI和URL的区别;forward和redirect的区别DNS作用是什么?D…

Find My外卖箱|苹果Find My技术与外卖箱结合,智能防丢,全球定位

外卖箱是外卖送餐时使用的具有保温广告功能的箱包&#xff0c;一般具有轻便易携&#xff0c;保温性好&#xff0c;耐用&#xff0c;安全&#xff0c;易固定在外送电动车上等特点。随着生活水平的提高和餐饮行业的飞跃&#xff0c;外卖作为餐饮行业一个新的利润增长点&#xff0…

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?idKS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的&#xff0c;这引发了人们的…

湖南岳阳农商行高管更迭背后:不良率居高,盈利压力不减

撰稿|芋圆 来源|贝多财经 2024年8月末&#xff0c;湖南岳阳农商行发布了2024年半年报&#xff0c;报告显示截至2024年6月末&#xff0c;湖南岳阳农商行资产规模累计231亿元&#xff0c;较2023年末增长1.34%&#xff1b;营业收入3.1亿元&#xff0c;同比增幅6.54%&#xff1b;…

上海亚商投顾:沪指续创阶段新低 两市成交不足5000亿元

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 大小指数昨日分化明显&#xff0c;沪指午后一度跌超1%&#xff0c;继续刷新阶段新低&#xff0c;创业板指则涨…

53 - I. 在排序数组中查找数字 I

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9853%20-%20I.%20%E5%9C%A8%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E6%9F%A5%E6%89%BE%E6%95%B0%E5%AD%97%20I/README.md 面试题 53 - I. 在排序数组中查找数字 …

28BYJ-48步进电机详解(五线四相 STM32)

目录 一、介绍 二、模块原理 1.工作原理介绍 2.ULN2003驱动模块原理图 3.引脚描述 三、程序设计 main.c文件 stepmotor.h文件 stepmotor.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 步进电机&#xff08;STEP MOTOR&#xff09;把电脉冲信号变换成角位移…

socket编程详解

目录 1.认识socket编程 网络通信的本质 什么是socket编程&#xff1f; 如何进行socket编程&#xff1f; 2.基于UDP的socket编程 服务器端程序编写步骤 1.创建socket 2.将本地信息和网络信息进行绑定 3.接收数据 4.发送数据 客户端程序编写步骤 1.创建socket 2.发送…

再次进阶 舞台王者 第八季完美童模全球赛品牌大使【韩嘉滢】赛场秀场超燃合集!

7月20-23日&#xff0c;2024第八季完美童模全球总决赛在青岛圆满落幕。在盛大的颁奖典礼上&#xff0c;一位才能出众的少女——韩嘉滢&#xff0c;迎来了她舞台生涯的璀璨时刻。 品牌大使——韩嘉滢&#xff0c;以璀璨童星之姿&#xff0c;优雅地踏上完美童模盛宴的绚丽舞台&am…

第二百二十七节 JPA教程 - JPA日期列定义示例

JPA教程 - JPA日期列定义示例 时间类型是可以在持久状态映射中使用的基于时间的类型集合。 支持的时间类型的列表包括三个java.sql类型&#xff0c;java.sql.Date java.sql.Time和java.sql.Timestamp&#xff0c;以及两个java.util类型&#xff0c;java.util.Date和java.util.…

一家公司给1000个AI代理接入了《我的世界》——他们居然建造了一个社会

当世界上最伟大的沙盒游戏与几乎无限的AI力量结合时会发生什么&#xff1f;你会得到Project Sid&#xff0c;这是前麻省理工学院教授和神经科学家罗伯特杨博士构想出的一个精彩实验。 这位优秀的教授和他在专注于构建最先进自主代理的初创公司Altera.ai的团队决定看看他们是否…

Windows操作系统sid系统唯一标识符查看和修改

1、sid介绍 sid 作为windows系统唯一的标识&#xff0c;对某些集群业务有依赖关系&#xff0c;如果重复可能导致集群部署异常。 如&#xff1a;域控AD 就依赖 sid 功能。 但是某个云主机或虚拟机使用同一个ghost进行操作系统部署&#xff0c;就可能会导致重复的情况&#xf…

【二叉树的性质与存储结构】

1.特殊的二叉树 1.1满二叉树 特点&#xff1a; 每一层上的结点数都是最大结点数(即每层都满)叶子结点全部在最底层满二叉树在同样深度的二叉树中结点个数最多满二叉树在同样深度的二又树中叶子结点个数最多 编号原则&#xff1a; 每一结点位置都有元素从根结点开始&#xf…

探索SVG的奥秘:Python中的svgwrite库

文章目录 探索SVG的奥秘&#xff1a;Python中的svgwrite库背景&#xff1a;为何选择svgwrite&#xff1f;什么是svgwrite&#xff1f;如何安装svgwrite&#xff1f;五个简单的库函数使用方法场景应用&#xff1a;svgwrite在实际中的使用常见问题与解决方案总结 探索SVG的奥秘&a…