深度学习,计算机视觉任务

目录

计算机视觉任务

1.K近邻算法

2.得分函数

3.损失函数的作用

4.向前传播整体流程

5.反向传播计算方法

计算机视觉任务

机器学习的流程

  1. 数据获取

  2. 特征工程

  3. 建立模型

  4. 评估与应用

计算机视觉

图像表示:计算机眼中的图像,而一张图片被表示为三维数组的形式,每个像素的值从0到255。

计算机视觉面临的挑战:照射角度、形状改变、部分遮蔽和背景混入

1.K近邻算法

K(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。

K近邻计算流程

  1. 计算已知类型数据集中的点与当前点的距离

  2. 按照距离依次排序

  3. 选取与当前点距离最小的K个点

  4. 确定前K个点所在的类别的出现概率

  5. 返回前K个点出现频率最高的类别作为当前点预测分类

数据库样例:CIFAR-10

数据库简介:

10类标签、50000个训练数据、10000个测试数据、大小均为32*32

图像的距离计算方式实际上与矩阵的加减法很相似。

K近邻的局限性:不能用来图像分类,因为背景主导是一个最大的问题,我们关注的是主体(主要成分)

2.得分函数

根据得分函数,计算出每个输入的类别得分如下:我们只有类别的得分并不能评判分类效果,损失函数便是用来评估分类效果的好坏程度。

线性函数:从输入--->输出的映射

f(x, W) = Wx

得分函数公式是一种用来描述某种情况下得分的计算方式,一般用于评分、评价等方面。得分函数公式通常由多个参数组成,每个参数代表一种影响因素,通过对这些参数进行加权运算得出最终得分。

3.损失函数的作用

损失函数(loss function)是将随机事件或其有关随机变量的取值映射为非负实数的函数。

在机器学习中,损失函数用于度量模型预测结果和真实结果之间的差距,通常是越小越好。比如在回归问题中,可以使用均方误差(MSE)和平均绝对误差(MAE)等作为损失函数;在分类问题中,可以用交叉熵(CrossEntropy)作为损失函数,或者用二分类问题的二元交叉熵(BCELoss)等。

矩阵来源是优化而来的结果。

神经网络的作用是通过适合的矩阵Wi来处理相应的问题。

uTools_1688799265492

做不同任务就是损失函数的不同。

损失函数其实有很多,我们需要的是一个最贴近实际的函数形式。

损失函数

这里的1相当于是一个近似值的估计。

uTools_1688799735799

虽然这两个模型的损失函数值相同,模型A考虑的是局部,模型B考虑的是全局,它们两的侧重方向是不一样的,只是结果恰好相同而已。

损失函数=数据损失+正则化惩罚项(R(W))

我们总是希望模型不要太复杂,过拟合的模型是没有用的。

uTools_1688802832405

4.向前传播整体流程

正向传播算法,也叫前向传播算法,顾名思义,是由前往后进行的一个算法。

Softmax分类器

现在我们得到的是一个输入的得分值,但如果给我一个概率值岂不更好!

如何把一个得分值转换成一个慨率值呢?

这和数学建模有共同之处,往往能除以一个相近的函数就能得到一个概率值。

uTools_1688803136943

归一化和计算损失值

向前传播:

uTools_1688803485728

5.反向传播计算方法

举一个例子:

uTools_1688803749742

它的函数式是:f(x,y,z) = (x+y)z

q=x+y f=q*z

uTools_1688803849371

想要求的值:f对x的偏导,f对y求偏导,f对z求偏导。

这就是我们在高数中学到的链式法则,梯度是一步一步传播的

uTools_1688804086446

我们所看到的绿色线就是我们上一部分向前传播计算,红色的部分会把上一次的梯度携带到下一层的反向传播的计算中。

反向传播算法,简称BP算法,适合于多层神经元网络的一种学习算法,它建立在梯度下降法的基础上。BP网络的输入输出关系实质上是一种映射关系:一个n输入m输出的BP神经网络所完成的功能是从n维欧氏空间向m维欧氏空间中一有限域的连续映射,这一映射具有高度非线性。它的信息处理能力来源于简单非线性函数的多次复合,因此具有很强的函数复现能力。这是BP算法得以应用的基础。

 

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

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

相关文章

HCIA---路由器--静态路由

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.路由器简介 路由器是一种网络设备,用于将数据包从一个网络发送到另一个网络…

python基础3——流程控制

文章目录 一、操作符1.1 比较操作符1.2 逻辑操作符1.3 成员操作符1.4 身份操作符 二、流程控制2.1 条件判断2.2 循环语句2.2.1 for循环2.2.2 while循环 2.3 continue与break语句2.4 文件操作函数 三、函数3.1 定义函数3.2 作用域3.3 闭包3.4 函数装饰器3.5 内建函数 一、操作符…

stm32与上位机电脑间最快的通信方式是什么?

对于小型多关节机械臂的控制电路设计,选择合适的通信方式可以提高MCU与上位机之间的实时性。以下是一些在STM32上常用的通信方式,你可以根据你的具体需求选择适合的: 串口通信(UART):串口通信是一种常见的…

Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

目录 一、SpringBootApplication 二、SpringBootConfiguration 三、EnableAutoConfiguration 四、ComponentScan 一、SpringBootApplication SpringBootApplication是Spring Boot框架的核心注解之一,它用于标识一个主配置类,通常是项目的入口类。该…

selenium常见等待机制及其特点和使用方法

目录 1、强制等待 2、隐式等待 3、显式等待 1、强制等待 强制等待是在程序中直接调用Thread.sleep(timeout) ,来完成的,该用法的优点是使用起来方便,语法也比较简单,缺点就是需要强制等待固定的时间,可能会造成测试的时间过…

诺瓦星云面试汇总

1、C语言向一个内存地址写值, int main() {int value 42;int *ptr (int *)0x12345678; // Replace with the desired memory address*ptr value 2、申请释放内存 申请内存int *dynamicArray (int*)malloc(size *sizeof(int));释放内存 free(dynamicArray)…

网络编程——MAC地址、IP地址和子网掩码

MAC地址、IP地址和子网掩码 一、MAC地址:硬件身份证 1、MAC地址的概念 MAC地址,即媒体访问控制地址(Media Access Control Address),是一个用于唯一标识网络设备的物理地址。每个网络接口卡(NIC&#xf…

go错误集(持续更新)

1.提示以下报错 Build Error: go build -o c:\Users\Administrator\Desktop__debug_bin2343731882.exe -gcflags all-N -l . go: go.mod file not found in current directory or any parent directory; see ‘go help modules’ (exit status 1) 解决办法: go …

Android Framework底层原理之WMS的启动流程

一 概述 今天,我们介绍 WindowManagerService(后续简称 WMS)的启动流程,WMS 是 Android 系统中,负责窗口显示的的服务。在 Android 中它也起着承上启下的作用。 如下图,就是《深入理解 Android》书籍中的…

《Kali渗透基础》14. 无线渗透(四)

kali渗透 1:相关工具1.1:Aircrack-ng1.1.1:airmon-ng1.1.2:airodump-ng1.1.3:aireplay-ng1.1.4:airolib-ng1.1.5:bessid-ng 1.2:JTR1.3:Evil Twin Attacker1.4&#xff1…

clickhouse调研报告2

由Distributed表发送分片数据 clickhouse分区目录合并 clickhouse副本协同流程 clickhouse索引查询逻辑 clickhouse一级索引生成逻辑(两主键) clickhouse的data目录下包含如下目录: [root@brfs-stress-01 201403_10_10_0]# ll /data01/clickhouse/data total 4 drwxr-x---…

【webpack】动态配置cdn,多模板入口项目搭建

动态配置多模板 按照这个模板创建项目 安装glob,获取目录下的文件名称 封装方法utilsConfig,动态生产 page // pages 多入口配置 const path require("path");// glob 是 webpack 安装时依赖的一个第三方模块,该模块允许你使用 * 等符号, …

RaabitMQ(三) - RabbitMQ队列类型、死信消息与死信队列、懒队列、集群模式、MQ常见消息问题

RabbitMQ队列类型 Classic经典队列 这是RabbitMQ最为经典的队列类型。在单机环境中,拥有比较高的消息可靠性。 经典队列可以选择是否持久化(Durability)以及是否自动删除(Auto delete)两个属性。 Durability有两个选项,Durable和Transient。 Durable表…

图像 检测 - DETR: End-to-End Object Detection with Transformers (arXiv 2020)

图像 检测 - DETR: End-to-End Object Detection with Transformers - 端到端目标检测的Transformers(arXiv 2020) 摘要1. 引言2. 相关工作2.1 集预测2.2 Transformers和并行解码2.3 目标检测 3. DETR模型References 声明:此翻译仅为个人学习…

【VisualGLM】大模型之 VisualGLM 部署

目录 1. VisualGLM 效果展示 2. VisualGLM 介绍 3. VisualGLM 部署 1. VisualGLM 效果展示 VisualGLM 问答 原始图片 2. VisualGLM 介绍 VisualGLM 主要做的是通过图像生成文字,而 Stable Diffusion 是通过文字生成图像。 一种方法是将图像当作一种特殊的语言进…

SAS-数据集SQL水平合并

一、SQL水平合并基本语法 sql的合并有两步,step1:进行笛卡尔乘积运算,第一个表的每一行合并第二个表的每一行,即表a有3行,表b有3行,则合并后3*39行。笛卡尔过程包含源数据的所有列,相同列名会合…

mysql进阶篇(二)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

3.2用互斥元保护共享数据

概述 于是,你有一个类似于上一节中链表那样的共享数据结构,你想要保护它免于竞争条件以及可能因此产生的不变量损坏。如果你可以将所有访问该数据结构的代码块标记为互斥的(mutually exclusive),岂不是很好?如果任何线…

DuDuTalk:AI语音工牌在家装行业门店销售场景有何应用价值?

随着科技的不断发展,人工智能技术的应用也越来越广泛。作为人工智能技术的一种应用形式,AI语音工牌在家装行业门店销售场景中起到了重要的作用。本文将从AI语音工牌的定义、功能、应用场景以及优势等方面,探讨它在家装行业门店销售场景的应用…

Qt多线程编程

本章介绍Qt多线程编程。 1.方法 Qt多线程编程通常有2种方法: 1)通过继承QThread类,实现run()方法。 2)采用QObject::moveToThread()方法。 方法2是Qt官方推荐的方法,本文介绍第2种。 2.步骤 1)创建Worker类 这里的Worker类就是我们需要…