文档章节

ELM——一种适用于经济学和大数据的机器学习方法

nextowang
 nextowang
发布于 2016/10/22 22:46
字数 2241
阅读 2594
收藏 1

极限学习机的机制

ELM模型

ELM是一种具有快速训练训练集的单层前馈网络,在网络中只有三个层:the Input Layer,the Hidden Layer和the Output Layer。如图所示的三层结构,

在Input Layer中对于每个训练集的每个样本都会有对应的权值和偏移量,ELM中提供两种方式:一种是手动输入这些权值和偏移量,另一种方式是ELM通过ELM toolbox自动生成权值和偏移量,但是随机并不是随意的生成而是根据原始数据的规模和sigmoid神经元函数来进行生成。对于一个线性的Output Layer,随机生成权值会更能体现ELM性能优势。

隐藏层

隐藏层有两种神经元形式:隐藏神经元和RBF(径向基函数)神经元

这两种神经元主要的区别是激活方式不同,隐藏神经元的激活函数包括:Linear,non-Linear或者其他函数(sigmoid, hyperbolic, tangent, threshold等等);RBF神经元是通过神经元到中心点的距离,权值W(正如输入到隐藏层的距离)

隐藏层的矩阵

如下图将ELM神经网络用矩阵的形式表示

其中X表示输入矩阵,T表示对应的label矩阵,隐藏层的矩阵H如下

理论上讲,只有一个矩阵描述两个线性空间(输入和输出)之间的映射,所以ELM可以看作是两个映射:输入WX和输出,映射关系是 。隐藏的神经元的数量调节矩阵的大小 W,H 和 ,但是他们并不是分开的。对于不同类型的隐藏神经元,对于每种类型的神经元独立地执行第一映射和变换。 然后,所得到的子矩阵H1连接下一个矩阵,如以下扩充方式:

线性的神经元则通过简单地将输入复制到ELM的隐藏层中,如下扩充方式

ELM分类

正如开篇所说,ELM是一个回归模型,但也适用于分类

如果不同的类别是分开的并且是独立的,则分别为每个类别创建一个目标,能够匹配的类的目标是1,不匹配的目标设置为0。该编码为每个类别创建单位长度向量,其与所有其他类别的向量正交。不同类别的目标向量之间的距离是相同的,因此保持类独立性。 根据具有最大ELM输出的目标来分配预测类别。

 

模型结构选择

模型结构选择防止ELM从数据中学习噪声和过拟合。它通过人为地限制ELM的学习能力来实现。模型结构选择过程通过改变模型参数或者对模型应用正则化来找到最优性能

ELM的hyper-parameter是隐藏神经元的数量,其能够控制ELM有效参数的数量。通过验证集,交叉验证或弃一法交叉验证(ELM中最有效)来找到神经元的最佳数量。隐藏的神经元可以被随机地添加和移除,或者它们可以通过它们与问题的相关性来排序。这种排名被称为“最优修剪”,它实现更好的性能与更长的运行时间的权衡。神经元修剪方法对应于L1正则化。

ELM中可用的另一种模型结构选择技术是Tikhonov正则化[34]。它通过减少神经元输出的影响而不用自己去除神经元来减少模型参数的有效数目。 Tikhonov正则化对于实现近单个ELM中的数值稳定性(以及一般的线性问题)是有效的。这种正则化对应于L2-正则化,并且可以与L1组合以获得最佳结果。

模型结构选择在大数据任务中不太重要,因为在大量样本中,模型学习忽略噪声。大型任务通常是复杂的,甚至在硬件的极限情况下也不能超载。此外,大多数模型结构选择方法显着增加运行时间,这是训练大型ELM模型的限制因素。

极限学习机的操作

之前自己简单的学习了一下机器学习的东西主要是从应用层面学习了一下,借助scikit-learn的库进行模型调用,拟合和预测,如下是借用一些国外高等学校的数据和部分模板代码来与我们的elm进行比较,代码很简单,需要跑一下python代码的朋友可以直接邮件我,下面是我的邮箱:

nextowang@stu.xidian.edu.cn

如下图是测试数据原始点的分布

下面是用RandomForest对训练数据拟合,然后对测试数据进行分类,

下面是elm的拟合和预测,

                              激活函数sigm                                             激活函数tanh

对应的准确率
 
 

极限学习机的性能分析

在大数据集中的分析

大数据集是6个相对较大的数据集,可从具有清晰预测目标的UCI机器学习库获得。每个数据集分为训练和测试部分,以HDF5文件格式存储,并针对所有要素归一化为零均值和单位方差。大型数据集在没有模型结构选择的情况下测试,但是多个ELM是用不同数量的隐藏神经元构建的。

在大数据中的分析

大数据从面部/皮肤检测数据集获得,这些数据是4000张有不同光线,环境及不同肤色的手工制造的人脸面具,皮肤占据所有图像中大约20%的像素。 数据集分为2000个训练和2000个测试图像。将每个图像像素分类为皮肤或非皮肤。,数据集输入是以分类像素为中心的7×7像素的RGB颜色值。 省略图像的3像素宽边界。 总共有7×7×3(RGB)= 147个特征和 (十亿)个数据样本。 当以双精度存储时, 以HDF5格式存储了1.1 TB数据集。 从训练/测试图像创建用于所有训练和所有测试样本的两个单独的数据集。 数据特征(像素的颜色值)被归一化为零均值和单位方差。 单个ELM训练有19,000个神经元,受可用GPU内存的限制。 性能在这些19,000个神经元的不同大小的子集上进行测试。
通过训练一个ELM与19,000 Sigmoid隐藏的神经元来解决在147维空间中具有5亿个训练样本,加权分类用于抵消两个目标类之间的不平衡。计算是通过将数据分成小部分,每个大约1小时的处理时间来完成的。这为了防止在计算机故障的情况下的数据丢失,并且允许并行化。
与大数据集相比,皮肤检测大数据的数据集为ELM模型设置了两个额外的挑战:它需要平衡分类,因为两类中的数据量不均匀(皮肤的17%和非皮的83%);它还需要测试不同数量的神元,以找出19,000隐藏神经元是否满足。如果有任何过拟合,上述两个就会出现相应的问题。由于所使用的平衡分类方法,测试精度图显示了对于皮肤像素分类的非常好的结果。 没有平衡分类的ELM将严重偏向于预测非皮肤的像素,其是数据集中的样本的83%。 皮肤分类精度的改善减慢了超过128个隐藏的神经元,因此较小的ELM可以用于检测皮肤。 然而,非皮肤的分类精度稳定地增加到神经元的最大数量。 这可以通过比皮肤像素掩模更多种类的非皮肤像素面具来解释。 即使在19,000个神经元中,ELM也不会过度拟合,虽然在大量隐藏神经元的情况下性能增益降低。

总结

本文提出了一种用于高度可扩展的极限学习机的方法和工具箱。 此工具包创建广义SLFN(Single-Layer Feed-forward Networks)并使用ELM方法训练它们,但可以是用于未来多层ELM的工作的构建块。 它是快速,易于安装和易于使用。 它解决了各种数据集的分类和回归问题 - 小型模型结构选择和正则化,大型加速计算

© 著作权归作者所有

nextowang
粉丝 1
博文 7
码字总数 12120
作品 0
西安
程序员
私信 提问
Elm 0.18 发布,函数式反应编程语言

Elm 0.18 发布了,主要更新如下: Bad Recursion — 清除突变导致的混乱 Type Annotations — 在添加类型注释时改进提示 Missing Arguments — 当忘记参数时提示 Record Precision — 使大小...

王练
2016/11/15
1K
12
大数据领域开源技术,除了 Hadoop 你还知道哪些?

众所周知,大数据正在以惊人的速度增长,几乎触及各行各业,许多组织都被迫寻找新的创造性方法来管理和控制如此庞大的数据,当然这么做的目的不只是管理和控制数据,而是要分析和挖掘其中的价...

王练
2016/10/05
5.7K
5
【学术】成本效益分析和成本效果分析

成本效益分析是通过比较项目的全部成本和效益来评估项目价值的一种方法,成本—效益分析作为一种经济决策方法,将成本费用分析法运用于政府部门的计划决策之中,以寻求在投资决策上如何以最小...

CS青雀
2018/10/15
0
0
何大安:大数据思维改变人类认知的经济学分析

一 经济学因果思维模式及其局限性 在人类改造自然和变革制度的历史长河中,认知水平在相当长的时期内是受制于数据积累的。在农业时代,人们主要是靠文字记载和简单数学工具等进行数据积累,数...

技术小能手
2018/07/20
0
0
大数据时代政府宏观调控的思维模式

政府作为宏观调控的行为主体,其选择行为在受到动机、偏好、认知和效用期望等内生规定的同时,也会在一定程度上受科技进步及其实施手段的影响。大数据、人工智能和互联网或物联网等的发展,正...

技术小能手
2018/08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

观点 | 用 MySQL 数据库,到底会不会被“卡脖子”?

>作者:明溪源 **用 MySQL 数据库,到底会不会被“卡脖子”?** 在近期不明朗的贸易形势下,一些正在规划数据库选型、迁移的用户,纷纷询问我们对 MySQL 未来前景的看法。那么使用 MySQL 数据...

爱可生
26分钟前
10
0
千万级流量架构下的负载均衡解析

一、负载均衡 负载均衡算法 转发实现 二、集群下的 Session 管理 Sticky Session Session Replication Session Server 一、负载均衡 集群中的应用服务器(节点)通常被设计成无状态,用户可以...

李红欧巴
30分钟前
71
0
一元建站-基于函数计算 + wordpress 构建 serverless 网站

前言 本文旨在通过 快速部署一个 wordpress 网站到阿里云函数计算平台 这个示例来展示 serverless web 新的开发模式, 包括 FUN 工具一键初始化 NAS, 同步网站到 NAS, 一键部署等能力, 展现函...

阿里云官方博客
32分钟前
5
0
Spring Security 整合JWT(四)

一、前言 本篇文章将讲述Spring Security 简单整合JWT 处理认证授权 基本环境 spring-boot 2.1.8 mybatis-plus 2.2.0 mysql 数据库 maven项目 Spring Security入门学习可参考之前文章: Spri...

郑清
33分钟前
7
0
零基础怎么玩转可视化大屏?这个工具只需5步!

大屏可视化怎么这么火?领导天天要,业务人员、开发人员、IT页面师就得一块熬夜加班,要是不会做大屏,都不好意思说自己做报表、做IT。 也许有人会告诉你,可视化大屏可以用JS+Ecahrts编程实...

朕想上头条
35分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部