从线性回归到神经网络

上传人:第*** 文档编号:58921790 上传时间:2018-11-02 格式:PDF 页数:18 大小:1.29MB
返回 下载 相关 举报
从线性回归到神经网络_第1页
第1页 / 共18页
从线性回归到神经网络_第2页
第2页 / 共18页
从线性回归到神经网络_第3页
第3页 / 共18页
从线性回归到神经网络_第4页
第4页 / 共18页
从线性回归到神经网络_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《从线性回归到神经网络》由会员分享,可在线阅读,更多相关《从线性回归到神经网络(18页珍藏版)》请在金锄头文库上搜索。

1、作者: 武汉大学遥感信息工程学院硕士研究生 王艺程日期: 2015年10月邮箱: 0.从线性回归到深度学习0.1. 一元线性回归 假如有数据(X,Y),想用X预测Y的值,采用一个超简单的预测模型: = 在这个给定模型下,总会有一个合适的w值,使得估计值 Y与真实值尽量 接近,怎么得到这个合适的w值呢?训练样本少时,可以使用协方差矩阵帽子矩阵拉格朗日乘数法最小二乘法balabala训练样本很多时,可以介样做: (迭代更新) = 随机给定初始w值,逐一查看训练样本并更新w值,变化量也就是每次都微调一点w,使得当前一组样本数据下Y和 Y更接近一些。简单粗暴了点,但,就是算得快!就是有效!0.2. 多

2、元线性回归 扩展一下,假如有数据(X1Xn,Y),想用X1Xn预测Y的值,采用这个模型:b+ =1=可以采用前面提到的迭代更新法,计算合适的权重取值= 随机给定初始的和n个值 (两两间不相等!两两间不相等!), 逐一查看训练样本并更新b和每个值: = 0.3. 逻辑回归 线性模型太简单了,还可以来点更复杂的 + =1 =其中是一个非线性映射(神经网络中叫做激活函数),常见的有:Sigmoid函数Gaussian函数ReLU函数(在真正的逻辑回归中不用, 但在神经网络中有用)注意一点:上述映射本身并不含待定系数,上述映射的导数是映射输入的特别简单的函数模型加入的好处:更适合分类问题或逻辑运算问题

3、(我的理解) 引入复杂性,使得多神经元的搭配组合有意义(我的理解)0.3. 逻辑回归 + =1 = =中的参数求解,仍采用迭代更新: = 有= = = 1= 注:为了减少变量定义,做了简化,和wi均为迭代中需要更新的权重变量,所以和的计算公式中有项。= 注意到1 = = = 于是 = = 链式法则?0.3.逻辑回归可是 并不是导数的形式呀,前一页的公式因为它的存 在变得不和谐了。强迫症的解决方案:强行让 等于一个导数形式。寻找一个自变量为 的函数,赋予它一个名称LOSS,使得 = = 事实上,真的存在这样的LOSS函数,并且据我所知,至少有两种不同的基本形式,这 里就不列举出来了。引入LOSS

4、函数的好处:1.让迭代更新公式变得和谐优美,形式统一,方便表述、推导和扩展。 2.LOSS函数值越小,模型拟合效果越好,通过观察迭代中LOSS函数值的变 化,判断算法是否收敛。 3.LOSS函数加入正则化项,可以降低过拟合风险。 4.(貌似)可以通过改变权重来实现目标风险最小化。0.4. 人工神经元与随机梯度下降法可以将一个逻辑回归模型具象成一个神经元(加权求和激发函数)进一步概括再回顾总结一下权重估计的迭代更新算法对对wi和和b赋随机数初始值赋随机数初始值; For ger=1 to ger_num For each 单样本单样本in 训练样本数据集训练样本数据集 %(开始一次迭代开始一次迭

5、代) 根据当前根据当前b、wi和样本数据中的和样本数据中的Xi计算神经元的输出计算神经元的输出f; 计算计算dLOSS/df; 使用链式法则计算使用链式法则计算wi的变化量的变化量即即 LOSS/; (开下脑洞开下脑洞,其实由链式法则也可以计算其实由链式法则也可以计算X即LOSS/X,这一点在下一页这一点在下一页 中用到中用到;) 更新权重值更新权重值wi; %(结束一次迭代结束一次迭代) End End上述算法的学名叫做: Mini-batch Stochastic Gradient Descent其实也可以每次迭代中使用多个训练样本甚至全部训练样本, 具体操作简单来说就是“变化量取平均”。

6、实践中,一般每次 迭代使用多个训练样本。0.5. BP人工神经网络设想两个人工神经元串联的模型: (模型1)神经元N1神经元N2输出2在使用随机梯度下降法训练时,如何计算权重值变化量?输出1对于神经元N2中的权重,按照前面讲的方法计算权重值变化量即可。对于神经元N1中的权重,先计算 1= 22 1= 2 2(2为神经元N2中对应输入1的权重),然后采用链式法则计算神经元N1自身权重值的变化量即可。可以想象,任意多个人工神经元串联,都可以使用随机梯度下降法训练权重! (至少在计算上没BUG)0.5.BP人工神经网络设想这种模型: (模型2)输出2输出1输出3其权重更新算法和前一页相同!神 经 元

7、 N1神 经 元 N3神 经 元 N2输出3输出2输出1输出1设想这种模型: (模型3)如何更新神经元N1的权重?分别计算1和2,再计算神经元N1和神经元N2各自包含 权重的变化量神 经 元 N1神 经 元 N2神 经 元 N3 1=2 2+ 3 3 2是一种取平均的思路, 这样做的一大好处是 方便采用矩阵运算。0.5. BP人工神经网络 设想一个模型(结构),它可以由模型1、2、3推广组合而成, 比如这样:这就是一个BP人工神经网络如何训练各神经元包含的权重? 采用前面的思路,对每一权重变量, 总可以得出随机梯度下降法中的权重 更新公式,用矩阵运算表示最方便, 可能看起来很复杂,但实际上就是

8、累 加/求平均。为何要整齐地分层,而 且没有跨层连接? 方便矩阵运算以及算法 优化加速(逐层计算)。为何相邻两层神经元两两 间都有连接? 方便矩阵运算以及算法优 化加速(避免条件判断)。(我的理解)(我的理解)0.6.卷积神经网络 经典的BP人工神经网络针对的是计算机根据多特征值自动分类的 问题。 使用BP人工神经网络进行图像分类的一种可行方案是:在图像中 提取各种不同的特征值作为输入,图像类别作为输出。 但是图像特征提取说白了还不是主观臆断碰运气 那么直接将图片的每个像素值作为BP人工神经网络的输入怎么 样?效果并不好。 那么还能有什么好办法呢?卷积神经网络!0.6.1.卷积层 为什么直接将

9、图片的每个像素值作为BP人工神经网络的输入的办法很LOW? 1.神经网络的输入特征数目太多了,导致模型结构大、权重多,容易过拟合。 2.凭什么左上角像素和右上角像素的对应权重的数值不同,一点也不公平。 有什么好办法改进吗? 1.设想有一种神经元,将图像一小窗口内的像素值(全部或部分通道)作为输入,将小窗口扫描过整张 图片的神经元输出值按窗口位置关系排列,组成一个矩阵结构数据(本ppt命名为“c通道”),它也可 视为该神经元的输出。 2.如果有多个这样的神经元,就可以有多个c通道,如果这些神经元对应的扫描窗口尺寸、步长一致的话, 生成的c通道的尺寸就一致,把这些c通道数据放到一起,就叫“C1层”

10、吧。 3.如果又有一批类似的神经元以C1层数据为输入,就可以得到“C2”层。事实上,输入数据只要是尺寸 一致的一组矩阵结构数据,在这类神经元下就可以得到“Cn层”。 4.以上所述,就是“卷积层”的思想,它的特征:局部感知,权值共享,多卷积核(神经元)。 需要训练的权重数目大大缩减!注:关于这种卷积层的权重训练,可参照网页(http:/ (其实我没看懂)0.6.2. 下采样层(池化层) 为什么直接将图片的每个像素值作为BP人工神经网络的输入的办法很LOW? 3.位置相近的像素值(或特征值)往往包含相似的信息,BP人工神经网络将它们全部作为输入,造成信 息冗余大,训练困难。 有什么好办法改进吗?

11、仍采用小窗口扫描的思想,例如对ck通道用小窗口扫描,每次仅在该小窗口内取出一个值,将这些值按 位置窗口关系排列,就得到sk通道,一组s通道组合起来就得到S层。常用取值方法:常用取值方法: 取最大值、取平均值、 随机取一个位置的值注:下采样层本身不含权重,无需训练,但如果下采样层之前的层中有需要训练的权重,计算权重更新量时必须由下采样层 传递一个值过去,计算方法可参照网页(http:/ 可以想象,当一幅图像经过多个卷积层和下采样层的处理后,最 后端的层中可以包含很少量的数据点位。此时,把这些点位的数 据全部作为BP人工神经网络的输入,训练效果就可能比较理想了。 (实践证明,效果真的不错) 把这种加在卷积神经网络尾部的实质上和BP人工神经网络没有区 别的部分的每一层叫做“全连接层”。0.6.4. 一个卷积神经网络示例0.6.5. 补充 前面的那些原理和原因其实还不够全面和深入,甚至只能让你暂时认 为自己懂了。 前面讲的只是“基础”的卷积神经网络框架,当前很多取得卓越性能 的卷积神经网络都是在细节上做了改进。 面向真实的具体的需求,只要能取得更好的效果,一切规定皆可打破。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号