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 指标 )

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MS713/MS713T:CMOS 低压、4Ω四路单刀单掷开关,替代ADG713

产品简述 MS713/MS713T 是一款单芯片 CMOS 4 路可选择开关,具有低 功耗、高开关速度、低导通阻抗、低漏电和高带宽特性。其工作 电压范围是 1.8V 到 5.5V ,可以广泛应用在电池供电仪器仪表、新 一代的模数转换和数模转换系统中。其高带宽特性可用在 …

代码+视频,手把手教你R语言使用forestploter包绘制单组及双组森林图

森林图在论文中很常见,多用于表示多因素分析中的变量与结果变量的比值效应,可以用图示的方法比较直观的绘制出来。既往我们在文章《R语言快速绘制多因素回归分析森林图(1)》已经介绍了怎么绘制森林图,但是绘图比较简单…

SecOC中新鲜度值和MAC都按照完整的值来生成,但是在发送和认证的时候只会截取一部分。这边截取的部分一般取多长?由什么参数设定?

新鲜度值(Freshness Value, FV)和消息验证码(Message Authentication Code, MAC)是SecOC协议中用于保证数据的真实性和新鲜度的重要信息。它们的长度取决于不同的因素,如加密算法、安全级别、通信带宽等。 一般来说,FV和MAC的长度越长,安全性越高,但也会占用更多的通信…

Docker随笔

OverView 为什么需要Docker 如果我需要部署一个服务,那么我需要提前部署其他应用栈,不同的应用栈会依赖于不用的操作系统和环境。这样做会产生一些负面影响: 不同版本依赖较长的部署时间不同的Dev/Test/Prod环境 这时我们需要一个工具去解…

JumpServer3.0版本-资产管理

资产列表 资产列表可展示资产树和类型树,可以查看添加的所有资产 新增资产也是在此页面 在资产树上面右键可以创建新的子节点 比如这里我新建了个“腾讯云”节点 选中腾讯云节点,点击中间的“创建”按钮,新增资产 选择你的主机类型,我这是Linux 填写你资产的名称、IP必…

Java Arrays.copyOfRange的用法

Arrays.copyOfRange的使用方法: 将一个数组拷贝至另一个数组中 参数: original:第一个参数为要拷贝的数组对象 from:第二个参数为拷贝的开始位置(包含) to:第三个参数为拷贝的结束位置&#x…

AIGC实战——自回归模型(Autoregressive Model)

AIGC实战——自回归模型 0. 前言1. 长短期记忆网络基本原理2. Recipes 数据集3. 处理文本数据3.1 文本与图像数据处理的差异3.2 文本数据处理步骤 4. 构建 LSTM 模型4.1 模型架构4.2 LSTM 计算流程4.3 训练 LSTM 5. LSTM 模型分析小结系列链接 0. 前言 自回归模型 (Autoregres…

【LMM 010】MiniGPT-v2:使用独特的标识符实现视觉语言多任务学习的统一的多模态大模型

论文标题:MiniGPT-v2: Large Language Model As a Unified Interface for Vision-Language Multi-task Learning 论文作者:Jun Chen, Deyao Zhu, Xiaoqian Shen, Xiang Li, Zechun Liu, Pengchuan Zhang, Raghuraman Krishnamoorthi, Vikas Chandra, Yun…

gitlab高级功能之Kubernetes Agent介绍

文章目录 1. 前置条件2. 简介3. GitLab Kubernetes Agent 的部署3.1 启用 Agent 服务端3.2 创建 Agent 配置和清单仓库 4. 安装agent4.1 连接k8s集群4.2 在集群中部署4.3 修改资源清淡,调整pod的副本数 5. 思考 1. 前置条件 gitlab 14.5 专业版k8s集群helm客户端工…

linux 使用iniparser读取.ini文件的配置信息

为什么要用项目配置文件 对于很多程序中要用的参数如果是可变的,那么最好的处理方式就是通过main(int argc,char **argv) 函数参数传递,或者从别的地方去获取,这其中之一就是配置文件,但是在一个成熟和架构完善的系统&#xff0c…

Spring的依赖注入(DI)

1.DI 概述:DI(Dependency Injection)依赖注入,在Spring创建对象的同时,为其属性赋值,称之为依赖注入。 1.1构造函数注入 顾名思义,就是使用类中的构造函数,给成员变量赋值。注意&…

ts相关笔记(基础必看)

推荐一下小册 TypeScript 全面进阶指南,此篇笔记来源于此,记录总结,加深印象! 另外,如果想了解更多ts相关知识,可以参考我的其他笔记: vue3ts开发干货笔记TSConfig 配置(tsconfig.…

安全cdn有哪些优势

1. 免备案:在中国大陆地区,进行网站建设需要先进行备案手续,而安全cdn可以避免这一繁琐的步骤,节省时间和精力。 2. 精品线路:安全cdn使用的是覆盖范围更广、速度更快的香港CN2 GIA优化线路。 3. 高速稳定&#xff1a…

Java多线程技术10——线程池ThreadPoolExecutor之Executor接口

1 概述 在开发服务器软件项目时,经常需要处理执行时间很短并且数据巨大的请求,如果为每一个请求创建一个新的线程,则会导致性能上的瓶颈。因为JVM需要频繁地处理线程对象的创建和销毁,如果请求的执行时间很短,则有可能…

【量化金融】《证券投资学》吴晓求(第四版)(更新中)

这里写目录标题 第一篇 基本知识第1章 证券投资工具名词解释简答题 第2章 证券市场名词解释简答题 第二篇 基本分析第三篇 技术分析第四篇 组合管理第五篇 量化分析与交易策略 第一篇 基本知识 第1章 证券投资工具 名词解释 风险(risk) 未来结果的不…

Hive - Select 使用 in 限制范围

目录 一.引言 二.Select Uid Info 1.少量 Uid 2.大量 Uid ◆ 建表 ◆ 本地 Load ◆ HDFS Load ◆ Select In 三.总结 一.引言 工业场景下 Hive 表通常使用 uid 作为用户维度构建和更新 Hive 表,当我们需要查询指定批次用户信息时,可以使用 in …

Spark内核解析-Spark shuffle6(六)

1、Spark Shuffle过程 1.1MapReduce的Shuffle过程介绍 Shuffle的本义是洗牌、混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好。MapReduce中的Shuffle更像是洗牌的逆过程,把一组无规则的数据尽量转换成一组具有一定规则…

极速 JavaScript 打包器:esbuild

文章目录 引言什么是esbuild?esbuild的特点esbuild如何实现如此出色的性能?esbuild缺点基本配置入口文件输出文件模块格式targetplatformexternalbanner和footer 高级配置插件系统自定义插件压缩代码调试代码 结论😶 写在结尾 引言 esbuild是…

月薪15000在春晚分会场西安,够花吗?

千寻的结论: 如果有房无贷,另一半也有工作收入,父母身体健康且均有不错的退休金, 满足这些条件的话,在西安月入1.5W是相当不错。

苹果电脑菜单栏应用管理软件Bartender 4 mac软件特点

Bartender mac是一款可以帮助用户更好地管理和组织菜单栏图标的 macOS 软件。它允许用户隐藏和重新排列菜单栏图标,从而减少混乱和杂乱。 Bartender mac软件特点 菜单栏图标隐藏:Bartender 允许用户隐藏菜单栏图标,只在需要时显示。这样可以…