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

news2024/10/6 8:25:16

目录

计算机视觉任务

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算法得以应用的基础。

 

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

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

相关文章

实际工作中通过python+go-cqhttp+selenium实现自动检测维护升级并发送QQ通知消息(程序内测)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 首先,今年比较忙没有多余时间去实操创作分享文章给大家,那就给大家分享下博主在实际工作中的一点点内容吧,就当交…

2024考研408-计算机网络 第四章-网络层学习笔记

文章目录 前言一、网络层的功能1.1、网络层功能概述(三种功能介绍)1.2、SDN基本概念1.2.1、理解转发与路由选择1.2.1.1、转发1.2.1.2、路由选择 1.2.2、数据平面(转发)1.2.3、控制平面(路由计算与选择)实现…

九分学长大作文笔记

前言 最近看了《顾家北手把手教你雅思写作》,我觉得收获很少,逻辑感觉很乱,不知道为什么网上全是吹的。在Bilibili上看了九分学长,非常清晰,发现自己很多没有注意到的问题,下面将总结一些对我有用的部分。…

C#,OpenCV开发指南(01)

C#,OpenCV开发指南(01) 一、OpenCV的安装1、需要安装两个拓展包:OpenCvSharp4和OpenCvSharp4.runtime.win 二、C#使用OpenCV的一些代码1、需要加头文件2、读取图片3、在图片上画矩形框4、 在图片上画直线 一、OpenCV的安装 1、需…

使用 React Native CLI 创建项目

React Native 安装的先决条件和设置 需要掌握的知识点 掌握 JavaScript 基础知识掌握 React 相关基础知识掌握 TypeScript 相关基础知识 安装软件前需要首先安装Chocolatey。Chocolatey 是一种流行的 Windows 包管理器。 安装 nodejs 和 JDK choco install -y nodejs-lts …

接口测试——postman接口测试(三)

目录 1. postman介绍与安装 2. postman发送get请求 3. postman发送post请求 1. postman介绍与安装 安装网址:Postman安装教程:留言找我要即可 2. postman发送get请求 import pymysql from flask import Flask,request# 这里是mysql的基本连接信息 c…

cloudstack management高可用

一、环境说明 CPU: kunpeng 920 操作系统:OpenEuler 22.03 IP角色192.168.157.20mysql192.168.157.21management-server 1192.168.157.22management-server 2192.168.157.30nginx 二、部署 基础环境准备参考【cloudstack测试环境搭建】 1、部署mysql&…

音视频 FFmpeg命令行搭建

文章目录 一、配置二、测试 一、配置 以FFmpeg4.2.1 win32为例 解压ffmpeg-4.2.1-win32-shared.zip 拷⻉可执⾏⽂件到C:\Windows拷⻉动态链接库到C:\Windows\SysWOW64 注:WoW64 (Windows On Windows64)是⼀个Windows操作系统的⼦系统,被设计⽤来处理许…

替换开源LDAP,某科技企业用宁盾目录统一身份,为业务敏捷提供支撑

客户介绍 某高科技企业成立于2015年,是一家深耕于大物流领域的人工智能公司,迄今为止已为全球16个国家和地区,120余家客户打造智能化升级体验,场景覆盖海陆空铁、工厂等货运物流领域。 该公司使用开源LDAP面临的挑战 挑战1 开源…

【论文阅读】基于深度学习的时序异常检测——Anomaly Transformer

系列文章链接 论文一:2022 Anomaly Transformer 文章目录 理论概述代码实战 论文链接: Anomaly Transformer.pdf 代码链接: https://github.com/thuml/Anomaly-Transformer 视频讲解(原作者禁止转载,联系的话侵删&am…

DC电源模块对于定制的要求主要有这几点

BOSHIDA DC电源模块对于定制的要求主要有这几点 DC电源模块是一种将交流电转换成为稳定的直流电的装置。在现代工业生产中,DC电源模块被广泛应用于各种电子设备中,例如计算机、手机、电视等。为了满足不同用户需求,DC电源模块的定制需求也是…

K8s中的Ingress

1.把端口号对外暴露,通过ip端口号进行访问 使用Service里面的NodePort实现 2.NodePort缺陷 在每个节点上都会起到端口,在访问时候通过任何节点,通过节点ip暴露端口号实现访问 意味着每个端口只能使用一次,一个端口对应一个应用…

pycharm中opencv库导入 cv2. 无函数提示跳出解决方法

pycharm中opencv库导入 cv2. 无函数提示跳出解决方法 1、找到当前解释器安装目录 例如: 2、进入D:\Python37\Lib\site-packages\cv2文件,进入cv2文件夹: 找到cv2.pyd, 把cv2.pyd复制一份,放到上层文件夹下,即site-p…

算法基础简介

目录 1、递归 2、二分查找 3、排序算法 分类 3.1、冒泡排序 3.2、选择排序 3.3、插入排序 3.4、希尔排序(高级插入排序) 3.5、归并排序 3.6、快速排序 核心思想 具体步骤 代码实现 3.7、堆排序 3.8、计数排序 3.9、桶排序 3.10、基数排序 4、字符串匹…

Pytest测试框架1

目录: 1.pytest简介、安装与准备2.pytest命名规则3.pycharm配置与界面化运行4.pytest测试用例结构5.pytest测试用例断言6.pytest测试框架结构7.计算器实战 1.pytest简介、安装与准备 前言 自动化测试前,需要提前准备好数据,测试完成后&am…

Linux下安装VMware虚拟机

目录 1. 简介 2. 工具/原料 2.1. 下载VMware 2.2. 安装 1. 简介 ​ VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 …

【Python数据容器】--- 列表的基本使用

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【Python小白从入门到精通】🎈 本专栏旨在分享学习Python的一点学习心得,欢迎大家在评论区讨论💌 在学…

重磅发布|《人效九宫格:劳动力效能提升指引白皮书》,人效提升完全指南

5月,盖雅工场发布 「人效九宫格」 后引起了各位管理者和人力资源从业者的关注讨论。为方便大家更广泛地交流学习,在理论基础上,我们筹备了 《人效九宫格:劳动力效能提升指引白皮书》于今日正式发布,以更详细地阐述企…

Spring Boot如何整合mybatisplus

文章目录 1. 相关配置和代码2. 整合原理2.1 spring boot自动配置2.2 MybatisPlusAutoConfiguration2.3 debug流程2.3.1 MapperScannerRegistrar2.3.2MapperScannerConfigurer2.3.3 创建MybatisPlusAutoConfiguration2.3.4 创建sqlSessionFactory2.3.5 创建SqlSessionTemplate2.…

2023-08-07 LeetCode每日一题(反转字符串)

2023-08-07每日一题 一、题目编号 344. 反转字符串二、题目链接 点击跳转到题目位置 三、题目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、…