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

吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.8-3.9

目录

  • 第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)
    • 第三周: 超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)
      • 3.8 Softmax 回归(Softmax regression)

第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)

第三周: 超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)

3.8 Softmax 回归(Softmax regression)

到目前为止,我们讲到过的分类的例子都使用了二分分类,这种分类只有两种可能的标记 0 或 1,这是一只猫或者不是一只猫,如果我们有多种可能的类型的话呢?有一种 logistic回归的一般形式,叫做 Softmax 回归,能让你在试图识别某一分类时做出预测,或者说是多种分类中的一个,不只是识别两个分类,我们来一起看一下。

在这里插入图片描述
假设你不单需要识别猫,而是想识别猫,狗和小鸡,我把猫加做类 1,狗为类 2,小鸡是类 3,如果不属于以上任何一类,就分到“其它”或者说“以上均不符合”这一类,我把它叫做类 0。这里显示的图片及其对应的分类就是一个例子,这幅图片上是一只小鸡,所以是类3,猫是类 1,狗是类 2,我猜这是一只考拉,所以以上均不符合,那就是类 0,下一个类 3,以此类推。我们将会用符号表示,我会用大写的C来表示你的输入会被分入的类别总个数,在这个例子中,我们有 4 种可能的类别,包括“其它”或“以上均不符合”这一类。当有 4 个分类时,就是 0、1、2、3。

在这里插入图片描述

在这个例子中,我们将建立一个神经网络,其输出层有 4 个,或者说C个输出单元,因此n,即输出层也就是L层的单元数量,等于 4,或者一般而言等于C。我们想要输出层单元的数字告诉我们这 4 种类型中每个的概率有多大,所以这里的第一个节点(最后输出的第 1个方格+圆圈)输出的应该是或者说我们希望它输出“其它”类的概率。在输入X的情况下,这个(最后输出的第 2 个方格+圆圈)会输出猫的概率。在输入X的情况下,这个会输出狗的概率(最后输出的第 3 个方格+圆圈)。在输入X的情况下,输出小鸡的概率(最后输出的第 4 个方格+圆圈),我把小鸡缩写为 bc(baby chick)。因此这里的 y ^ \hat{y} y^将是一个4 × 1维向量,因为它必须输出四个数字,给你这四种概率,因为它们加起来应该等于 1,输出中的四个数字加起来应该等于 1。

让你的网络做到这一点的标准模型要用到 Softmax 层,以及输出层来生成输出,让我把式子写下来,然后回过头来,就会对 Softmax 的作用有一点感觉了。

在这里插入图片描述

在神经网络的最后一层,你将会像往常一样计算各层的线性部分, z [ l ] z^{[l]} z[l]这是最后一层的z变量,记住这是大写L层,和往常一样,计算方法是 z [ l ] = W [ l ] a [ L − 1 ] + b [ l ] z^{[l]} = W^{[l]}a^{[L−1]} + b^{[l]} z[l]=W[l]a[L1]+b[l],算出了𝑧之后,你需要应用 Softmax 激活函数,这个激活函数对于 Softmax 层而言有些不同,它的作用是这样的。首先,我们要计算一个临时变量,我们把它叫做 t,它等于 e z [ l ] e ^{z^{[l]}} ez[l],这适用于每个元素,而这里的 z [ l ] z^{[l]} z[l],在我们的例子中, z [ l ] z^{[l]} z[l]是 4×1 的,四维向量 t = e z [ l ] t= e^{z^{[l]}} t=ez[l],这是对所有元素求幂,t也是一个 4×1 维向量,然后输出的 a [ l ] a^{[l]} a[l],基本上就是向量𝑡,但是会归一化,使和为 1。因此 a [ l ] = e z [ l ] ∑ i = 1 4 t i a^{[l]} =\frac{e^{z^{[l]}}}{\sum_{i=1}^4{t_i}} a[l]=i=14tiez[l],换句话说, a [ l ] a^{[l]} a[l]也是一个 4×1 维向量,而这个四维向量的第i个元素,我把它写下来, a i [ l ] = t i ∑ i = 1 4 t i a_i^{[l]} =\frac{t_i}{\sum_{i=1}^4{t_i}} ai[l]=i=14titi,以防这里的计算不够清晰易懂,我们马上会举个例子来详细解释。

我们来看一个例子,详细解释,假设你算出了 z [ l ] , z [ l ] z^{[l]},z^{[l]} z[l]z[l]是一个四维向量,假设为 z [ l ] = [ 5 2 − 1 3 ] z^{[l]} =\begin{bmatrix} 5\\2\\-1\\3 \end{bmatrix} z[l]= 5213 ,我们要做的就是用这个元素取幂方法来计算𝑡,所以 t = [ e 5 e 2 e − 1 e 3 ] t =\begin{bmatrix} e^5\\e^2\\e^{-1}\\e^3 \end{bmatrix} t= e5e2e1e3 ,如果你按一下计算器就会得到以下值 t = [ 148.4 7.4 0.4 20.1 ] t =\begin{bmatrix} 148.4\\7.4\\0.4\\20.1 \end{bmatrix} t= 148.47.40.420.1 ,我们从向量𝑡得到向量 a [ l ] a^{[l]} a[l]就只需要将这些项目归一化,使总和为 1。如果你把𝑡的元素都加起来,把这四个数字加起来,得到 176.3,最终 a [ l ] = t 176.3 a^{[l]}=\frac{t}{176.3} a[l]=176.3t

在这里插入图片描述

例如这里的第一个节点,它会输出 e 5 176.3 \frac{e^5}{176.3} 176.3e5= 0.842,这样说来,对于这张图片,如果这是你得到的𝑧值( [ 5 2 − 1 3 ] \begin{bmatrix} 5\\2\\-1\\3 \end{bmatrix} 5213 ),它是类 0 的概率就是 84.2%。下一个节点输出 e 2 176.3 \frac{e^2}{176.3} 176.3e2= 0.042,也就是 4.2%的几率。下一个是 e − 1 176.3 \frac{e^{-1}}{176.3} 176.3e1= 0.002。最后一个是 e 3 176.3 \frac{e^{3}}{176.3} 176.3e3= 0.114,也就是 11.4%的概率属于类 3,也就是小鸡组,对吧?这就是它属于类 0,类 1,类 2,类 3 的可能性。

在这里插入图片描述

神经网络的输出 a [ l ] a^{[l]} a[l],也就是 y ^ \hat{y} y^,是一个 4×1 维向量,这个 4×1 向量的元素就是我们算出来的这四个数字( [ 0.842 0.042 0.002 0.114 ] \begin{bmatrix} 0.842\\0.042\\0.002\\0.114 \end{bmatrix} 0.8420.0420.0020.114 ),所以这种算法通过向量 z [ l ] z^{[l]} z[l]计算出总和为 1 的四个概率。

如果我们总结一下从 z [ l ] z^{[l]} z[l] a [ l ] a^{[l]} a[l]的计算步骤,整个计算过程,从计算幂到得出临时变量𝑡,再归一化,我们可以将此概括为一个 Softmax 激活函数。设 a [ l ] = g [ l ] a^{[l]} = g^{[l]} a[l]=g[l]( z [ l ] z^{[l]} z[l]),这一激活函数的与众不同之处在于,这个激活函数𝑔 需要输入一个 4×1 维向量,然后输出一个 4×1 维向量。之前,我们的激活函数都是接受单行数值输入,例如 Sigmoid 和 ReLu 激活函数,输入一个实数,输出一个实数。Softmax 激活函数的特殊之处在于,因为需要将所有可能的输出归一化,就需要输入一个向量,最后输出一个向量。

那么 Softmax 分类器还可以代表其它的什么东西么?我来举几个例子,你有两个输入 x 1 x_1 x1 x 2 x_2 x2,它们直接输入到 Softmax 层,它有三四个或者更多的输出节点,输出 y ^ \hat{y} y^,我将向你展示一个没有隐藏层的神经网络,它所做的就是计算 z [ 1 ] = W [ 1 ] x + b [ 1 ] z^{[1]} = W^{[1]}x + b^{[1]} z[1]=W[1]x+b[1],而输出的出 a [ l ] a^{[l]} a[l],或者说 y ^ \hat{y} y^ a [ l ] = y = g ( z [ l ] ) a^{[l]} = y = g(z[l]) a[l]=y=g(z[l]),就是 z [ 1 ] z^{[1]} z[1]的 Softmax 激活函数,这个没有隐藏层的神经网络应该能让你对 Softmax 函数能够代表的东西有所了解。

在这里插入图片描述
这个例子中(左边图),原始输入只有 x 1 x_1 x1 x 2 x_2 x2,一个𝐶 = 3个输出分类的 Softmax 层能够代表这种类型的决策边界,请注意这是几条线性决策边界,但这使得它能够将数据分到 3个类别中,在这张图表中,我们所做的是选择这张图中显示的训练集,用数据的 3 种输出标签来训练 Softmax 分类器,图中的颜色显示了 Softmax 分类器的输出的阈值,输入的着色是基于三种输出中概率最高的那种。因此我们可以看到这是 logistic 回归的一般形式,有类似线性的决策边界,但有超过两个分类,分类不只有 0 和 1,而是可以是 0,1 或 2。

这是(中间图)另一个 Softmax 分类器可以代表的决策边界的例子,用有三个分类的数据集来训练,这里(右边图)还有一个。对吧,但是直觉告诉我们,任何两个分类之间的决策边界都是线性的,这就是为什么你看到,比如这里黄色和红色分类之间的决策边界是线性边界,紫色和红色之间的也是线性边界,紫色和黄色之间的也是线性决策边界,但它能用这些不同的线性函数来把空间分成三类。

在这里插入图片描述

我们来看一下更多分类的例子,这个例子中(左边图)𝐶 = 4,因此这个绿色分类和Softmax 仍旧可以代表多种分类之间的这些类型的线性决策边界。另一个例子(中间图)是𝐶 = 5类,最后一个例子(右边图)是𝐶 = 6,这显示了 Softmax 分类器在没有隐藏层的情况下能够做到的事情,当然更深的神经网络会有𝑥,然后是一些隐藏单元,以及更多隐藏单元等等,你就可以学习更复杂的非线性决策边界,来区分多种不同分类。

我希望你了解了神经网络中的 Softmax 层或者 Softmax 激活函数有什么作用,下一个视频中,我们来看一下你该怎样训练一个使用 Softmax 层的神经网络。

相关文章:

吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.8-3.9

目录 第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第三周: 超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter …...

SQL 语言:数据控制

文章目录 概述授权(GRANT)销权(REVOKE)总结 概述 SQL语言中的数据控制权限分配是数据库管理的重要组成部分,它涉及到如何合理地为用户分配对数据库资源的访问和使用权限。 权限类型:在SQL中,权限主要分为…...

『ZJUBCA Weekly Feed 07』MEV | AO超并行计算机 | Eigen layer AVS生态

一文读懂MEV:区块链的黑暗森林法则 01 💡TL;DR 这篇文章介绍了区块链中的最大可提取价值(MEV)概念,MEV 让矿工和验证者通过抢先交易、尾随交易和三明治攻击等手段获利,但也导致网络拥堵和交易费用增加。为了…...

正点原子延时函数delay_ms延时失效的原因

1、问题陈述 今天在测试小车程序的时候使用了如下代码,发现延时并没有达到期望的4s,而是仅仅延时了0.4s左右,本来以为少加了个0,最后在我多次测试下来,发现在延时大约超过2s的时候就会失效。 while(1){Set_Pwm(6000,60…...

MySQL 满足条件函数中使用查询最大值函数

在实际的数据库操作中,我们常常需要根据某些条件找到最大值并据此进行下一步的操作。例如,在一个包含订单信息的表中,可能需要找到特定客户的最大订单金额,并据此进行某些统计或决策。MySQL 提供了多种函数和查询方法,…...

Java | Leetcode Java题解之第101题对称二叉树

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode u, TreeNode v) {Queue<TreeNode> q new LinkedList<TreeNode>();q.offer(u);q.offer(v);while (!q.…...

【区块链】智能合约漏洞测试

打开Ganache vscode打开智能合约漏洞工程 合约内容 pragma solidity >0.8.3;contract EtherStore {mapping(address > uint) public balances;function deposit() public payable {balances[msg.sender] msg.value;emit Balance(balances[msg.sender]);}function with…...

大模型主流 RAG 框架TOP10

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 总结链接…...

第八次javaweb作业

我们小组课程设计的题目是&#xff1a;超市管理系统&#xff0c;我认领的模块是&#xff1a;商品信息管理 controller package com.example.supermarker.controller;import com.example.supermarker.pojo.MerchInfo; import com.example.supermarker.pojo.PageBean; import c…...

js积累四 (读json文件)

function ReadRadioJson() {var url "../radio.json" //json文件url&#xff0c;本地的就写本地的位置&#xff0c;如果是服务器的就写服务器的路径var request new XMLHttpRequest();request.open("get", url, false); //设置请求方法与路径request.sen…...

关于我转生从零开始学C++这件事:升级Lv.25

❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载&#xff0c;请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主&#xff0c;代码兴国&#xff01;❤❤❤ OK了老铁们&#xff0c;又是一个周末&#xff0c;大伟又来继续给大家更新我们的C的内容了。那么根据上一篇博…...

mysql中text,longtext,mediumtext区别

文章目录 一.概览二、字节限制不同三、I/O 不同四、行迁移不同 一.概览 在 MySQL 中&#xff0c;text、mediumtext 和 longtext 都是用来存储大量文本数据的数据类型。 TEXT&#xff1a;TEXT 数据类型可以用来存储最大长度为 65,535(2^16-1)个字符的文本数据。如果存储的数据…...

IP协议说明

文章目录 前言一、IP协议的简介二、IP数据报1.IP 数据报结构2.IP 数据报的分片解析3.IP 数据报的分片重装 三、IP 数据报的输出四、IP 数据报的输入 前言 IP 指网际互连协议&#xff0c; Internet Protocol 的缩写&#xff0c;是 TCP/IP 体系中的网络层协议。设计 IP 的目的是…...

第13章 层次式架构设计理论与实践

层次式架构的核心思想是将系统组成为一种层次结构&#xff0c;每一层为上层服务&#xff0c;并作为下层客户。其实不管是分层还是其他的架构都是为了解耦&#xff0c;更好的复用&#xff0c;只要秉承着这种思想去理解一切都迎刃而解了。 13.1 层次上体系结构概述 回顾一下软件…...

FreeRtos进阶——消息队列的操作逻辑

消息队列&#xff08;queue&#xff09; 在不同的任务之间&#xff0c;如果我们需要互相之间通信&#xff0c;使用全局变量进行通信&#xff0c;是一种不安全的通信的方式。为保证线程安全&#xff0c;我们需要引入消息队列的通信方式。 粗暴的消息队列 为保证线程的安全&am…...

WordPress搭建流程

1. 简介 WordPress 是一个 PHP 编写的网站制作平台。WordPress 本身免费,并且拥有众多的主题可以使用,适合用于搭建个人博客、公司官网、独立站等。 2. 环境准备 2.1 WordPress 下载 WordPress 可以在 Worpress中文官网 下载(如果后续要将后台调成中文的话,一定要从中文…...

数据集004:跌倒检测数据集 (含数据集下载链接)

数据集简介&#xff1a; 该数据集为跌倒检测数据集&#xff0c;属于imageclassify任务&#xff0c;分为fall和nofall两大类&#xff0c;累计共1000张图片&#xff0c;均为人工标注 xml格式&#xff0c;可用于yolo训练。 数据集链接&#xff1a;跌倒检测数据集&#xff08;1000…...

苹果与OpenAI合作在即:iOS 18中的ChatGPT引发期待与担忧

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

Android 逆向学习【2】——APK基本结构

APK安装在安卓机器上的&#xff0c;相当于就是windows的exe文件 APK实际上是个压缩包 只要是压缩的东西 .jar也是压缩包 里面是.class(java编译后的一些东西) APK是Android Package的缩写,即Android安装包。而apk文件其实就是一个压缩包&#xff0c;我们可以将apk文件的后…...

你对仲裁裁决不服怎么办?我教你四个狠招!

你对仲裁裁决不服怎么办&#xff1f;我教你四个狠招&#xff01; 这个标题是什么意思呢&#xff1f;也就是说&#xff0c;当你&#xff08;或用人单位&#xff09;向劳动仲裁委提出仲裁申请后&#xff0c;但劳动仲裁结果没有维护你的权益&#xff0c;或者你不满意&#xff0c;…...

Phi-4-mini-reasoning推理模型Python入门实战:3步完成环境部署与基础调用

Phi-4-mini-reasoning推理模型Python入门实战&#xff1a;3步完成环境部署与基础调用 1. 开篇&#xff1a;为什么选择Phi-4-mini-reasoning 如果你刚接触大模型推理&#xff0c;可能会被各种复杂的部署流程吓到。Phi-4-mini-reasoning作为一款轻量级开源推理模型&#xff0c;…...

5个简单步骤掌握LiteDB.Studio:免费开源的LiteDB数据库终极GUI管理工具

5个简单步骤掌握LiteDB.Studio&#xff1a;免费开源的LiteDB数据库终极GUI管理工具 【免费下载链接】LiteDB.Studio A GUI tool for viewing and editing documents for LiteDB v5 项目地址: https://gitcode.com/gh_mirrors/li/LiteDB.Studio 在当今数据驱动的软件开发…...

避坑指南:OpenBMI运动想象实验中的‘跨被试’与‘不跨被试’到底怎么选?

避坑指南&#xff1a;OpenBMI运动想象实验中的‘跨被试’与‘不跨被试’到底怎么选&#xff1f; 当你第一次接触OpenBMI工具箱进行运动想象&#xff08;Motor Imagery, MI&#xff09;实验时&#xff0c;最令人困惑的决策之一就是如何选择数据划分策略。是采用**跨被试&#xf…...

intv_ai_mk11快速上手:浏览器输入URL→发送‘帮我写周报’→获得带数据亮点的Word格式草稿

intv_ai_mk11快速上手&#xff1a;浏览器输入URL→发送帮我写周报→获得带数据亮点的Word格式草稿 1. 什么是intv_ai_mk11 intv_ai_mk11是一款基于Llama架构的AI对话助手&#xff0c;拥有7B参数规模&#xff0c;运行在GPU服务器上。它能像真人助手一样理解你的需求&#xff0…...

二、空间碎片聚类-轨道计算与J2000坐标系实现

1. 整体思路 在空间碎片监测、卫星对地观测等任务中,需要精确知道卫星和空间目标在某一时刻的位置。通常我们使用开普勒轨道六要素(半长轴、偏心率、倾角、升交点赤经、近地点幅角、真近点角)来描述轨道,并通过轨道动力学外推得到任意时刻的位置。本文实现了一套基于J2000…...

Qwen3-ASR-1.7B效果展示:实测多语言语音识别,准确率超高

Qwen3-ASR-1.7B效果展示&#xff1a;实测多语言语音识别&#xff0c;准确率超高 1. 开篇&#xff1a;一款让人惊艳的语音识别模型 最近测试了Qwen3-ASR-1.7B这款语音识别模型&#xff0c;结果让我大吃一惊。作为一款中等规模的模型&#xff0c;它在多语言识别上的表现完全不输…...

C++的std--allocator_traits分配器特性与自定义内存管理的适配

C标准库中的内存管理一直是个既基础又复杂的主题。std::allocator_traits作为C11引入的分配器特性模板&#xff0c;为自定义内存管理提供了统一的适配接口&#xff0c;让开发者能在不重写整套分配逻辑的情况下&#xff0c;灵活扩展内存管理策略。无论是实现高性能内存池&#x…...

S32K312实战:用AUTOSAR Icu模块测量PWM占空比与周期(基于NXP MCAL与EB Tresos)

S32K312实战&#xff1a;AUTOSAR Icu模块精准测量PWM信号的工程实践 在汽车电子开发中&#xff0c;PWM信号的精确测量是ECU功能实现的基础环节。无论是发动机控制单元中的转速信号采集&#xff0c;还是车身电子中的执行器状态反馈&#xff0c;都需要对PWM信号的周期、占空比等参…...

理视康新零售系统开发要点

业务模式设计新零售模式需整合线上线下渠道&#xff0c;构建会员体系、分销机制与数据中台。通过小程序、APP或H5实现线上商城&#xff0c;线下门店采用智能硬件&#xff08;如AR试戴、智能货架&#xff09;提升体验。结合LBS技术实现附近门店导流&#xff0c;支持到店自提或同…...

基于Python的可穿戴设备的人机交互设计与实现

前言随着科技的进步发展&#xff0c;人们对生活水平提高有了一定的要求&#xff0c;穿戴设备得到了一定的普及与发展&#xff0c;人与设备之间交互的快捷性和智能化成为了提高用户体验感的关键所在。 对穿戴设备与人之间的交互的需求进行调查&#xff0c;分析用户在使用过程中存…...