资源简介

CNN识别手写数字,很好的机器学习初心者学习资料,里面包含了MATLAB代码和详细的注释,可以直接运行

资源截图

代码片段和文件信息

function net = cnnapplygrads(net opts)
    for l = 2 : numel(net.layers)
        if strcmp(net.layers{l}.type ‘c‘)
            for j = 1 : numel(net.layers{l}.a)
                for ii = 1 : numel(net.layers{l - 1}.a)
                    % 这里没什么好说的,就是普通的权值更新的公式:W_new = W_old - alpha * de/dW(误差对权值导数) 
                    net.layers{l}.k{ii}{j} = net.layers{l}.k{ii}{j} - opts.alpha * net.layers{l}.dk{ii}{j};
                end
                net.layers{l}.b{j} = net.layers{l}.b{j} - opts.alpha * net.layers{l}.db{j};
            end
        end
    end

    net.ffW = net.ffW - opts.alpha * net.dffW;
    net.ffb = net.ffb - opts.alpha * net.dffb;
end

评论

共有 条评论