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

机器学习第7天:逻辑回归

文章目录

介绍

概率计算

逻辑回归的损失函数

单个实例的成本函数

整个训练集的成本函数

鸢尾花数据集上的逻辑回归

Softmax回归

Softmax回归数学公式

Softmax回归损失函数

调用代码

参数说明

结语


介绍

作用:使用回归算法进行分类任务

思想:将回归值转为概率值,然后找到一个适当的数值,当概率大于这个值时,归为一类,当小于这个值时,归为另一类


概率计算

p=\sigma (x^{T}w)

函数的输入值为特征的加权和 x^{T}w

\sigma是sigmoid函数,公式为

\sigma(t) =\frac{1}{1+e^{(-t)}}

函数图像为

可见它输出一个0-1的值,我们可以将这个值当作概率 

则我们可以通过这个概率来分类,设定一个值,在这个值的两端进行分类


逻辑回归的损失函数

单个实例的成本函数

当p>=0.5时

c(w)=-log(p)

当p<0.5时

c(w)=-log(1-p)


整个训练集的成本函数

J(w)=\frac{1}{m}\sum_{i=1}^{m}[y^{i}log(p^{i})+(1-y^{i})log(1-p^{i})]

这个损失函数也是一个凸函数,可以使用梯度下降法使损失最小化


鸢尾花数据集上的逻辑回归

鸢尾花数据集是机器学习中一个经典的数据集,它有花瓣和花萼的长和宽,任务是用它们来判断鸢尾花的种类

看代码和效果

from sklearn import datasets
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt
import numpy as npiris = datasets.load_iris()x = iris["data"][:, 3:]
y = (iris["target"] == 2)model = LogisticRegression()
model.fit(x, y)x_new = np.linspace(0, 3, 1000).reshape(-1, 1)
y_proba = model.predict_proba(x_new)
plt.plot(x_new, y_proba[:, 1], "g-", label="Iris virginica")
plt.plot(x_new, y_proba[:, 0], "b--", label="Not Iris virginica")plt.xlabel("Petal width")
plt.ylabel("probability")plt.legend()
plt.show()

可以看见,当花瓣长度变化的时候,两种花种类的概率随之变化

简单介绍一下新的代码,predict.proba方法返回样本为可能的两种花的概率。


Softmax回归

上述方法主要用于二分类任务,我们再来看一种多分类方法,Softmax回归


Softmax回归数学公式

Softmax(s_{i})=\frac{e^{s_{i}}}{\sum_{j=1}^{n}e^{s_{j}}}

Softmax函数也叫指数归一化函数,它对x进行指数处理再进行归一化得出一个概率

这个函数的自变量为一个分数s,这个s由我们的数据的转置矩阵与一个参数相乘得来

s = x^{T}\theta

对于不同的类,参数\theta都不相同,模型训练的任务就是拟合这个参数


Softmax回归损失函数

L = -\frac{1}{m}\sum_{i=1}^{m}\sum_{K}^{k=1}y_{k}^{i}log(p_{k}^{i})

当k=2时(二分类),此成本函数等于sigmoid逻辑回归的成本函数


调用代码

model = LogisticRegression(multi_class="multinomial", solver="lbfgs", C=10)
model.fit(x, y)

参数说明

multi_class="multinomial": 表示采用多类别分类,即多类别的逻辑回归问题,与二元逻辑回归不同。

solver="lbfgs": 表示使用LBFGS(Limited-memory Broyden–Fletcher–Goldfarb–Shanno)优化算法进行求解。

C=10: 表示正则化参数,控制模型的正则化强度,C值越小,正则化强度越高。


结语

逻辑回归是一种简单的分类方法,二分类任务就用第一种方法,多分类任务就用第二种方法

相关文章:

机器学习第7天:逻辑回归

文章目录 介绍 概率计算 逻辑回归的损失函数 单个实例的成本函数 整个训练集的成本函数 鸢尾花数据集上的逻辑回归 Softmax回归 Softmax回归数学公式 Softmax回归损失函数 调用代码 参数说明 结语 介绍 作用&#xff1a;使用回归算法进行分类任务 思想&#xff1a;…...

努力奋斗,遇上对的人

...

基于单片机音乐弹奏播放DS1302万年历显示及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、DS1302计时显示年月日时分秒。 3、按键可以弹奏以及播放音乐&#xff0c;内置16首音乐。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /时钟显示**/ void init_1602_ds1302() { write…...

ceph学习笔记

ceph ceph osd lspoolsrbd ls -p testpool#查看 ceph 集群中有多少个 pool,并且每个 pool 容量及利 用情况 rados dfceph -sceph osd tree ceph dfceph versionsceph osd pool lsceph osd crush rule dumpceph auth print-key client.adminceph orch host lsceph crash lsceph…...

SQLSERVER 遍历循环的两种方式很详细有源码(2)

2.游标循环 Create table WS_Student ( [Id] int primary key not null, [My_Cocode] [int], [My_SCocode] [int], [userId] [bigint], [SetCName] [varchar](50) NULL, [SetEName] [varchar](50) NULL, [SetPcode] [varchar](50) NULL, [Se…...

flutter背景图片设置

本地图片设置 1、在配置文件pubspec.yaml中&#xff0c;设置以下代码 assets:- assets/- assets/test/2、如果目录中没有assets文件夹&#xff0c;则创建一个文件夹&#xff0c;并且取名为assets&#xff0c;在此文件夹中存放图片资源即可&#xff0c;如果想分文件夹管理&…...

【运维 监控】Grafana + Prometheus,监控Linux

安装和配置Grafana与Prometheus需要一些步骤&#xff0c;下面是一个简单的指南&#xff1a; 安装 Prometheus&#xff1a; 使用包管理器安装 Prometheus。在 Debian/Ubuntu 上&#xff0c;可以使用以下命令&#xff1a; sudo apt-get update sudo apt-get install prometheus在…...

Sentinel底层原理(下)

1、概述 Sentinel的核心原理&#xff0c;也就是前面提到暗流涌动的SphU.entry(…)这行代码背后的逻辑。 Sentinel会为每个资源创建一个处理链条&#xff0c;就是一个责任链&#xff0c;第一次访问这个资源的时候创建&#xff0c;之后就一直复用&#xff0c;所以这个处理链条每…...

竞赛选题 疫情数据分析与3D可视化 - python 大数据

文章目录 0 前言1 课题背景2 实现效果3 设计原理4 部分代码5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 大数据全国疫情数据分析与3D可视化 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff0…...

macos 配置ndk环境

选择Android Studio下默认的ndk环境 mac电脑的ndk默认路径一般是 /Users/user_name/Library/Android/sdk/ndk/version_code 其中user_name为自己电脑的用户名&#xff0c;version_code为自己ndk安装的版本号&#xff0c;比如我这里电脑的ndk路径就是 /Users/zhangsan/Libra…...

【linux】进行间通信——共享内存+消息队列+信号量

共享内存消息队列信号量 1.共享内存1.1共享内存的原理1.2共享内存的概念1.3接口的认识1.4实操comm.hppservice.cc &#xff08;写&#xff09;clint.cc &#xff08;读&#xff09; 1.5共享内存的总结1.6共享内存的内核结构 2.消息队列2.1原理2.2接口 3.信号量3.1信号量是什么3…...

PlantUML基础使用教程

环境搭建 IDEA插件下载 打开IEDA系列IDE&#xff0c;从FIle–>Settings–>Plugins–>Marketplace 进入到插件下载界面&#xff0c;搜索PlantUML&#xff0c;安装PlantUML Integration和PlantUML Parser两个插件&#xff0c;并重启IDE 安装和配置Graphviz 进入官网…...

Redis:新的3种数据类型Bitmaps、HyperLoglog、Geographic

目录 Bitmaps简介常用命令bitmaps与set比较 HyperLoglog简介命令 Geographic简介命令 Bitmaps 简介 位操作字符串。 现代计算机使用二进制&#xff08;位&#xff09;作为信息的基本单位&#xff0c;1个字节等于8位&#xff0c;例如“abc”字符串是有3个字节组成&#xff0c…...

promise时效架构升级方案的实施及落地 | 京东物流技术团队

一、项目背景 为什么需要架构升级 promise时效包含两个子系统&#xff1a;内核时效计算系统&#xff08;系统核心是时效计算&#xff09;和组件化时效系统&#xff08;系统核心是复杂业务处理以及多种时效业务聚合&#xff0c;承接结算下单黄金流程流量&#xff09;&#xff…...

es的使用方法以及概念

Elasticsearch&#xff08;简称为ES&#xff09;是一个开源的搜索引擎&#xff0c;它构建在Lucene搜索引擎之上。它提供了一个分布式、多租户的全文搜索引擎&#xff0c;具有强大的实时分析能力。以下是关于Elasticsearch的一些基本概念和使用方法&#xff1a; 基本概念&#…...

WPF xaml Command用法介绍

WPF (Windows Presentation Foundation) 中的命令设计模式是一种用于分离用户界面逻辑和业务逻辑的方法。在WPF中&#xff0c;这种模式通过命令接口&#xff08;如 ICommand&#xff09;实现&#xff0c;使得用户界面组件&#xff08;如按钮、菜单项等&#xff09;可以触发不直…...

微信小程序动态生成表单来啦!你再也不需要手写表单了!

dc-vant-form 由于我们在小程序上涉及到数据采集业务&#xff0c;需要经常使用表单&#xff0c;微信小程序的表单使用起来非常麻烦&#xff0c;数据和表单是分离的&#xff0c;每个输入框都需要做数据处理才能实现响应式数据&#xff0c;所以我开发了dc-vant-form&#xff0c;…...

顺序表(数据结构与算法)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ &#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1…...

【大连民族大学C语言CG题库练习题】——判断一个矩阵是另一个矩阵的子矩阵

【问题描述】 从标准输入中输入一个N&#xff08;N<9&#xff09;阶矩阵和一个M&#xff08;M<N&#xff09;阶矩阵&#xff0c;判断矩阵M是否是N的子矩阵&#xff0c;若是则输出M在N中的起始位置&#xff0c;若不是则输出-1。若矩阵M能与N中某一区域完全相等&#xff0…...

C#WPF控制模板实例

一、控制模板 ControlTemplate(控件模板)不仅是用于来定义控件的外观、样式, 还可通过控件模板的触发器(ControlTemplate.Triggers)修改控件的行为、响应动画等。 控件模板定义控件的视觉外观,所有的 UI 元素都具有某种外观和行为,例如,Button 具有外观和行为。单击事件或…...

实战演练:基于快马平台生成学生成绩排名系统,掌握排序算法应用

最近在做一个学生成绩管理系统的实战项目&#xff0c;其中排序功能是核心模块。通过这个项目&#xff0c;我深刻体会到排序算法在实际应用中的重要性。下面分享一下我的实现思路和经验总结。 学生类设计 首先需要定义一个学生类&#xff0c;包含学号、姓名、各科成绩和总成绩等…...

船舶水动力学与运动控制技术指南:从理论建模到工程实践

船舶水动力学与运动控制技术指南&#xff1a;从理论建模到工程实践 【免费下载链接】FossenHandbook Handbook of Marine Craft Hydrodynamics and Motion Control is an extensive study of the latest research in marine craft hydrodynamics, guidance, navigation, and co…...

DanKoe 视频笔记:人生经验课:给18岁自己的信

在本节课中&#xff0c;我们将学习一位28岁人士回顾过去&#xff0c;总结出的核心人生经验。这些经验旨在帮助年轻人&#xff0c;特别是那些感到迷茫、渴望超越平凡生活的人&#xff0c;建立自主性、明确目标并采取有效行动。我们将把这些经验整理成一套清晰的教程&#xff0c;…...

Wan2.2-I2V-A14B实战案例:地方政府生成‘乡村振兴’政策解读动画短视频系列

Wan2.2-I2V-A14B实战案例&#xff1a;地方政府生成乡村振兴政策解读动画短视频系列 1. 项目背景与需求分析 近年来&#xff0c;随着数字政务的快速发展&#xff0c;各级地方政府越来越重视利用新媒体技术进行政策宣传。某地方政府计划开展"乡村振兴"系列政策解读工…...

Pi0具身智能v1快速部署指南:一键启动交互测试页面

Pi0具身智能v1快速部署指南&#xff1a;一键启动交互测试页面 1. 环境准备与镜像部署 1.1 选择合适的基础环境 在开始部署Pi0具身智能v1之前&#xff0c;请确保您的平台满足以下基本要求&#xff1a; 硬件配置&#xff1a;建议至少16GB显存的GPU&#xff08;如NVIDIA RTX 3…...

BEYOND REALITY Z-Image避坑指南:解决生成图片模糊、全黑的常见问题

BEYOND REALITY Z-Image避坑指南&#xff1a;解决生成图片模糊、全黑的常见问题 1. 为什么你的Z-Image生成效果不理想&#xff1f; 当你第一次使用BEYOND REALITY Z-Image时&#xff0c;可能会遇到这样的困扰&#xff1a;明明输入了详细的提示词&#xff0c;生成的图片却要么…...

TPAMI 2026 | 跨十大数据集验证,PoundNet重新审视AI图像检测范式

随着 AI 生成图像技术快速演进&#xff0c;伪造内容在网络传播风险持续上升&#xff0c;高鲁棒性检测技术因此成为学界与产业界关注的关键问题。然而&#xff0c;现有不少方法过于追求单一数据集上的短期收益&#xff0c;往往仅围绕“真/假”二分类目标对大规模预训练模型进行专…...

LabVIEW 2018+ 也能玩转OpenCV了?手把手教你用秣厉科技工具包实现摄像头人脸识别

LabVIEW与OpenCV的跨界融合&#xff1a;零代码实现工业级视觉检测方案 当图形化编程遇上计算机视觉&#xff0c;会碰撞出怎样的火花&#xff1f;对于习惯了LabVIEW数据流编程的工程师来说&#xff0c;OpenCV那些复杂的矩阵运算和算法实现往往令人望而生畏。而现在&#xff0c;…...

3大创新让OpenRocket成为开源工程工具的典范:从问题到实践的完整指南

3大创新让OpenRocket成为开源工程工具的典范&#xff1a;从问题到实践的完整指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket OpenRocket是一款基于Jav…...

驱动残留清理技术解析:Display Driver Uninstaller实战指南

驱动残留清理技术解析&#xff1a;Display Driver Uninstaller实战指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninsta…...