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

02 Deep learning algorithm

Neural Networks target:

  • inference(prediction)
  • training my own model
  • practical advice for building machine learning system
  • decision Tress

application: speech(语音识别) ----> images(计算机视觉)—> text(NLP)

一、Neural Networks

1.神经元和大脑

1) Demand Prediction(需求预测)

a) some notion
  • neuron(神经元):可以将一个简单的模型例如logistic regression 看作一个简单的neuron

  • layer(层) : some neuron or single,输入equal or similar feature and out put some data together

  • activation(激活) :将 input of neuron called activation

  • activation function:激活函数是代表能够输出激活值的函数

  • hidden layer: 知道输入和输出,中间的处理neuron叫做hidden layer

2) 神经网络的网络层

a) definition

​ 输入一组数字向量,经过一系列层的处理,输出另一组数字向量

b) notion:

image-20221222175521416 对于不同的层,w参数的角标也可以标识 通过上标标识

c) complex 神经网络

在这里插入图片描述

《四层的神经网络》

input等于0层,123隐藏层,4 4为输出层

计算时候从左向右的方向进行计算

d ) Tensorflow的数据表现形式

​ 因为tensorflow基本处理很大的数据集,都用矩阵表示来让计算更加高效

  • numpy表示数组方式
    • x = np.array( [ [ ] , [ ] ] ) ()内仅有一个【】代表一维数组,[ [ ] ] 代表二维数组
  • tensor数组表示方式:
    • tensor([ [ ] , [ ] ] , shape( , ) , dtype = )

使用: 一般自己加载和操作数据的时候使用numpy,将数据转入tensorflow 时候会转化为tensor来方便计算和处理

3) build neural network

a ) build in tensorflow
  • 过程:创建dense 隐藏层,将隐藏层顺序连接,编译,输入x和y,训练模型,模型拟合
image-20221223111947263
b ) dense and forward prop in numpy (传播向量化)
image-20221223121639538

4 ) A G I (artificial g eneral intelligence)

	definition: AI 可以做人类所做的一切事情

5 ) Martrix multiplication in numpy

definition

​ numpy库中中的用于两个矩阵之间的乘法,也可以等价于 AT @ W

optimization forward prop(优化传播向量)
image-20221223161523850

2. use tensorflow build neuron

步骤: 1.指定模型(设置dense层) 2.compile编译模型 3.epoch 训练模型

i .模型训练细节

1)create the model

​ model= sequential( [ Dense() Dense() ] )

2)loss and cost function

​ 对于分类问题使用 model.compile(loss = BinaryCrossentropy()) 二元交叉熵损失函数

​ 对于线性回归:model.compile(loss = MeanSquareError ()) 均方差

3)gradient descent

​ 使用反向传播 model.fit( X , y , epochs = 100 )

i i . sigmoid 替代函数

​ 作用:有时不仅是0-1的概率,有不同的条件需要找不同的函数

1) reLU function

​ g(z) = max(0,z)

2)linear activation function

​ g(z) = z = wx + b

3 ) how to select activation function
  • ​ 可以在不同的神经元中选择不同的激活函数,根据需求选择
    • output layer:如果分类 0,1 最好选择sigmoid函数,有正负linear function 合适
    • hidden layer: 主流的 relu function ,运算速度更加快,只有x负半轴平缓,梯度下降时更快

二 、multiclass classification problem

1 . Softmax

i . softmax regression (N possible outputs)

image-20221228090448364

i i. cost function

​ 如果计算y = 某个值的cost function 则只需要带入对应的成本函数

在这里插入图片描述

i i i . implement in tensorflow

  • 只需将最后一层换为 softmax
  • 将 损失函数换为:SparseCategoricalCrossentropy(密集分类交叉熵损失函数)

v i . improve softmax

​ 当计算时,有时候式子之间有计算误差,所以在误差函数后加(from_logits = true)

2 . improve α algorithm

i . Adam algorithm

作用:如果梯度是一直稳定下降的时候就会适当的增大 α,当来一个值两边震荡时,会减小α

	**使用:**

image-20221228112053021

3 . Convolutional layer (卷积层)

作用: 对于前一层的feature并不是全部选取,而是选取了一部分

三、Evaluate the performance of algorithm

1 . Evaluate the model

i . use test set

​ 取出 70% 用来作training set,其余的30%用来作 test set评估model的泛化能力

但是只是用测试集来评估几次多项式也是不准确的

i i . Training / cross validation(交叉样本) / test set

​ 60% training set 20% cross validation 20% test set

​ 先用training set 和 cross validation 来选择最佳的模型,然后确定好了最佳模型以后我们将在最后的 test set模型测试最终的准确度

i i i . Bias / Variance (偏差和方差)

d 代表了多项式的次数

在这里插入图片描述

​ d越大,J-train越来越小,J-cv越来越大

high-bias(欠拟合) :在training set表现不好

high-variance(过拟合):在 验证集表现 相比training set 差得多,增加training可以改善

vi . Regulartion (正则化)

image-20221230094701010

当 **入** 越大最后拟合的曲线接近一条 y = b 的直线,y越小也会出现 overfit

​ 可以使用交叉验证来选择合适的

v i i . how to add regularization

image-20221230103012362

2 . Iterative loop of ML development

i . add data

​ **data augmentation **:的一个技巧:对数据所作的改变或者扭曲,例如给语音 加上噪音,给图片扭曲,但是最后得到的数据仍和测试集中得到的很相似。

i i. transfer learning(迁移学习)

作用:使用来自不同任务的数据来解决当前的任务,可以通过学习识别猫,狗,牛,人等,为前几个层学习了一些合理的参数,然后将参数transfer到新的神经网络中去

Why? 为什么通过识别其他的东西能够帮助识别类似手写数字一样的东西呢?

​ 因为头几层的网络都在识别图像的基本特征,找到边角,曲线,基本形状等相似的特征,所以对于不同类型的图片效果都是一样的

四、倾斜数据集的误差指标

​ why:因为例如罕见病中,数据集很多都是不患病的,所以需要衡量一个算法好坏

1 . precision / recall(准确度和召回)

i . definition

image-20221231100453281

i i . 权衡精确度和召回

​ 设置一个高的阈值,会使精确度提高,但是召回下降,相反的话召回提高,但是精确度下降

i i i .F 1 Score ( f 1 指标 )

在这里插入图片描述

相关文章:

02 Deep learning algorithm

Neural Networks target: inference(prediction)training my own modelpractical advice for building machine learning systemdecision Tress application: speech(语音识别) ----> images(计算机视觉)—> t…...

代码随想录算法训练营第二十四天 | 回溯算法

理论基础 代码随想录原文 什么是回溯法 回溯也可以叫做回溯搜索法,它是一种搜索的方式。 回溯是递归的副产品,只要有递归就会有回溯。 回溯法的效率 虽然回溯法很难,不好理解,但是回溯法并不是什么高效的算法。因为回溯的本…...

Spring Cloud Gateway 缓存区异常

目录 1、问题背景 2、分析源码过程 3、解决办法 最近在测试环境spring cloud gateway突然出现了异常,在这里记录一下,直接上干货 1、问题背景 测试环境spring cloud gateway遇到以下异常 DataBufferLimitException: Exceeded limit on max bytes t…...

Spring Boot依赖版本声明

链接 官网 Spring Boot文档官网:​​​​​​https://docs.spring.io/spring-boot/docs/https://docs.spring.io/spring-boot/docs/ Spring Boot 2.0.7.RELEASE Spring Boot 2.0.7.RELEASE reference相关:https://docs.spring.io/spring-boot/docs/2.…...

Java项目:109SpringBoot超市仓管系统

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 超市仓管系统基于SpringBootMybatis开发,系统使用shiro框架做权限安全控制,超级管理员登录系统后可根据自己的实际需求配角色&…...

【React系列】Redux(三) state如何管理

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. reducer拆分 1.1. reducer代码拆分 我们来看一下目前我们的reducer: function reducer(state ini…...

3D 纹理的综合指南

在线工具推荐:3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 我们经常看到超现实主义的视频游戏和动画电影角色出现在屏幕上。他们皮肤上的…...

LLM之RAG实战(十一)| 使用Mistral-7B和Langchain搭建基于PDF文件的聊天机器人

在本文中,使用LangChain、HuggingFaceEmbeddings和HuggingFace的Mistral-7B LLM创建一个简单的Python程序,可以从任何pdf文件中回答问题。 一、LangChain简介 LangChain是一个在语言模型之上开发上下文感知应用程序的框架。LangChain使用带prompt和few-…...

VLOOKUP的使用方法

VLOOKUP是Excel中一个非常有用的函数,用于在一个表格或范围中查找某个值,并返回该值所在行或列的相应数据。 VLOOKUP函数的基本语法如下: VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])lookup_value:要查…...

数据加密、端口管控、行为审计、终端安全、整体方案解决提供商

PC端访问地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是关于这几个概念的解释: 数据加密:这是一种通过加密算法和密钥将明文转换为密文,以及通过解密算法和解密密钥将密文恢复为明文…...

编码器原理详解

编码器 什么是编码器 编码器可以用来将信息编码成为二进制代码,有点类似于取代号,人为的将二进制代码与对应的信息联系起来。 如下图所示: 假设有这三种情况会发生,且每次只发生一种情况 为了给这三种情况做一个区分&#xff…...

linux下docker搭建mysql8

1:环境信息 centos 7,mysql8 安装docker环境 2.创建mysql容器 2.1 拉取镜像 docker pull mysql:8.0.23 2.2 查询镜像拉取成功 docker images 2.3 创建挂载的目录文件 mkdir /usr/mysql8/conf mkdir /usr/mysql8/data ##给data文件赋予操作权限 chmod 777 /…...

书生·浦语大模型实战1

书生浦语大模型全链路开源体系 视频链接:书生浦语大模型全链路开源体系_哔哩哔哩_bilibili 大模型之所以能收到这么高的关注度,一个重要原因是大模型是发展通用人工智能的重要途径 深度信念网络: (1)又被称为贝叶斯网…...

前端JS加密对抗由浅入深-1

前言: 本文主要讲解,针对前端加密数据传输站点,如何进行动态调试以获取加密算法、秘钥,本次实验不涉及漏洞挖掘,仅为学习演示,环境为本地搭建环境 此次站点加密方式为AES加密方式,现如今越来越…...

八股文打卡day17——计算机网络(17)

面试题:拥塞控制是怎么实现的? 我的回答: 1.慢启动 在连接刚建立的时候,会缓慢调大滑动窗口的大小,从而加大网络传输速率,避免速率太快,造成拥塞。 2.拥塞避免 慢启动之后,会进入拥…...

Java-经典算法-logcat获取数据

1 需求 2 语法 3.1 示例:打印本次查询数据 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;/*** 功能:adb logcat -b main -s PRIVA_LOG -d*/ public class Test {public …...

APache 网页优化

技能目标: 掌握 Apache 网页压缩 掌握 Apache 网页缓存 掌握 Apache 网页防盗链 掌握 Apache 隐藏版本信息 4.1 网页压缩与缓存 在使用 Apache 作为 Web 服务器的过程中,只有对 Apache 服务器进行适当的优化配 置&…...

C语言实现关键字匹配算法(复制即用)

文章目录 前言功能要求运行截图全部代码 前言 无套路,均已上机通过,求个关注求个赞,提供答疑解惑服务。 功能要求 一份C源代码存储在一个文本文件中,请统计该文件中关键字出现的频度,并按此频度对关键字进行排序。要…...

【大数据】安装 Zookeeper 单机版

安装 Zookeeper 单机版 下面安装 Zookeeper,由于它是 Apache 的一个顶级项目,所以域名是 zookeeper.apache.org,所有 Apache 的顶级项目的官网都是以项目名 .apache.org 来命名的。 点击 Download 即可下载,这里我们选择的版本是 …...

Django 快速整合 Swagger:实用步骤和最佳实践

Django ,作为 Python 编写的一个优秀的开源 Web 应用框架,特别适用于快速开发的团队。对于很多场景来说,我们需要一份 API 文档,好处实在太多了: 提高开发效率:开发者可以基于 API 文档 快速学习和尝试 AP…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...