第三十七课.宽度学习

前置内容

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


级联相关网络的训练
第三十三课的级联相关网络的训练可以展示为以下形式:
fig1
其中,candidate neuron即为候选神经元(即要加入的新节点),训练过程如下:

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

宽度学习的基本结构:RVFLNN

BLS来源于随机向量函数连接网络 random vector functional-link neural network (RVFLNN)的结构。
fig2
RVFLNN多了一个增强层(Enhance Nodes),网络中存在3种连接:

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

可以看出,RVFLNN只有增强层是真正意义上的神经网络单元,因为只有它带了激活函数。下面我们将增强层与输入节点排列到一起:
fig3
网络就变成了由A到Y的线性变换。如果我们随机初始化增强节点的参数并固定(随机初始化 W h , β h W_{h},\beta_{h} Wh,βh),整个网络的训练就是求出A到Y之间的线性变换W: W = A − 1 Y W=A^{-1}Y W=A1Y由于输入 X X X已知,可以很方便求出 A A A,又加上已知 Y Y Y,所以学习将变成只需要一步操作的事情。

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

宽度学习系统

fig4

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

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

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

岭回归

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

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

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

使用最小二乘法求解回归问题的最小化目标为: β ^ = a r g m i n β ∑ i = 1 N ( y ( i ) − β 0 − ∑ j = 1 p β j x j ( i ) ) \widehat{\beta}=argmin_{\beta}\sum_{i=1}^{N}(y^{(i)}-\beta_{0}-\sum_{j=1}^{p}\beta_{j}x_{j}^{(i)}) β =argminβi=1N(y(i)β0j=1pβjxj(i))岭回归就是要在最小化目标上加一个惩罚: β ^ = a r g m i n β { [ ∑ i = 1 N ( y ( i ) − β 0 − ∑ j = 1 p β j x j ( i ) ) ] + λ ∑ j = 1 p β j 2 } \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=1N(y(i)β0j=1pβjxj(i))]+λj=1pβj2}

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 宽度学习(Wide Learning)是一种基于机器学习的方法,通过使用大量的特征输入来构建一个包含多个模型的集成网络。它的核心思想是利用多个子模型的分析能力,从而提高整体模型的性能。 在Matlab中,我们可以使用相关的工具和函数来进行宽度学习的实现。其中,最常用的是神经网络工具箱(Neural Network Toolbox),它提供了一系列用于构建和训练神经网络的函数和工具。 使用Matlab进行宽度学习的步骤如下: 1. 数据准备:首先,需要准备好输入数据和目标变量。可以使用Matlab提供的数据操作函数来读取、处理和预处理数据。 2. 网络搭建:在Matlab中,可以使用神经网络工具箱中的函数来构建宽度学习的网络结构。可以选择不同的网络类型、隐藏层和激活函数来搭建适合问题的神经网络结构。 3. 网络训练:使用准备好的数据集,通过调用Matlab提供的网络训练函数来训练宽度学习网络。可以选择不同的训练算法、优化器和训练参数来优化网络的性能。 4. 网络评估:训练完成后,可以使用Matlab提供的评估函数来评估宽度学习网络的性能。可以计算准确率、损失函数、分类结果等指标来评估网络的性能。 5. 网络应用:训练完成的宽度学习网络可以用于实际应用中,进行预测、分类或其他任务。可以使用Matlab提供的预测函数来应用已训练好的网络进行预测。 总的来说,Matlab提供了丰富的工具和函数来实现宽度学习,并且支持对网络结构、训练算法和评估指标的灵活选择和调整。通过合理设置和训练,可以利用宽度学习在各种领域和问题中取得良好的性能和结果。 ### 回答2: 宽度学习是一种机器学习方法,通过同时考虑各种特征的组合,以获得较好的分类或回归模型。它的核心思想是将数据集中的每个实例特征都考虑为输入,通过组合不同特征的权重和偏差来建立模型。 Matlab是一种广泛应用于科学计算和数据分析的编程语言和工具。在Matlab环境下,宽度学习可以使用各种机器学习工具箱实现。 首先,我们需要导入数据并对数据进行预处理。Matlab提供了丰富的函数和工具来加载数据、清洗数据、特征提取和选择等处理过程。 其次,我们可以使用Matlab的机器学习工具箱中提供的宽度学习算法来建立分类或回归模型。例如,可以使用支持向量机(SVM)、人工神经网络(ANN)或决策树等经典算法。 在建立模型后,我们可以使用训练数据集对模型进行训练,并使用测试数据集对其性能进行评估。Matlab提供了丰富的函数和工具,用于模型训练、预测和性能评估等过程。 此外,Matlab还提供了可视化工具,可以对模型的输入数据、特征权重和输出结果进行可视化分析,帮助我们更好地理解宽度学习的过程和结果。 总之,宽度学习是一种有效的机器学习方法,在Matlab环境下可以使用各种工具和算法实现。通过合理使用Matlab提供的函数、工具与可视化功能,我们可以更好地理解数据特征之间的关系,建立并评估高性能的宽度学习模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值