- “学习”目的:从训练数据中自动获取最优权重、偏置参数,使得损失函数达到最小。
▲注:若有100个训练数据,要把100个损失函数的总和作为学习的指标。即: 假设有N个数据,tnk表示第n个数据的第k个元素的值,ynk是神经网络的输出,tnk是监督数据。得到E为单个数据的平均损失函数。 ▲注:为使损失函数达到最小,需要计算权重、偏置参数的导数(准确的说是梯度),然后以这个导数为指引,逐步更新参数的值。 ●若导数值为负,改变参数向正向变化,减小损失函数值;若导数值为正,改变参数向负向变化,减小损失函数值。 ●之所以不用识别精度作为指标,是因为这样参数的导数在绝大多数地方都会变成0。稍微改变参数,识别精度仍然保持,即使改变,也是不连续的、离散的、突变的值。而损失函数可以连续。 ●作为激活函数的阶跃函数由于也是突变,大部分地方都是0,即便用损失函数作为指标,损失函数值不会变化,所以神经网络中不用。 ●而由于sigmoid函数,任何地方斜率都不是0,所以可以用在神经网络中。
-
机器学习or神经网络or深度学习:极力避免人为介入,尝试从收集到的数据中发现答案。 -
计算机视觉领域常用的特征量:SIFT、SURF、HOG等,使用这些特征量将图像数据转换为向量,然后对向量使用机器学习中的SVM、KNN等分类器学习。
●SIFT:即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。 ●Surf:(Speeded Up Robust Features)改进了特征的提取和描述方式,用一种更为高效的方式完成特征的提取和描述。 ●HOG:方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。 ●SVM:支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane) ●KNN:邻近算法,或者说K最邻近(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻近值来代表。 总体来说,KNN分类算法包括以下4个步骤: ①准备数据,对数据进行预处理 。 ②计算测试样本点(也就是待分类点)到其他每个样本点的距离。 ③对每个距离进行排序,然后选择出距离最小的K个点 。 ④对K个点所属的类别进行比较,根据少数服从多数的原则,将测试样本点归入在K个点中占比最高的那一类。这里是引用
-
机器学习也称 端到端机器学习(end-to-end machine),输入数据,直接输出结果,中间没有别的东西。 -
神经网络中以“损失函数”为线索来寻找最优权重参数,“损失函数”可以是任意函数:一般用均方误差、交叉熵误差。
-
One-hot表示:正确表示1,其余为0。 -
梯度法寻找最优参数:梯度表示各点处的函数值减小最多的方向。所以无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。在复杂的函数中,梯度知识的方向基本上都不是函数值的最小处。
●注:函数的极小值、最小值、以及鞍点(从某个方向看过去是极大值、从另一个方向看过去是极小值)处,梯度为0。所以梯度找的不一定都是最小值点处。。。此外,函数很复杂且呈扁平状时,学习可能进入平坦区,陷入被称为“学习高原”的无法前进的停滞期。 ●注:梯度法:函数的取值从当前位置沿着梯度方向前进一定距离,然后在新的地方重新求梯度,再沿着新梯度方向前进,如此反复,逐步减小函数值的过程。 ●利用数值微分、误差反向传播法,可以计算权重参数的梯度。 梯度下降法:寻找最小值;(一般神经网络常用) ●梯度上升法:寻找最大值。 ●通过改变损失函数前面的正负号,即可更换两种说法,其实都差不多。
-
梯度法中引入了学习率:一种超参数,需要人工设定,多次重复,寻找使学习顺利进行的设定。 -
随机梯度下降法stochastic gradient decent, SGD):从训练数据中随机选择一部分数据,这些数据即mini batch ,再以其为对象,使用梯度法更新参数。 -
epoch:是一个单位,一个epoch表示学习中所以训练数据均被使用过一次时的更新次数。如:10000个数据,100作为一个mini batch,重复随机梯度下降法100次(因为是随机,所以100次之后,不一定每个数据都会被用到)100次就是一个epoch。
|