机器学习—训练细节

news2024/11/25 12:00:35

首先回忆如何训练一个逻辑回归模型,建立一个Logistic回归模型是:你将指定如何计算输出给定输入特征x和参数w和b,在逻辑回归函数预测f(x)=g,它是应用于w*x+b的Z状结肠函数,所以如果z=np.dot(w,x)+b,f_x=1/(1+np.exp(-z)),所以第一步,指定什么是Logistic回归的输入输出函数,这取决于输入x和模型的参数,第二步是训练Logistic回归模型,是指定损失函数和成本函数,损失函数说的是逻辑回归x的输出f和地面真值标签,训练集中的实际标签是Y,那么在单个训练例子上的损失是loss=-y*np.log(f_x)-(1_y)*np.log(1-f_x),这是一个衡量Logistic回归在单个训练示例上做得有多好的指标,给定损失函数的这个定义,然后定义成本函数,成本函数是参数w和b的函数,这只是所有m训练的平均值,在M训练示例上计算损失函数的示例,从X1Y1到XmYm,我们使用的损失函数是学习算法输出的函数,地面真值标签是在单个训练示例上计算的,而成本函数J是在整个训练集上计算的损失函数的平均值,这是在建立逻辑回归时所做的第二步,逻辑回归模型的最后一步是使用算法,特别是梯度下降最小化WB的代价函数J,使其最小化为参数w和b的函数,用梯度下降法最小化成本j作为参数的函数,其中对w和b进行更新。所以有了这三个步骤步骤一:指定如何计算输出,给定输出x和参数,步骤二:成本细节,步骤三:最小化成本函数,同样的步骤是我们如何在张量流中训练神经网络时所用到的。

这三个步骤是如何训练神经网络的?

第一步是指定如何计算输出,给定输入x和参数w和b,使用代码指定神经网络,这实际上足以指定前向传播所需的计算或者对于推理算法

第二步是编译模型,告诉它你想用什么损失,下边是用来指定这个损失函数的代码,即二元交叉熵损失函数,一旦指定了这个损失,在这个训练集上取平均值,给出了神经网络的成本函数。

第三步是调用一个函数,试图最小化成本,作为神经网络参数的函数。

下边是详细的介绍

第一步指出如何计算输出,给定输入X和参数w和b,此代码段指定神经网络的整个体系结构,第一个隐藏层有25个隐藏单元,然后是15,然后是一个输出单元,我们用Z状结肠的激活值,所以基于这个代码段,我们也知道参数是什么,第一层w[1]b[1],第二层参数和第三层参数分别是w[2]b[2]w[3]b[3],所以这个代码段指定了神经网络的整个架构,因此告诉TensorFlow它所需要的一切,为了将输入X作为函数计算,为了计算输出f(X3),作为输入X的函数,这里的参数我们写了WlBl。

继续第二步的第二步,必须指定损失函数是什么,这也将定义我们用来训练神经网络的成本函数,对于mnist零,一位数分类问题是一个二进制分类问题,到目前为止,最常用的损失函数是这个,它实际上是和我们所得到的相同的损失函数,对于Logistic回归是L(f(x),y),Y是地面真相标签,有时也称为目标标签,x的y和f现在是神经网络的输出,所以用张量流的术语来说,这个损失函数就称为二元交叉熵,语法是让TensorFlow编译神经网络,使用此损失函数,TensorFlow知道你想要最小化的成本是平均值,取所有M训练样本损失的平均值,并优化这个成本函数,将导致神经网络与二进制分类数据拟合,如果你想解决回归问题而不是分类问题,可以告诉TendorFlow使用不同的损失函数编译您的模型,例如,如果你有回归问题,如果你想最小化误差的平方损失,这是误差损失的平方,如果你的学习算法用一个目标输出f(x),或者是Y的基本真值标签,这是误差平方的一半,然后可以在TensorFlow中使用这个损失函数,更直观的命名为均方误差损失函数,然后张量流会试图最小化均方误差,在这个表达式中,用大写的J(W,B)来表示成本函数,成本函数是神经网络中所有参数的函数,所以你可以把W,B看作包括整个神经网络中的所有的W,B参数,所以如果你优化关于w和b的成本函数,会试图优化关于神经网络中的所有参数以及上面的,f(x)写成神经网络的输出,也可以写成Fw,b(x),如果想强调神经网络的输出,作为x的函数,取决于神经网络的所有参数和所有层,这就是损失函数和成本函数,在张量流中,这被称为二元交叉熵损失函数,从统计学上看,上面的这个函数叫做交叉熵损失函数,这就是交叉熵的意思,二进制这个词只是强调或指出这是二进制分类问题,因为这个图像要么是零要么是一。

最后,要求TendorFlow最小化成本函数,你可能还记得第一道菜的梯度下降算法,如果你使用梯度下降来训练神经网络的参数,然后你将重复对每一层l和每一个单位j,根据Wj更新如下,关于wb的费用函数j的那个函数,对于参数b也是如此,在做了100次梯度下降之后,能得到一个很好的参数值,所以为了使用梯度下降,需要计算的关键是这些偏导数项,神经网络训练的标准是使用一种叫做反向传播的算法,为了计算这些偏导数项,TensorFlow可以完成这些事,它在这个名为FIT的函数中实现了反向传播,所以所要做的是调用模型点拟合x y是你的训练集,并告诉它这样做一百次迭代或一百个时代,张量流可以使用比梯度下降更快一点的算法。

​​​​​​​

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

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

相关文章

bert-base-uncased处理文档

1.安装必要的库 确保安装 transformers 和 torch 库: pip install transformers torch 2.加载本地 BERT 模型和分词器 由于已将模型和分词器下载到本地,可以指定文件路径加载。确保路径与本地文件结构一致。 from transformers import BertTokenizer…

Python http打印(http打印body)flask demo(http调试demo、http demo、http printer)

文章目录 代码解释 代码 # flask_http_printer.pyfrom flask import Flask, request, jsonify import jsonapp Flask(__name__)app.route(/printinfo, methods[POST]) def print_info():# 分隔符separator "-" * 60# 获取请求头headers request.headers# 获取 JS…

HTB:Perfection[WriteUP]

目录 连接至HTB服务器并启动靶机 1.What version of OpenSSH is running? 使用nmap对靶机TCP端口进行开放扫描 2.What programming language is the web application written in? 使用浏览器访问靶机80端口页面,并通过Wappalyzer查看页面脚本语言 3.Which e…

cursor+QT5.12.12

一、QT相关 1、环境设置相关 2、安装插件: 在CURSOR中安装以下插件: C/C插件:这是必需的,用于支持C/C语言开发。 Qt Configure:用于配置Qt环境。 Qt Tools:提供Qt相关的工具支持。 CMake:如果…

【Python】pandas 和numpy版本不兼容怎么办?遇到numpy.dtype size change的解决方法(解决方法篇)

前情简要: 之前我在写程序的时候,因为运行了别人写的程序文件,不知道为啥,直接报出了这个问题: ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 f…

HTB:Devel[WriteUP]

目录 连接至HTB服务器并启动靶机 1.What is the name of the service is running on TCP port 21 on the target machine? 使用nmap对靶机TCP端口进行开放扫描 2.Which basic FTP command can be used to upload a single file onto the server? 尝试匿名连接至靶机FTP服…

【大数据学习 | kafka高级部分】kafka的kraft集群

首先我们分析一下zookeeper在kafka中的作用 zookeeper可以实现controller的选举,并且记录topic和partition的元数据信息,帮助多个broker同步数据信息。 在新版本中的kraft模式中可以这个管理和选举可以用kafka自己完成,而不再依赖zookeeper。…

漫谈MCU优化:从硬件设计优化到可靠性挑战

1.关于MCU 微控制器(Microcontroller Unit, MCU),是以微处理器为基础,加上存储器以及计数器、I2C、UART等外设模块与接口电路整合的单芯片微型计算机。 ▲MCU实物图 MCU拥有性能好、可编程、灵活度高、功耗低等优点,…

Notepad++ 更改字体大小和颜色

前言 在长时间编程或文本编辑过程中,合适的字体大小和颜色可以显著提高工作效率和减少眼睛疲劳。Notepad 提供了丰富的自定义选项,让你可以根据个人喜好调整编辑器的外观。 步骤详解 1. 更改字体大小 打开 Notepad 启动 Notepad 编辑器。 进入设置菜…

用友U8接口-isHasCounterSignPiid错误

错误消息 调用U813的审批流方法报错,找不到方法:“Boolean UFIDA.U8.Audit.BusinessService.ManualAudit.isHasCounterSignPiid System.Web.Services.Protocols.SoapException:服务器无法处理请求。 ---> System.MissingMethodException: 找不到方法:“Boolean…

opencv_相关的问题

Debug模型下运行&#xff0c;在命令行窗口会有一些error相关的log信息。 通过调整log的等级&#xff0c;屏蔽掉INFO的log信息 #include <opencv2/core/utils/logger.hpp>cv::utils::logging::setLogLevel(cv::utils::logging::LOG_LEVEL_ERROR);

网页中的某个元素高度突然无法设置

做网页时本来一个div的高度好好的&#xff0c;结果代码打着打着突然发现有个div的高度变的很小&#xff0c;把我很多在这个div里的元素给搞的看不见了。 找了好久的原因最后发现是这个div的结束标签</div>不小心被我删了,之后把这个</div>给补上就好了。

【SSL-RL】自监督强化学习:引导式潜在预测表征 (BLR)算法

&#x1f4e2;本篇文章是博主强化学习&#xff08;RL&#xff09;领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅…

寻找存在的路径/寻找图中是否存在路径 C# 并查集

卡码网 107 与 力扣的1971 寻找图中是否存在路径 相似 感觉还是有点不熟悉得多练1 107. 寻找存在的路径 题目描述 给定一个包含 n 个节点的无向图中&#xff0c;节点编号从 1 到 n &#xff08;含 1 和 n &#xff09;。 你的任务是判断是否有一条从节点 source 出发到…

【数据集】【YOLO】【目标检测】安全帽识别数据集 22789 张,YOLO安全帽佩戴目标检测实战训练教程!

数据集介绍 【数据集】安全帽识别数据集 22789 张&#xff0c;目标检测&#xff0c;包含YOLO/VOC格式标注。数据集中包含2种分类&#xff1a;{0: head, 1: helmet}&#xff0c;分别是无安全帽和佩戴安全帽。数据集来自国内外图片网站和视频截图。检测场景为施工地工人安全帽佩…

洞察鸿蒙生态,把握开发新机遇

随着科技的不断进步&#xff0c;鸿蒙系统以其独特的分布式架构和跨设备协同能力&#xff0c;逐渐在智能手机、智能穿戴、车载、家居等多个领域崭露头角&#xff0c;与安卓、iOS形成三足鼎立之势。作为一名开发者&#xff0c;我对鸿蒙生态的认知和了解如下&#xff1a; 一、鸿蒙…

Node.js 全栈开发进阶篇

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;node.js篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来node.js篇专栏内容:node.js- 全栈开发进阶篇 前言 大家好&#xff0c;我是青山。在上一篇文章中&#xff0c;…

VS Code 插件 MySQL Shell for VS Code

https://marketplace.visualstudio.com/items?itemNameOracle.mysql-shell-for-vs-code

2024年云手机推荐榜单:高性能云手机推荐

无论是手游玩家、APP测试人员&#xff0c;还是数字营销工作者&#xff0c;云手机都为他们带来了极大的便利。本文将为大家推荐几款在市场上表现优异的云手机&#xff0c;希望这篇推荐指南可以帮助大家找到最适合自己的云手机&#xff01; 1. OgPhone云手机 OgPhone云手机是一款…

「QT」QT5程序设计专栏目录

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…