赞
踩
深度学习是机器学习的一小部分,上面是机器学习的流程,其中最重要的是特征工程
对于传统算法来说,最难的一步就是提取特征了,因为对于特征的提取和优化,是人工决定的,显得不那么智能,可是对于深度学习来说,计算机会自己学习,决定哪些特征是计算机觉得最合适的。
我们先不看这个knn,先把k近邻升级一下,将这种思想用在图像领域,我们使用cifar100数据库
我们自己定义一个距离的选择公式,直接将图片对应的像素点的数据作差再最后求和,用这个数值来代表距离的远近(也就是图片的相似度)
基于这种简单的算法,可以看到,有些图片的识别效果还是不错的,有些也会发生部分错误,但是重点看我画红框的那一列,计算机把背景为黑色的那些图片归类到了一起,因为我们这种算法没有背景的概念,怎么让计算机懂得自动忽略背景,选择图片的主题,显然k近邻是不适用于图片识别的,所以我们就要用其他的神经网络模型,
我们知道,对于一张图片中,每个像素点对于我们的图像识别的重要程度是不一样的,例如上面的这只猫,猫身体上的像素点的重要性就要远大于背景上面的像素点,所以,我们对不同位置的像素点都会赋予一个权重(parameters)
这个图片中,每个w(权重)都代表一种动物的得分权重,b是偏置参数(权重起决定性作用,偏置起辅助作用)
, 我们经过矩阵的运算,会得到一个10*1的矩阵,得分最高的位置,就代表相似度最大。
如上图,明明是一只猫,但是狗的得分最高,图片的像素的不能变的,所以我们可以修改w和b,这就是神经网络要干的事情
权重参数起到了决定性的作用,偏置参数智能微调。
我们怎么帮助计算机去修改权重呢,这就要用到损失函数了,
我们假设b和c(关于a)的损失函数的一样的,但是显然,c拟合的更好,所以,我们要设置一个惩罚(正则化)来避免这种情况的发生。
神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。
上图中,从左到右得到激活函数、损失函数就是前向传播,从右向左,从损失函数的值到修改权重w就是反向传播,
损失函数
在每一次梯度下降算法中,在每一层随机选择一些神经元不用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。