一张图片被表示成三维数组的形式,每个像素的值从0到255,图片上的值代表像素点,值越大越亮。
例如: 300* 1003 指的是图片的长宽*颜色
3=RGB
1=黑白图
一、机器学习的步骤:
1.收集数据并给定标签。标签的意思是加入你有一对猫和狗的图片,你要给猫图片定义一个猫的标签,给狗的图片定义一个狗的标签。
2.训练一-个分类器,例如逻辑回归、随即森林
3. 测试,评估。
二、找参数:
把数据分为 train、val、test
交叉验证:例如:把训练集平均分成5份,然 后进行建模。
第一步:1234建模->5测试;
第二步:1235建模->4测试;
.
.
.
第n步:1325建模->4测试;
将测试结果求和取平均。
三、对图像进行分类:
1、 f(x,w)
- f(x,w):x指的是图像,由像素点组成;w指的是权重参数。每个像素点都要指定一个参数,参数可以判断哪些像素点重要,哪些像素点不重要。
- 这只猫是一个输入,他是3维的。一般计算采用向量,即把图像拉长32 * 323=3027 * 1的列向量。所以一共有3072个像素点,因为有3072个像素点所以有3072个权重参数。即猫的类别的权重参数为3072 * 1的横向量。相乘得到1 * 1,即一个类别得的分值。10个类别即10 * 1。b指的是偏置,每一个类别都要加上自己的一个偏置
如下图:
例如:我们下面的猫是2 * 2的矩阵,将他转化为41的矩阵。w:权重越大,说明越重要。
通过比对我们发现训练的并不好,因为狗的结果为437.9,最大。
2、损失函数
- 我们发现模型训练错了,所以我们要用损失函数来告诉模型训练错了。损失函数越大,代表分类越不准。通过计算发现汽车的损失函数为0,所以汽车的分类正确。
3、Softmax分类器:
Softmax输出的是概率,我们得到每一个类别的得分值,通过它可以将的得分值转换为概率形式表达损失值。
下面是一个Sigmoid函数,概率值为【0,1】,该函数的y轴也为【0,1】。所以通过这个Sigmoid函数把数值转换成概率。
Softmax实例
exp这步是将数值映射到y轴,使得数值的差距更明显、清晰;归一化是将数值转换成小数,使得这三个数相加为1;最后通过公式得到猫损失值0.89,损失值越接近1,表示分类越不准。