这节实现反向传播。
首先当一个图片输出结果output之后,将其与label相减取绝对值,这个 就是误差,然后对每一个w求出偏导,乘以一个步长再用相应的w减去它。
在每一轮循环,随机选几十个物品,然后每个物品随机选四五张图像,总共就有几百张图像,作为一轮,然后重复几千轮,这样就训练好了。
例如我们可以随机选50个物体,每个物体10张图片,代码如下:
path = '101_ObjectCategories';
namelist = dir(path);
for i = 1:50 % 挑出50个物体
if namelist(i).name == '.'
continue;
end
k = rand(101); % 随机选择一个文件夹
name = namelist(k).name;
imglist = dir(strcat(path,'\',name));
len = length(imglist);