【简易笔记】计算机视觉与深度学习 EP1

主要资料来源:(P1-P3)计算机视觉与深度学习 北京邮电大学 鲁鹏 清晰版合集(完整版)_哔哩哔哩_bilibili

pytorch参考网站:

欢迎来到 PyTorch 教程 — PyTorch 教程 1.12.0+cu102 文档

数据驱动的图像分类方法  

        数据集收集

  • 数据集划分与预处理

        训练集:确定超参数时对分类器参数进行学习

        验证集:用于选择超参数

        测试集:评估泛化能力

        k折交叉验证:add796ed33d14dfe9b22693519919e41.png

           数据预处理1(去均值和归一化):        e194a29e1f79493fae1d371d35aa2029.png

去均值:度量与平均值之间的差距

归一化:将数据映射在一个区间内,是数值范围几乎相等

几个重要概念:

(1)batchsize:批大小。每次训练在训练集中取batchsize个样本训练;
(2)iteration:1个iteration等于使用batchsize个样本训练一次;
(3)epoch:1个epoch等于使用训练集中的全部样本训练一次;

参考和其他数据预处理方法:数据预处理的几个名词:中心化,归一化,去相关,白化_m0_37708267的博客-CSDN博客_去相关处理


        分类器的设计与学习

 7cc7a12352a0414aa9e931289728aebe.png


图像表示

  • 像素表示:RGB三通道表示、灰度图像单通道表示、二值化图像
  • 全局特征表示(GIST):在全图中抽取特征,如颜色特征、纹理特征、形状特征。如强度直方图。
  • 局部特征表示:分割区块然后分析各区块的特征(优点是不会因遮挡受影响)

        参考:(4条消息) 图像处理局部和全局特征 - CSDN


分类模型

  • 线性分类器

        gif.latex?%5Cdpi%7B120%7D%20f_%7Bi%7D%28x%2Cw_%7Bi%7D%29%3Dw_%7Bi%7D%5E%7BT%7Dx+b_%7Bi%7D

        x是输入的图像向量,i取不同的值代表第i个类别

        w即是这类线性分类器的权值向量,b为这类线性分类器的偏置

        w与b通过训练更新和优化

        决策时,取f权值最大的类,就决策该图像向量属于这个类

6e4a75b25a5c47a38430d7b4930ce98f.png

gif.latex?%5Cdpi%7B120%7D%20%5Cmathbf%7Bf%7D%28%5Cboldsymbol%7Bx%7D%2CW%29%3D%5Cboldsymbol%7BW%7D%5Cboldsymbol%7Bx%7D+%5Cboldsymbol%7Bb%7D

         矩阵表示后,f、W、b变为一个矩阵,行数维度取决于其类别个数

        5c1cc58a72184dc2a6f8e267552105ae.png

        示例:一个训练完成的权值向量矩阵,包含了10个类 

  • 神经网络分类器     

(待整理)


损失函数

        损失函数时一个函数,度量分裂器预测值与真实值的差异程度,通常规定输出为一个非负实数

gif.latex?%5Cdpi%7B120%7D%20L%3D%5Cfrac%7B1%7D%7BN%7D%20%5Csum_%7Bi%7DL_%7Bi%7D%28f%28x_%7Bi%7D%2CW%29%2Cy_%7Bi%7D%29

        L为数据集损失,是数据集中所有样本损失的平均值

        接下来,确定恰当合适的L函数是训练出一个好的分类器的关键

  •         多类支撑向量机损失(损失函数的一种)

预测分数的定义如下:

gif.latex?%5Cdpi%7B120%7D%20s_%7Bij%7D%3Df%28x_%7Bi%7D%2Cw_%7Bj%7D%2Cb_%7Bj%7D%29%3Dw_%7Bj%7D%5E%7BT%7Dx_%7Bi%7D+b_%7Bj%7D

第i个样本的多类支撑向量损失函数的定义如下:

gif.latex?%5Cdpi%7B120%7D%20L_%7Bi%7D%3D%5Csum_%7Bj%5Cneq%20y_%7Bi%7D%7D%5E%7B%7Dmax%280%2Cs_%7Bij%7D-s_%7By_%7Bi%7D%7D+1%29

函数解读:即正确类别的得分比这个样本的其他的不正确类别高出1分,记为损失为0,否则产生损失并计算出值L

  •         正则项损失

        gif.latex?%5Cdpi%7B120%7D%20L%3D%5Cfrac%7B1%7D%7BN%7D%20%5Csum_%7Bi%7DL_%7Bi%7D%28f%28x_%7Bi%7D%2CW%29%2Cy_%7Bi%7D%29+%5Clambda%20R%28W%29

        使用原因:对于矩阵W,可能会出现两个列向量w使损失函数为0,此时无法作出决策,因此添加一个正则项损失λR(W)来解决这个问题。该值只与权值向量有关

        λ作为一个超参数(指机器学习过程之前就设置的参数,不是通过训练得到的参数数据,与W区分开来),控制正则损失在总损失中的占比

        L2正则项:

gif.latex?%5Cdpi%7B120%7D%20R%28W%29%3D%5Csum_%7Bk%7D%5E%7B%7D%5Csum_%7Bl%7DW_%7Bk%2Cl%7D%5E%7B2%7D

        k,l表示第k行第l列

        函数解读:发现这个正则损失函数描述的是权值向量的分散程度,越分散,这个损失越小(越分散,我们可以理解成考虑了更多维度的特征,集中的话可能只是用了某个维度的特征,从而使决策有偶然性)以此来解决数据损失相等的情况       


优化算法

        参数优化:利用损失函数的输出值作为反馈信号来调整分类器的参数,提高分类器预测性能

        L是一个关于参数W的函数,我们要找到使损失函数L达到最优的那组参数W使  gif.latex?%5Cdpi%7B100%7D%20%5Cfrac%7B%5Cpartial%20L%7D%7B%5Cpartial%20W%7D%3D0%5Cmathbf%7B%7D

  • 梯度下降

8ab3e7adf0ae498c8c87ca84ddd29d48.png

        沿着负梯度方向行进(步长),会是损失函数最快达到极值(极小值),从而使这个分类器达到最好的状态,这种思路即是梯度下降优化算法

       损失函数的梯度:

        gif.latex?%5Cdpi%7B100%7D%20%5Ctriangledown%20L%3D%5Cfrac%7B1%7D%7BN%7D%20%5Csum_%7Bi%7D%5Ctriangledown%20L_%7Bi%7D%28x_%7Bi%7D%2CW%2Cy_%7Bi%7D%29+%20%5Clambda%20%5Ctriangledown%20R%28W%29

注意:计算出来的是一个矩阵向量

        设定一个超参数学习率μ,以此定义步长然后更新权值

        即:新权值=旧权值-学习率*权值的梯度

  • 随机梯度下降

        每次随机选择一个样本然后更新梯度(比如200个样本,并不是用200个样本更新一次梯度/参数,而是每次用1个样本更新200次梯度/参数)

  • 小批量随机梯度下降

        设定一个超参数m(代表每次选取m个样本)再进行训练更新参数

        m通常取32、64、128等2的倍数

        参考:(4条消息) 数值优化:一阶和二阶优化算法(Pytorch实现)_「已注销」的博客-CSDN博客


        分类器决策

e4e684f6c38040daa49e767deb80a721.png

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值