深度学习与计算机视觉(一)
文章目录
- 计算机视觉与图像处理的区别
- 人工神经元
- 感知机 - 分类任务
- Sigmoid神经元/对数几率回归
- 对数损失/交叉熵损失函数
- 梯度下降法- 极小化对数损失函数
- 线性神经元/线性回归
- 均方差损失函数-线性回归常用损失函数
- 使用梯度下降法训练线性回归模型
- 线性分类器
- 多分类器的决策面
- softmax Regression
- 训练softmax regression
- 交叉熵损失
- 解决参数冗余
- 训练softmax Classifier
- 混淆矩阵
- 合页(铰链)损失
计算机视觉与图像处理的区别
-
图像处理得到的结果是处理后的图像,图像处理的目的是改善图像的质量
- 图像增强
- 图像复原
-
计算机视觉得到的结果可能是一个符号、一堆数据、一个知识
- 人脸识别
- 人脸比对
-
传统的图像识别的机器学习方法的一般流程包括:
- 特征提取→数据
- 数据→机器学习
-
为什么要提取图像的特征
- 提取有利于识别的信息,抑制与识别无关的或者对识别有干扰的信息
- 把不同尺度的图像映射到一个统一的特征空间,便于应用机器学习算法。
-
机器学习的框架:D数据,A算法,H假设空间,h* H中最好的假设(真实误差最小的假设)

-
概率近似正确

人工神经元

f:响应函数/激活函数一般都是非线性的函数,且一般都单调递增;常用的激活函数包括以下:


因为f是单调递增的函数,,如果 w>0,则,说明前一个神经元对后一个神经元有激活的作用;如果w<0 ,说明前一个神经元对后一个神经元有抑制作用。
感知机 - 分类任务


- 感知机算法在线性可分的情况下,一定可以收敛,也就是一定可以找到一个能正确分类所有样本的分类函数
- 但是同一个样本集,有可能会得到不同的解
- 不同的初始值,不同的样本处理次序产生的结果不同
- 不能得到全局最优的解
- 线性不可分的时候,算法会失败
感知机的算法

损失函数:不能处处可导


解决方法:次梯度
Sigmoid神经元/对数几率回归
只有激活函数的不同,sigmoid处处连续可导,输出的是对数几率




对数损失/交叉熵损失函数
损失函数通过比较模型对样本X的预测结果与样本的真实类别y之间的差异,计算损失,差异越大,损失越大,差异越小,损失越小。


梯度下降法- 极小化对数损失函数

线性神经元/线性回归
神经元有两个部分组成:收集信号的过程和激活的过程,收集信号如果是使用线性过程(累加)就是线性神经元。至于收集到的信号能不能激活下一个神经元,要看激活函数的过程,这个过程一般不是线性的。
均方差损失函数-线性回归常用损失函数

使用梯度下降法训练线性回归模型
是对w,b进行更新

一元导数与微分的关系: d f / d x = f ′ 一元导数与微分的关系:df/dx=f' 一元导数与微分的关系:df/dx=f′
全微分: d F = ( α F / α x ) d x + ( α F / α y ) d y 全微分:dF=(αF/αx) dx+(αF/αy) dy 全微分:dF=(αF/αx)dx+(αF/αy)dy

线性分类器
α ∗ β = ∣ α ∣ ∗ ∣ β ∣ c o s < α , β > ( α , β 为向量),其中 ∣ β ∣ c o s < α , β > 称为 β 在 α 上的投影 α*β=|α|*|β|cos<α,β>(α,β为向量),其中|β|cos<α,β>称为β在α上的投影 α∗β=∣α∣∗∣β∣cos<α,β>(α,β为向量),其中∣β∣cos<α,β>称为β在α上的投影

多分类器的决策面
决策面是可以把各种分类分开的一个面,在三级分类中,决策面应该在超平面的角平分线处划分

softmax Regression

- 这种argmax会把打分最高的结果设为1,其他的结果设为0;但是这种投影的坏处在于只看得到分类,看不到分类的置信为多少,所以引入了softmax Regression( e z 变成正数,正数加和为分母,求概率 e^z变成正数,正数加和为分母,求概率 ez变成正数,正数加和为分母,求概率)


softmax的决策规则就是:寻找概率最大的作为分类的输出,又因为e函数是单调递增的,所以只要z最大,则概率就会最大。
训练softmax regression

这里要特别注意,这里计算损失函数的那个概率,是真实样本所对应的概率,不是预测值的那个概率

训练过程

交叉熵损失


解决参数冗余
可以使用一个正则化项:选择损失函数小且Ω也小的

训练softmax Classifier



混淆矩阵

对角线上的表示第k个类别的精度,混淆矩阵可以清晰的看到哪一个类别的分类情况较好(精度高),哪一个类别的分类情况不好(精度第),以及具体的分类情况是什么
合页(铰链)损失


相关文章:
深度学习与计算机视觉(一)
文章目录 计算机视觉与图像处理的区别人工神经元感知机 - 分类任务Sigmoid神经元/对数几率回归对数损失/交叉熵损失函数梯度下降法- 极小化对数损失函数线性神经元/线性回归均方差损失函数-线性回归常用损失函数使用梯度下降法训练线性回归模型线性分类器多分类器的决策面 soft…...
【vector题解】杨辉三角 | 删除有序数组中的重复项 | 只出现一次的数字Ⅱ
杨辉三角 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1…...
金字塔切分注意力模块PSA学习笔记 (附代码)
已有研究表明:将注意力模块嵌入到现有CNN中可以带来显著的性能提升。比如,SENet、BAM、CBAM、ECANet、GCNet、FcaNet等注意力机制均带来了可观的性能提升。但是,目前仍然存在两个具有挑战性的问题需要解决。一是如何有效地获取和利用不同尺度…...
Jenkins自动化测试
学习 Jenkins 自动化测试的系列文章 Robot Framework 概念Robot Framework 安装Pycharm Robot Framework 环境搭建Robot Framework 介绍Jenkins 自动化测试 1. Robot Framework 概念 Robot Framework是一个基于Python的,可扩展的关键字驱动的自动化测试框架。 它…...
python 字典dict和列表list的读取速度问题, range合并
嗨喽,大家好呀~这里是爱看美女的茜茜呐 python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中, 然后对被处理数据进行字典key值的匹配,在被处理文件中每次…...
测试用例的设计方法(全):等价类划分方法
一.方法简介 1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。 2.划分等价类: 等价类是指某个输入域的…...
Office技巧(持续更新)(Word、Excel、PPT、PowerPoint、连续引用、标题、模板、论文)
1. Word 1.1 标题设置为多级列表 选住一级标题,之后进行“定义新的多级列表” 1.2 图片和表的题注自动排序 正常插入题注后就可以了。如果一级标题是 “汉字序号”,那么需要对题注进行修改: 从原来的 图 { STYLEREF 1 \s }-{ SEQ 图 \* A…...
Java实现ORM第一个api-FindAll
经过几天的业余开发,今天终于到ORM对业务api本身的实现了,首先实现第一个查询的api 老的C#定义如下 因为Java的泛型不纯,所以无法用只带泛型的方式实现api,对查询类的api做了调整,第一个参数要求传入实体对象 首先…...
HFSS笔记——求解器和求解分析
文章目录 1、求解器2、求解类型3、自适应网格剖分4、求解频率选择4.1 求解设置项的含义4.2 扫频类型 1、求解器 自从ANSYS将HFSS收购后,其所有的求解器都集成在一起了,点击Project,会显示所有的求解器类型。 其中, HFSS design&…...
jenkins配置gitlab凭据
下载Credentials Binding插件(默认是已经安装了) 在凭据配置里添加凭据类型 点击保存 Username with password: 用户名和密码 SSH Username with private 在凭据管理里面添加gitlab账号和密码 点击全局 点击添加凭据(版本不同…...
0基础学习PyFlink——用户自定义函数之UDTF
大纲 表值函数完整代码 在《0基础学习PyFlink——用户自定义函数之UDF》中,我们讲解了UDF。本节我们将讲解表值函数——UDTF 表值函数 我们对比下UDF和UDTF def udf(f: Union[Callable, ScalarFunction, Type] None,input_types: Union[List[DataType], DataTy…...
【Java 进阶篇】Java Request 原理详解
在网络应用开发中,HTTP请求是一项常见而关键的任务。当我们使用Java编写网络应用时,了解HTTP请求的工作原理变得至关重要。本文将详细介绍Java中HTTP请求的原理,包括请求的结构、发送请求的方法以及处理请求的过程。 HTTP请求的基本结构 HT…...
13 结构性模式-装饰器模式
1 装饰器模式介绍 在软件设计中,装饰器模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系. 2 装饰器模式原理 //抽象构件类 public abstract class Component{public abstract void operation(); }…...
支持向量机(SVM)
一. 什么是SVM 1. 简介 SVM,曾经是一个特别火爆的概念。它的中文名:支持向量机(Support Vector Machine, 简称SVM)。因为它红极一时,所以关于它的资料特别多,而且杂乱。虽然如此,只要把握住SV…...
Rabbitmq----分布式场景下的应用
服务异步通信-分布式场景下的应用 如果单机模式忘记也可以看看这个快速回顾rabbitmq,在做学习 消息队列在使用过程中,面临着很多实际问题需要思考: 1.消息可靠性 消息从发送,到消费者接收,会经理多个过程: 其中的每一…...
springboot + redis实现签到与统计功能
在很多项目中都会有签到与统计功能,最容易想到的方案是创建一个签到表来记录每个用户的签到记录,比如设计一个mysql数据库表: CREATE TABLE tb_sign id bigint(20) unsigned NOT NULL AUTOINCREMENT COMMENT 主键, user_id bigint(20) unsig…...
Redis | 数据结构(02)SDS
一、键值对数据库是怎么实现的? 在开始讲数据结构之前,先给介绍下 Redis 是怎样实现键值对(key-value)数据库的。 Redis 的键值对中的 key 就是字符串对象,而 value 可以是字符串对象,也可以是集合数据类型…...
Linux C语言开发-D7D8运算符
算术运算符:-*/%,浮点数可以参与除法运算,但不能参与取余运算 a%b:表示取模或取余 关系运算符:<,>,>,<,,! 逻辑运算符:!,&&,|| &&,||逻辑运算符是从左到右,依次运算&#…...
redis 配置主从复制,哨兵模式案例
哨兵(Sentinel)模式 1 . 什么是哨兵模式? 反客为主的自动版,能够自动监控master是否发生故障,如果故障了会根据投票数从slave中挑选一个 作为master,其他的slave会自动转向同步新的master,实现故障自动转义 2 . 原理…...
Python---练习:使用for循环实现用户名+密码认证
案例: 用for循环实现用户登录 ① 输入用户名和密码 ② 判断用户名和密码是否正确(usernamelaowang,passwordlw123) ③ 登录仅有三次机会,超过3次会报错 思考: 用户登陆情况有3种: ① 用户名错误(此时…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
