机器学习笔记(十二)神经网络

时间:2021-10-19 09:49:12

一、神经网络构成

人工神经网络模型是仿造生物学的神经元之间的相互连接而成的,相当于很多感知器进行线性组合而成

机器学习笔记(十二)神经网络机器学习笔记(十二)神经网络

每一个感知器可以做一个线性分类,多个感知器组合可以模拟出平滑的曲线分类

机器学习笔记(十二)神经网络

对于一个多层的神经网络,前几层可以看做是特征的层层转换,最后一层输出则可以看做一个线性的模型,所以最后一层所学的线性模型都可以用

机器学习笔记(十二)神经网络

线性模型有

机器学习笔记(十二)神经网络

对于中间层的神经网络来说,每一层可以看做是特征转换函数对于信号S的转换,怎么选择转换函数?如果都是线性函数,则转换结果为线性函数,和一个线性函数效果相同,阶梯函数则很困难最佳化,所以选择S型函数

机器学习笔记(十二)神经网络

最终神经网络可表示为

机器学习笔记(十二)神经网络

二、神经网络学习

怎么学习得到好的权重,使最终的输出和y很接近,使用BP算法(误差逆向传播算法)可以做到。

对于最后一层来说,错误恒量为机器学习笔记(十二)神经网络,利用梯度下降法

三、深度神经网络

深度学习能够做到好,是由于它从最低层的原始特征(raw feature,例如图像的像素),一层一层的逐步提取出具有物理意义的特征(例如图像从原始的像素到简单的线条,再到能够表达图像的部件结构),然后能够组合出可以表达出和原图像信息非常相近的图像,深度学习的困难:模型架构的设计、模型的高复杂度、很困难进行最佳化(神经元很到,容易陷入局部最优)、计算复杂度模型架构问题通常与应用问题相结合,例如对于图片的处理应用卷积神经网络的模型架构;对于模型的复杂度问题,如果有大量的数据资料用来训练,通常不会纠结这个问题,要考虑的是计算复杂度的问题,还有可以利用正则化的方法,例如dropout、denoising方法;对于进行最佳化问题,可以寻找一个好的起始点,即pre-training,并非随机的生成起始点;计算复杂度则可以小批量的利用高性能硬件计算,比如利用GPU;其中最重要的是正则化(regularization)和pre-training,所以这一个深度学习框架重要的两步

机器学习笔记(十二)神经网络

 怎么做预训练pre-training得到好的权重起始点?对于神经网络,层与层之间的权重代表的是意义是特征之间的转换过程,转换之后的特征要能表现原有特征表达的信息,所以转换过后的特征再反转换之后,能够还原出原来的特征,这样的转换才是合适的转换,以此可以用自动编码器来确定两层神经元之间的初始连接权重,输入经过编码之后得到输出,输出经解码得到的输出和之前的输入要很相近,这样得到的编码权重可作为两层神经元之间的pre-training权重,以此类推其他层与层之间的初始权重

机器学习笔记(十二)神经网络

所以基本的自动编码器可表示为

机器学习笔记(十二)神经网络

再一个问题,由于深度模型具有很高的模型复杂度,很容易发生过拟合,该怎么避免或者减小过拟合的影响?可以加入条件限制,例如卷积神经网络,每一个神经元不是和整张图片的每一个像素连接,而是把有相关性的像素和神经元进行连接,这样就变为局部连接,大大减少了神经元权重的个数;可以利用权重衰减weight decay的方法来对一些权重进行限制;可以提前停止训练过程,得到较好的局部最优解

通过数据资料、噪声、模型复杂度对过拟合的影响图片来看,机器学习笔记(十二)神经网络

噪声对于过拟合有很大影响,通常现实中数据大都含有噪声,如果能够减少噪声,可以降低过拟合的可能,怎么降低噪声的影响?直接的思想是清除或减少数据的噪声,使数据变得纯净,但对于噪声不容易去除或者找不到噪声污染数据的情况下,怎么降低噪声的影响?在数据中加入一些噪声

 我们希望自动编码器具有更强的鲁棒性,当输入加入一些噪声的影响时,输出仍然有干净的结果,即希望得到的g(x)具有一定的抗干扰噪声的能力

机器学习笔记(十二)神经网络

 四、radial basis function network 径向基函数神经网络

radial basis function 又叫做gaussin kernel,机器学习笔记(十二)神经网络

高斯核函数的支持向量机的假设函数可表示为机器学习笔记(十二)神经网络,其中的高斯函数机器学习笔记(十二)神经网络表示测试数据X与训练数据Xn之间的距离,距离小的表示X与Xn相近,可以得到与Xn的标签yn相同的分类,所以gsvm(x)可表示为多个高斯函数所分类别的线性组合,而机器学习笔记(十二)神经网络为线性组合的参数,可以看做是高斯函数所得到的票数,neural work 和 RBF network 的区别?

机器学习笔记(十二)神经网络

假设函数可表示为

机器学习笔记(十二)神经网络,计算X与中心点的距离作为输入,然后送到RBF中得到输出结果,然后再线性组合得到输出层的输入,所以关键是中心点和线性组合的参数

机器学习笔记(十二)神经网络

对于RBF是高斯函数的情况,中心点就是支持向量的点

为了进一步简单,把所有的训练数据都当做中心点机器学习笔记(十二)神经网络,物理意义就是训练数据的每一个点都对测试点有影响,影响力为机器学习笔记(十二)神经网络,若考虑每一个训练数据的影响力都相同,则假设函数变为机器学习笔记(十二)神经网络,距离对应高斯函数衰减很快,距离越大高斯函数值越小,找到最大值(即距离最近)的点所对应的标签作为测试点的分类,即为最近邻法,当选择K个距离最近的情况,即为K近邻法

 当使用 full RBF network 时,由于每一个点都为中心点,Ein会变为0,会出现过拟合的情况,所以有选择的选出中心点,用有限个中心点可以避免过拟合的现象,怎么选择合适的中心点?用K-means方法选取

五、matrix factorization矩阵分解

一个热门的问题描述:给出N个使用者,为M部电影的P个评分,资料给出的是抽象特征,只有使用者编号和给出电影的评分,从这些资料中怎得到使用者对电影的喜好(例如对武打、爱情这些元素的喜爱程度)?

机器学习笔记(十二)神经网络

对于这些没有数值意义上的特征(例如,ID,血型,程序语言种类,等),但机器学习一般都是作用在有数值意义的特征,如想把这些抽象的类别特征能够在机器学习模型上使用,则需要把类型的特征转换为数值的特征,即encoding(transform)

例如,用二进制特征编码,四种血型可用以下方式编码

机器学习笔记(十二)神经网络,则每一笔资料可表示为机器学习笔记(十二)神经网络

由这些使用者的编码好其对电影的评分,怎么得到使用者对电影的喜好特征?使用autoencoding的方法,某一个使用者的编号为输入,输出为其对电影的评分

机器学习笔记(十二)神经网络

这样一来,使用者的对电影的喜好特征可表示为机器学习笔记(十二)神经网络,对于某一个使用者来说,输入x的其中一行为1,其余为0,则可知V*x的值为V矩阵的其中一列,

即个人对于电影的喜好特征,则评分可表示为机器学习笔记(十二)神经网络,W为喜好特征分数的组合权重,即为电影的特征

则电影的分数矩阵可分解为喜好特征矩阵和电影特征矩阵的乘积

机器学习笔记(十二)神经网络

 

目标为机器学习笔记(十二)神经网络,最小化问题机器学习笔记(十二)神经网络

有W和V两组变量,同时最小化不太可能,使用固定一个变量,更新另一个变量,交替进行的方法

机器学习笔记(十二)神经网络

W和V的初始值随机选择

机器学习笔记(十二)神经网络