目录

  • 前置内容
  • 宽度学习的基本结构:RVFLNN
  • 宽度学习系统
    • 岭回归

前置内容

深度学习计算量过大,成本过高,因此提出宽度学习(BLS,Broad Learning System)。我们首先要知道,BLS的网络结构不是固定的,就像第三十三课的级联相关网络。但是级联相关网络还是在往深处走,宽度学习才是真正往宽处走。


级联相关网络的训练
第三十三课的级联相关网络的训练可以展示为以下形式:

其中,candidate neuron即为候选神经元(即要加入的新节点),训练过程如下:

  • 首先,候选神经元连结到所有的输入和隐层神经元(即图中的有向虚线),并且候选神经元的输出不连结到网络上;
  • 然后冻结固定住图中的实线部分,只训练候选神经元的权重(即图中的有向虚线);
    注意,候选神经元的训练目标是最大化候选神经元的输出和网络输出层误差之间的相关性,使用梯度上升法实现最大化;
  • 当权重训练好之后,就将候选神经元安装到图中空白的层上,也就是第四个区域,这时候候选神经元的虚线连接权就不能再改变了;
  • 然后将候选神经元连结到网络的输出上,这时候代表选神经元被激活,开始训练网络的所有输出连接权;
  • 重复以上步骤;

宽度学习的基本结构:RVFLNN

BLS来源于随机向量函数连接网络 random vector functional-link neural network (RVFLNN)的结构。

RVFLNN多了一个增强层(Enhance Nodes),网络中存在3种连接:

  • 输入-增强:非线性变换;
  • 增强-输出:线性变换;
  • 输入-输出:线性变换;

可以看出,RVFLNN只有增强层是真正意义上的神经网络单元,因为只有它带了激活函数。下面我们将增强层与输入节点排列到一起:

网络就变成了由A到Y的线性变换。如果我们随机初始化增强节点的参数并固定(随机初始化Wh,βhW_{h},\beta_{h}Wh​,βh​),整个网络的训练就是求出A到Y之间的线性变换W:W=A−1YW=A^{-1}YW=A−1Y由于输入XXX已知,可以很方便求出AAA,又加上已知YYY,所以学习将变成只需要一步操作的事情。

为什么可以这样
深度学习把网络层数不断加深,就是为了增加模型的复杂度,能更好地逼近我们希望学习到的非线性函数,但是不是非线性层数越多越好?理论证明单层前馈网络(SLFN)已经可以作为函数近似器了,可见增加层数并不是必要的。RVFLNN也被证明可以用来逼近任何连续函数,其非线性近似能力就体现在增强层的非线性激活函数上,只要增强层单元数量足够多就行。

宽度学习系统

之前介绍的是RVFLNN,现在来看BLS,它对输入层做了一点改进,就是不直接用原始数据作为输入层,而是先对数据做了一些变换,相当于特征提取,将变换后的特征作为原RVFLNN的输入层,这样做的意义不是很大,只不过想告诉我们:宽度学习可以利用别的模型提取到的特征来训练,即可以和别的机器学习算法组装。现在我们不把第一层叫做输入层,而是叫它特征层。

从上图看出,我们可以使用增加特征提取器数量的方式加宽ZZZ的长度(使用nnn个特征提取器,nnn越大,BLS越复杂)

当给定了特征ZZZ,直接计算增强HHH,将两者合并为A=[Z∣H]A=[Z|H]A=[Z∣H],∣|∣表示合并。由于训练数据的标签YYY已知,计算权重W=A−1YW=A^{-1}YW=A−1Y即可。实际计算时,也可以用岭回归求解,即优化以下问题:argminW∣∣AW−Y∣∣22+λ∣∣W∣∣22argmin_{W}||AW-Y||^{2}_{2}+\lambda||W||^{2}_{2}argminW​∣∣AW−Y∣∣22​+λ∣∣W∣∣22​求解得到W=(λI+AAT)−1ATYW=(\lambda I+AA^{T})^{-1}A^{T}YW=(λI+AAT)−1ATY

岭回归

岭回归(Ridge Regression)是回归方法的一种,属于统计方法。在机器学习中也称作权重衰减。也有人称之为Tikhonov正则化。岭回归主要解决的问题是两种:

  • 一是当特征的维度数量超过标签的维度数量的时候;
  • 二是数据集之间具有多重共线性,即特征之间具有相关性。

一般,回归分析如下:y=∑j=1pβjxj+β0y=\sum_{j=1}^{p}\beta_{j}x_{j}+\beta_{0}y=j=1∑p​βj​xj​+β0​其中,ppp为特征维数;

使用最小二乘法求解回归问题的最小化目标为:β^=argminβ∑i=1N(y(i)−β0−∑j=1pβjxj(i))\widehat{\beta}=argmin_{\beta}\sum_{i=1}^{N}(y^{(i)}-\beta_{0}-\sum_{j=1}^{p}\beta_{j}x_{j}^{(i)})β​=argminβ​i=1∑N​(y(i)−β0​−j=1∑p​βj​xj(i)​)岭回归就是要在最小化目标上加一个惩罚:β^=argminβ{[∑i=1N(y(i)−β0−∑j=1pβjxj(i))]+λ∑j=1pβj2}\widehat{\beta}=argmin_{\beta}\left\{[\sum_{i=1}^{N}(y^{(i)}-\beta_{0}-\sum_{j=1}^{p}\beta_{j}x_{j}^{(i)})]+\lambda\sum_{j=1}^{p}\beta_{j}^{2}\right\}β​=argminβ​{[i=1∑N​(y(i)−β0​−j=1∑p​βj​xj(i)​)]+λj=1∑p​βj2​}

第三十七课.宽度学习相关推荐

  1. NeHe OpenGL教程 第三十七课:卡通映射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. 实践数据湖iceberg 第三十七课 kakfa写入iceberg的 icberg表的 enfource ,not enfource测试

    系列文章目录 实践数据湖iceberg 第一课 入门 实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式 实践数据湖iceberg 第三课 在sqlclient中,以sql ...

  3. 【问链财经-区块链基础知识系列】 第三十七课 区块链智能合约重新认识:不再智能

    > 编者按:不得不说在区块链世界里"智能合约"这个词被用滥了,就好像有了智能合约以后,社会一下进入智能时代,改变了整个社会的运行轨迹,但事实上它真有宣传的那么神吗,那么无所不 ...

  4. HLS第三十七课(基于xfopencv实现图像处理)

    HLS Videolib能够实现的功能,xfopencv也都能实现. 下面重点实现几个之前的例子,看看从videolib移植到xfopencv需要注意哪些要点. (一)CFLAGS 被编译的文件,例如 ...

  5. 第三十七节 java学习——color类

    color类是用来封装颜色的,使用color对象较为简单的方法是直接使用color类提供的预定义的颜色.像红色color.red,橙色color.orange等,也可以使用RGB颜色模式进行定义.所谓 ...

  6. 新版标准日本语初级_第三十七课

    语法   1. ば形:表示假定条件.ば形有动词的ば形和一类形容词的ば形. 一类动词:把基本形的最后一个音变成相应え段上的音,再加ば. 基本形 读音 ば形 書く かく かけば 急ぐ いそぐ いそげば 飛 ...

  7. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  8. JavaScript学习(三十七)—实现右键自定义菜单的功能

    JavaScript学习(三十七)-实现右键自定义菜单的功能 代码如下: <!DOCTYPE html> <html lang="en"><head& ...

  9. 深度学习入门(三十七)计算性能——硬件(TBC)

    深度学习入门(三十七)计算性能--硬件(CPU.GPU) 前言 计算性能--硬件(CPU.GPU) 课件 电脑 提升CPU利用率① 提升CPU利用率② CPU VS GPU 提升GPU利用率 CPU/ ...

  10. Slicer学习笔记(三十七)slicer增加分割节点并显示

    Slicer学习笔记(三十七)slicer增加分割节点并显示 1.生成分割结果 1.1.像素保存 1.2.vtkOrientedImageData转vtkMRMLLabelMapVolumeNode ...

最新文章

  1. DevExpress v19.1新版亮点——WinForms篇(五)
  2. tbc服务器状态,魔兽怀旧服:TBC上线近俩月,玩家心态改变,开始涌入60级服务器...
  3. 在 Azure VM 上使用 Jitsi 搭建私人视频会议
  4. javaSE基础代码案例
  5. python自动化安装软件_python自动化安装源码软件包
  6. synchronized与volatile
  7. python 面向对象_多态、内置方法、反射
  8. tomcat上的javaweb项目如何将ip地址更换为域名_Java Web 路线规划
  9. 8.22最短路径讲解
  10. iis php 映射,iis添加php的模块映射
  11. 拉登是我罩的队_软件需求规格说明书
  12. win10无线断开无法连接服务器,win10wifi自动断开什么原因_win10wifi自动断开且无法连接如何解决...
  13. (转)sonicstage 完整删除的方法
  14. 中国PET瓶坯注塑系统行业应用态势与投资前景预测报告(2022-2028年)
  15. redis缓存服务器
  16. 如何恢复计算机我的电脑工具栏,我的电脑工具栏不见了,怎样恢復
  17. 冷启动中的多臂老虎机问题(Multi-Armed Bandit,MAB)
  18. Android解决ViewPager页面滑动空白bug和图片点击bug
  19. 灰色关联度矩阵模型及其MATLAB实现
  20. STM32基础和常见外设

热门文章

  1. 嵌入式系统之CMSIS学习笔记
  2. 数据分析-信用卡反欺诈模型
  3. 怎么用计算机算钱,亚马逊fba费用计算器要怎么使用?
  4. 计算机信息技术学ps吗,小学信息技术photoshop教案.docx
  5. python老男孩14期_老男孩Python完美实战课程 14期视频教程 28周Python视频教程 1-14周部分...
  6. 中科大高级软件工程课程心得
  7. 任玉刚【Android开发艺术探索】读后笔记四
  8. 匈牙利算法解决指派问题
  9. DCMTK读取dcm文件信息环境搭建及经验总结
  10. php 微信签到功能,微信小程序实现签到功能