视频连接 https://www.bilibili.com/video/BV1V54y1B7K3?p=2&spm_id_from=pageDriver
1. 前言
1.1 数据驱动的图像分类方法
- 数据集构建
- 分类器设计与学习
- 分类器决策
1.2 常用分类任务的指标
2. 线分类器
2.1 基于图像的表示
2.1.1 图像类型
- 二进制图像
非黑即白,0表示黑,1表示白
- 灰度图像
每一个像素点由(0-255)表示,0是最黑,255是最白
- 彩色图像
RGB三个通道每种颜色0-255
2.1.2 图像表示
大多数的算法都要求输入向量
将图像转换成向量的方法有很多,最简单的方法就是直接将图像矩阵转换成向量
有一张32*32的彩色图像转换成向量是多少维度?
2.2 线性分类器
为什么从线性分类器开始
- 形式简单易于理解
- 通过层级结构(神经网络)或者高维映射(支撑向量机)可以形成功能强大的非线性模型
2.2.1 什么是线性分类器
线性分类器是一种线性映射,将输入的图像特征映射为类别分数。
2.2.2 线性分类器的定义
2.2.3 线性分类器的决策
线性分类器示例
- 任务:为图片分配类别标签(汽车类、猫类、鸟类)
线性分类器决策步骤:
- 将图像表示成向量
- 计算当前图片每个类别的分数
- 按类别得分判定当前图像
线性分类器的矩阵表示为
2.2.4 线性分类器的权值向量
2.2.5 线性分类器的决策边界
3 损失函数
3.1 损失函数的定义
- 什么是损失函数? 损失函数搭建了模型性能与模型参数之间的桥梁,指导模型参数的优化。
- 损失函数是一个函数,用于度量给定分类器的预测值与真实值的不一致程度,其输出通常是一个非负实值。
- 其输出的非负实值可以作为反馈信号来对分类器参数进行调整,以降低当前示例对应的损失值,提升分类器的分类效果。
损失函数的一般定义为:
3.2 多类支撑向量机损失
重新说明
用图来表示,X轴表示Syi,Sij是固定值,折线为45度角
max(0,.)损失-常称为折页损失
举例:
问答:
- 答案
- 最大是无穷、最小是0
- 在是个类别的样本中,极端情况下假设w和b都设为0,那么Li为9。平均损失L也为9。这个值可以作为我门编码的评判,初始化w和b很小时,损失L应该是接近分类别数减1,也就是这个样本中接近9。
- 大1
- 放大了N倍
- 对模型有影响
3.3 正则项多参数
3.3.1 正则项及损失
问题:假设存在一个W使损失函数L=0,这个W是唯一的吗?
答: 不唯一,因为W2同样有L=0,应该如何在W1和W2做出选择?
- 由此引入正则项
3.3.2 超参数
3.3.3 L2正则项损失
- 正则项损失有主要三个作用
- 让损失解唯一
- 防止模型过拟合
- 让模型有了偏好,喜欢 权值分散的
3.3.4 常用的正则项损失
4. 优化算法
4.1 什么是参数优化
参数优化是机器学习的核心步骤之一,它利用损失函数的输出作为反馈信号来调整分类器参数,以提升分类器对训练样本的预测性能。
4.2 优化算法的目标
由此引入梯度下降方法
4.3 梯度下降算法
- 一种简单而高效的迭代优化方法!
4.3.1 梯度计算
- 梯度计算总结
4.3.2 梯度计算算法的计算效率
一个epoch=N/m;
- 最后总结
五、数据集划分
但是如果样本很少的话,那么可能验证集包含的样本就太少,从而无法在统计
上代表数据。
这个问题很容易发现:如果在划分数据前进行不同的随机打乱,最终得到的
模型性能差别很大,那么就存在这个问题。
由此引入k折交叉验证(除测试集以外,所有的样本划分为训练集和验证集,划分为几份就是几折)
另外还有带有打乱数据的重复K折验证
分划分训练一次,就打乱数据重新划分,进行下一次
六、数据预处理
数据能否直接使用,有哪些处理方式?
- 方法一:
- 方法二