请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

搜索
查看: 368|回复: 4

MeteoInfo机器学习工具箱:miml

[复制链接] |关注本帖

新浪微博达人勋

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 MeteoInfo 于 2019-3-8 16:58 编辑

MeteoInfoLab的脚本语言是Jython,可以直接使用Java类库。机器学习目前Python(CPython)大行其道,不过Java语言的机器学习库也有不少,比如:Deeplearning4j, Weka, Encog等。Encog支持丰富的神经网络算法,内部具有并行运算功能,有Java和.Net两个版本。这里利用Java版的Encog库进行了简单的封装,提供了FeedforwardNetwork类来创建神经网络,添加网络层,设置训练方法、激活函数等参数,对已知数据进行训练,最后预测结果。

miml工具箱已经打包在MeteoInfo软件中(MeteoInfo -> toolbox -> miml目录),github上的代码仓库:https://github.com/Yaqiang/miml 。该工具箱的使用也很简单,这里用神经网络的一个最基本的XOR问题来说明。AND和OR都很容易理解,XOR是运算符两边不同则为真,可以表示如下:
1 AND 1 -> 1        1 OR 1 -> 1        1 XOR 1 -> 0
1 AND 0 -> 0        1 OR 0 -> 1        1 XOR 0 -> 1
0 AND 0 -> 0        0 OR 0 -> 0        0 XOR 0 -> 0

MeteoInfoLab脚本如下:
  1. import miml

  2. indata = array([[0,0],[1,0],[0,1],[1,1]])
  3. ideal = array([0,1,1,0])
  4. net = miml.FeedforwardNetwork(5, 'trainlm')
  5. net.layers[0].set_activation('tanh')
  6. net.train(indata, ideal, isprint=True)
  7. print net.predict([0,0])
  8. print net.predict([0,1])


先引入miml包(import miml),训练用的输入数据为:indata = array([[0,0],[1,0],[0,1],[1,1]]),真值:ideal = array([0,1,1,0])。然后构建神经网络(缺省为输入层,一个隐含层,输出层),隐含层的神经元数设为5,训练方法设为trainlm,将隐含层的激活函数设为tanh,然后进行训练。训练完成后就可以利用这个神经网络进行预测了。

运行结果如下(神经网络的特征决定了每次运行的结果都可能不一样)。输入为[0, 0]时,XOR的真值为0,这里的预测值为0.003811562449670306;输入为[0, 1]时,XOR的真值为1,这里的预测值为0.9890792015360702。

Epochs 1: Error=0.510
Epochs 2: Error=0.269
Epochs 3: Error=0.041
Epochs 4: Error=0.009
Epochs 5: Error=0.000
array([0.003811562449670306])
array([0.9890792015360702])
密码修改失败请联系qq:937062711

新浪微博达人勋

发表于 2019-3-8 16:21:43 | 显示全部楼层 |取消关注该作者的回复
{:eb502:}{:eb502:}
密码修改失败请联系qq:937062711

新浪微博达人勋

发表于 2019-3-8 16:28:22 | 显示全部楼层 |取消关注该作者的回复
好厉害!学习学习!
密码修改失败请联系qq:937062711

新浪微博达人勋

发表于 2019-3-8 17:08:43 | 显示全部楼层 |取消关注该作者的回复
有机会请王老师来给我们讲一下这个东东
密码修改失败请联系qq:937062711

新浪微博达人勋

发表于 2019-3-12 14:29:25 | 显示全部楼层 |取消关注该作者的回复
{:eb511:}{:eb511:}
密码修改失败请联系qq:937062711
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表