0418
B站深度学习视频https://www.bilibili.com/video/BV1ht411i7Ld?p=1
0-11 总结
计算机视觉识别图像都是转换成三维数组。
K-近邻算法 KNN
K近邻会把背景因素考虑进来
Numpy.argmin
https://zhidao.baidu.com/question/987582984789125539.html
Numpy.zeros
https://blog.csdn.net/lens___/article/details/83927880
Numpy.argsort
https://blog.csdn.net/qq_38486203/article/details/80967696
线性分类 f()=wx+b
X是图像的像素点是n*1的矩阵
W是训练的权重参数,是几行*n 的矩阵
B是偏置,就是可允许误差的范围
最后得到一个分类的得分情况
SVM损失函数
正则化惩罚项
惩罚权重参数,影响最后的损失函数。
提高神经网络的泛化能力,防止过拟合
L1 L2 正则惩罚项
https://blog.csdn.net/weixin_44451032/article/details/100023037
一般都为L2正则化 12λw²
损失函数终极版
Sigmoid函数
横座标是可以输入任意实数,纵座标是(0,1)区间的,可以认为是某个类别的概率
常用来做二分类问题
将得分函数映射到sigmoid函数中,得到概率值,通过概率得到分类
Softmax分类器
SVM输出的是一个得分值
Softmax输出的是概率
归一化
把数据变成(0,1)或者(1,1)之间的小数。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速
假设有3个数字,1,2,3,。 归一化操作就是将1/(1+2+3),2/(1+2+3),3/(1+2+3) 得到三个(0,1)内的小数。它们相加还是等于1 ,相当于找到当前类别的概率值。
Svm和softmax的对比
不用SVM 判断的不是很精细
优化,学习率
做完一次更新后,需要乘上学习率,是为了防止步子迈的太大,越过了最低点。
优化和学习率 在0416中写过
梯度下降
反向传播
链式求导法则
通过loss值,可以判断权重参数w的好不好
从输入X,也就是训练集中的图像 直到 产生损失函数,得到loss 这叫前向传播
通常神经网络是通过BP(back propagation)算法来求解的,BP算法就是,通过前向传播得到loss,然后经过反向传播 去优化权重参数
Batchsize 或 batch 就是一次性迭代多少张图片
迭代完一次整个训练集 叫一个Epoch
一个batch的前向传播+反向传播 叫一次迭代