模式识别学习心得

1. 共轭梯度编程(matlab)

%-------共轭梯度法解线性方程组-----------
%---Conjugate Gradient method-------
%参考教材《数值分析》李乃成&梅立泉,科学出版社2011
clear;clc;
% A=[10,-1,-2;-1,10,-2;-1,-1,5];
% b=[72,83,42]';
A=[2 0 1;0 1 0;1 0 2];
b=[3 1 3]';
N=length(b);        %解向量的维数
fprintf('库函数计算结果:');
x=inv(A)*b          %库函数计算结果

x=zeros(N,1);       %迭代近似向量
eps=0.0000001;    %精度
r=b-A*x;d=r;
for k=0:N-1
    fprintf('第%d次迭代:',k+1);
    a=(norm(r)^2)/(d'*A*d)
    x=x+a*d
    rr=b-A*x;    %rr=r(k+1)
    if (norm(rr)<=eps)||(k==N-1)
        break;
    end
    B=(norm(rr)^2)/(norm(r)^2);
    d=rr+B*d;
    r=rr;
end

2. CNN卷积神经网络

参考原文:https://cs231n.github.io/convolutional-networks/
原文翻译:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit

2.1 主要参数及含义

超参数
① 深度D(depth):
它和使用的滤波器的数量一致,而每个滤波器在输入数据中寻找一些不同的东西。也叫做通道。
② 步长S(stride):
在滑动滤波器的时候,必须指定步长。当步长为1,滤波器每次移动1个像素。当步长为2(或者不常用的3,或者更多,这些在实际中很少使用),滤波器滑动时每次移动2个像素。这个操作会让输出数据体在空间上变小。
③ 零填充P(zero-padding):
零填充有一个良好性质,即可以控制输出数据体的空间尺寸(最常用的是用来保持输入数据体在空间上的尺寸,这样输入和输出的宽高都相等)。
④ 滤波器的数量K
⑤ 滤波器的空间尺寸F

除了上面的超参数外还有:
输入尺寸W;
输入图像高度H等;

计算添加了多少神经元的公式为:
(You can convince yourself that the correct formula for calculating how many neurons “fit” is given by )
(W−F+2P)/S+1
......

2.2 主要结构

可参考https://blog.csdn.net/yjl9122/article/details/70198357
① 卷积层
卷积层是卷积网络的核心组成部分,它完成大部分计算繁重的工作。
② 池化层
对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征
③ 全连接层(fully connected layers,FC)
在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。
④ 激活函数
激活函数是用来加入非线性因素的,因为线性模型的表达力不够。
⑤ 输入层

3. tensorFlow架构

参考:https://www.jianshu.com/p/a5574ebcdeab

4. python解释

(要仔细看文章)
参考翻译文章:https://zhuanlan.zhihu.com/p/20878530?refer=intelligentunit

你可能感兴趣的:(模式识别学习心得)