Libfann R binding 快速神经网络在R上的绑定.

Slides:



Advertisements
Similar presentations
历尽九九八十一难, 唐僧四人终于到达天竺, 取得真经,完成任务。 四人想着难得到天竺一趟, 不如在此游览一番。
Advertisements

一、中国湿地面临的威胁 目前,湿地污染严重,湖泊 富营养化问题突出。随着社 会经济的快速发展,湿地污 染在很长时期内依然严重。 湿地污染 1.
病历书写 中山医院呼吸科 张 新. 定 义 病历是临床医生根据问诊、体格检查、实验 室和其他检查获得的资料经过归纳、分析、整理, 按照规定的格式而写成的;是关于病人发病情况, 病情发展变化,转归和诊疗情况的系统记录。 病历是临床医生根据问诊、体格检查、实验 室和其他检查获得的资料经过归纳、分析、整理,
第十二章 病历书写与要求 病历病历 医务人员在医疗中形成的文字、符号、图表、 影像、切片等资料的总和。 病历书写 通过诊法、诊断、治疗、护理等医疗活动获得有关资 料,进行归纳、分析、整理形成医疗活动记录行为。 病历意义 A 诊疗等的源文件; B 复 / 转 / 会诊,解决医疗纠纷、判定法律责任、医疗保险等的资料和依据;
中共盘县发展和改革局党组主体责任落实情况报告
Artificial Neural Network 人工神经网络.
我们毕业了 毕业留念册 再见老师 姓名:黄巧灵 班级:六(1)班 毕业时间:2012年6月.
专题二:城市化与城乡规划 授课教师:周栋文.
两汉文学及汉代诗歌.
第二章 城市轨道交通系统的构成 城市轨道交通系统的分类 2.1 2.2 车辆与车辆段 2.3 轨道交通限界
延庆县“十二五”时期城乡基础设施 建设规划 2011年03月.
2011届高三地理高考复习课件 拉丁美洲 高三地理备课组.
滚 滚 长 江 安匠初中:李艳阁.
长江的开发 惠州市河南岸中学 谢国文.
基本概論 Basic concepts.
近现代文学概说.
白海豚的分布范围.
超视距安保防范系统 克拉玛依市格恩赛电子科技有限公司 2015年8月.
MARCH 2015 撰寫獨立專題探究報告 工作坊 (上半).
Unsupervised feature learning: autoencoders
-矿产资源勘查开采的有关法律知识介绍 四川省国土资源厅 陈东辉
第二十章 第3节 电磁铁 电磁继电器.
7.2 勻速圓周運動和向心力.
2.2.1 等比数列的概念和通项公式.
数列(一) 自强不息和谐发展 授课教师:喻永明.
长江.
新北市廠商聯合抗旱會議 104年3月23日.
陆路交通发达,公路、铁路交通为主,基本上没有水运
第二章 工程造价计价依据第一节 施工定额 概 述 工作时间的研究分析 劳动定额 材料消耗定额
第十一章 真理与价值 主讲人:阎华荣.
台灣的名勝古蹟.
103年高雄市自然與生活科技學習領域教學研習 動物單元的 教學理念與實踐 講師:屏東縣和平國小 周鳳文.
神 山 圣 湖.
世界地理总论 人文地理概况.
第四章 水域生物群.
东京城市建设史简述.
贵州讲解.
第七章 固 定 资 产.
院系:政史学院历史系 班级:10级4班 学号: 姓名:蒋阿晴
台灣史總複習.
做最好的自己 ——七(6)班主题班会.
國文報告 儒家生死文化討論 不死鳥 組員 972BP001 彭科強 972BP008 王薪榕 972BP025 彭裕宗
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
契約 課程:文書實務與應用 教師:黃湃翔老師.
行政院國軍退除役官兵輔導委員會 嘉義榮民醫院.
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
Source: IEEE Access, vol. 5, pp , October 2017
第五章 数组和 广义表 数组 稀疏矩阵 广义表.
Advanced Artificial Intelligence
奢侈稅成效分析與房市未來發展 吳中書 中華經濟研究院 第十九屆亞太財務經濟會計及管理會議 ~07.09.
2002年国家自然科学奖答辩材料剪辑 此获奖项目包含三大部分 这里仅介绍 神经网络非线性逼近理论 上世纪 90年代的热点课题
1 試求下列各值: cos 137°cos (-583°) + sin 137°sin (-583°)。
資料結構 第4章 堆疊.
Sparse Autoencoder 稀疏自动编码器 王鹏宇.
類神經網路簡介 B 朱峰森 B 梁家愷.
公立學校教職員退休資遣撫卹條例重點說明 苗栗縣政府人事處編製 主講人:陳處長坤榮 107年5月2日.
1 在平面上畫出角度分別是-45°,210°,675°的角。 (1) (2) (3)
前向人工神经网络敏感性研究 曾晓勤 河海大学计算机及信息工程学院 2003年10月.
1-2 廣義角與極坐標 廣義角 1 廣義角的三角函數 2 廣義角三角函數的性質 3 極坐標 廣義角與極坐標 page.1/19.
Convolutional Neural Network
3-3 錐度車削方法 一、尾座偏置車削法 二、錐度附件車削法 三、複式刀座車削法.
資料結構簡介 綠園.
第六节 无穷小的比较.
全台灣最美的日出好美…好美… 這就是傳說中的潑墨二寮,耳聞她的日出有如國畫般 所以稱為潑墨二寮
神经网络 Statistical Learning 方匡南 厦门大学教授 博士生导师.
三角比的恆等式 .
轉換成二進位、八進位及十六進位 = ( ) = ( ) = ( )16.
第八章 异步电动机.
三角 三角 三角 函数 已知三角函数值求角.
Presentation transcript:

libfann R binding 快速神经网络在R上的绑定

视神经传导分层 Picture from Simon. Thorpe

Nerual Network

Activation Function

libfann 介绍 主要特点: C开发、多层、易用、快速、多参数易调节 支持NN BP 多种方法 (RPROP, Quickprop, Batch, Incremental) 主要语言种类: C++、Java、Ada、PERL、PHP、Python、Ruby、Visual Prolog 7 计算相关的: Mathematica、Matlab、Octave

rfann下载及安装 获取软件包: https://sourceforge.net/projects/rfann/ 获取软件包: https://sourceforge.net/projects/rfann/ *NIX 环境,gcc 开发工具环境 安装命令 R CMD INSTALL ./fann.tgz

rfann 之 R API fann_create fann_SetOpt fann_opts fann_Commit fann_train fann_test fann_save fann_read fann_version_info

rfann参数 [1] "------------------------------------------------------------" [2] "network type [ LAYER | SHORTCUT ] Can't be set" [3] "network_type=FANN_NETTYPE_LAYER" [5] "------------------------------------------------------------" [6] "ann type [ Simple | Cascade | Expand | Sparse ] For Create" [9] "-------------------- Basic parameters --------------------" [10] "init_weight=Init" [11] "num_layers=2" [12] "" [13] "num_input=2" [14] "num_output=1" [15] "num_neurons_hidden=3" [16] "desired_error=0.002000" [17] "-------------------- Expand parameters --------------------" [18] "randomize_weight_high=0.350000" [19] "randomize_weight_low=0.350000" [20] "learning_rate=0.700000" [21] "connection_rate=0.200000" [22] "bit_fail_limit=0.010000" [23] "max_epochs=10000" [24] "epochs_between_reports=1000" [25] "learning_momentum=0.700000" [26] "------------------------------------------------------------" [27] "train algorithm: [ INCREMENTAL | BATCH | RPROP | QUICKPROP ]"

rfann参数 cont. [30] "------------------------------------------------------------" [31] "error function: [ LINEAR | TANH ]" [32] "train_error_function=FANN_ERRORFUNC_TANH" [33] "" [34] "------------------------------------------------------------" [35] "stop function: [ MSE | BIT ]" [36] "train_stop_function=FANN_STOPFUNC_BIT" [37] "" [38] "-------------------- rprop parameters ---------------------" [39] "quickprop_decay=-0.000100" [40] "quickprop_mu=1.750000" [41] "rprop_increase_factor=1.200000" [42] "rprop_decrease_factor=0.500000" [43] "rprop_delta_min=0.000000" [44] "rprop_delta_max=50.000000" [45] "rprop_delta_zero=0.000000" [46] "" [47] "activation_steepness_hidden=2.000000" [48] "activation_steepness_output=4.000000" [49] "------------------------------------------------------------" [50] "Options below [ LINEAR | THRESHOLD | THRESHOLD_SYMMETRIC ]" [51] "cont: [ SIGMOID| SIGMOID_STEPWISE| SIGMOID_SYMMETRIC | SIGMOID_SYMMETRIC_STEPWISE ]" [52] "cont: [ GAUSSIAN| GAUSSIAN_SYMMETRIC | GAUSSIAN_STEPWISE ]" [53] "cont: [ ELLIOT | ELLIOT_SYMMETRIC" [54] "cont: [ LINEAR_PIECE | LINEAR_PIECE_SYMMETRIC ]" [55] "cont: [ SIN_SYMMETRIC| COS_SYMMETRIC | SIN | COS ]" [56] "------------------------------------------------------------" [57] "activation_function_hidden=FANN_SIGMOID_SYMMETRIC" [58] "activation_function_output=FANN_GAUSSIAN_SYMMETRIC"

例程 library(fann) x<-c( 1, 1,-1,-1, 1,-1, 1,-1) dim(x) <- c(4,2) y<-c(-1,1,1,-1) ann<-fann_create(num_layers=3,layer1=2,layer2=2,layer3=1,num_neurons_hidden=3); fann_SetOpt(ann,bit_fail_limit=0.35,train_stop_function="MSE") fann_SetOpt(ann,........) fann_Commit(ann) fann_train(ann,x,y) fann_save(ann,"./xortemp.net") o<-fann_test(ann,x,y)

rfann中的结构 Nncomon.h FannOpt.c FannProc.c FannData.c typedef struct FANNOPT { char *optname; int type; FANNCODE opt; // (void *) value; } FannOpt; FannOpt.c FannProc.c FannData.c

遗留问题 *NIX 版本 list 类型的支持 fann GUI 目前在R-exts还不能解析list类型 图形化显示rfann结构 图形化显示训练过程

rfann适用局限性 训练时间长:人工神经网络需要长时间的训练,有时可能使之变得不实用。大多数简单问题的网络训练需要至少上千次迭代,复杂问题的训练可能需要多达数万次迭代。 需大量训练数据:只有少量输入-输出数据,一般不考虑使用人工神经网络。 不能保证最佳结果:训练可能导致网络发生偏离,使之在一些操作区域内结果准确,而在其他区域则不准确。此外,在训练过程中,有可能偶尔陷入“局部最小”。 不能保证完全可靠:尽管这一点对所有的计算问题均适用,但对人工神经网络尤其如此。需要高度可靠的问题,在采用人工神经网络时必须小心谨慎。生物制药【Eric Xing】、金融程序交易④、火控;

结论:神经网络的隐层 隐层数 通常增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向。Hornik等早已证明:若输入层和输出层采用线性转换函数,隐层采用Sigmoid转换函数,则含一个隐层的MLP网络能够以任意精度逼近任何有理函数。□ 一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。

推荐阅读材料 Steffen Nissen Implementation of a Fast Artificial Neural Network Library (fann) Anil K.Jain Jianchang Mao K.M Mohiuddin: Artificial Neural Network:: A Tutorial IEEE March 1996 Ben Krose Patrick van der Smagt An introduction to Neural Networks eighth edition JingTao YAO &Chew Lim TAN (10.1.1.18.6874) Guidelines for Financial Forecasting with Neural Networks

感谢