机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4862|回复: 4
打印 上一主题 下一主题

Deep Learning代码

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-24 14:55:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xmubingo 于 2013-4-24 14:57 编辑

Github中地址:    https://github.com/yusugomori/DeepLearning


我试过DBN可以运行,并且输入输出很简单。

训练数据:
  1.                 // training data
  2.                 int[][] train_X = {
  3.                         {1, 1, 1, 0, 0, 0},
  4.                         {1, 0, 1, 0, 0, 0},
  5.                         {1, 1, 1, 0, 0, 0},
  6.                         {0, 0, 1, 1, 1, 0},
  7.                         {0, 0, 1, 1, 0, 0},
  8.                         {0, 0, 1, 1, 1, 0}
  9.                 };

  10.                 int[][] train_Y = {
  11.                         {1, 0},
  12.                         {1, 0},
  13.                         {1, 0},
  14.                         {0, 1},
  15.                         {0, 1},
  16.                         {0, 1},
  17.                 };
复制代码
train_X中保存训练数据,6个样本,每个样本有6维。
train_Y中保存训练数据的类标。6个样本对应6个类标。

测试数据:
  1.                 // test data
  2.                 int[][] test_X = {
  3.                         {1, 1, 0, 0, 0, 0},
  4.                         {1, 1, 1, 1, 0, 0},
  5.                         {0, 0, 0, 1, 1, 0},
  6.                         {0, 0, 1, 1, 1, 0},
  7.                 };

  8.                 double[][] test_Y = new double[test_N][n_outs];
复制代码
test_X中保存测试数据,4个样本,每个样本还是6维。
test_Y中保存预测出来的每个类别概率分布。

比如,运行之后test_Y为:
  1. 0.5345716009870072 0.46542839901299277
  2. 0.5289767904336489 0.47102320956635113
  3. 0.05782124949129521 0.9421787505087047
  4. 0.051671964708330416 0.9483280352916696
复制代码



还有C,C++,python版本的代码。可以在附件中下载。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 2013-4-24 16:42:37 | 只看该作者
提示: 该帖被管理员或版主屏蔽
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2013-4-24 16:58:36 | 只看该作者
支持double类型的输入。

原代码是int数据,不太适用,还是double类型好。牵一发而动全身,我已经将double类可运行代码改好。

入口也比较简单:
  1.         public static void main(String[] args) {

  2.                 double[][] train_X = { { 1, 1, 1, 0, 0, 0 }, { 1, 0, 1, 0, 0, 0 },
  3.                                 { 1, 1, 1, 0, 0, 0 }, { 0, 0, 1, 1, 1, 0 },
  4.                                 { 0, 0, 1, 1, 0, 0 }, { 0, 0, 1, 1, 1, 0 } };

  5.                 double[][] train_Y = { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 0, 1 },
  6.                                 { 0, 1 }, { 0, 1 }, };

  7.                 // test data
  8.                 double[][] test_X = { { 1, 1, 0, 0, 0, 0 }, { 1, 1, 1, 1, 0, 0 },
  9.                                 { 0, 0, 0, 1, 1, 0 }, { 0, 0, 1, 1, 1, 0 }, };

  10.                 double[][] test_Y = new double[4][2];

  11.                 test_dbn(train_X, train_Y, test_X, test_Y);

  12.                 // test
  13.                 for (int i = 0; i < 4; i++) {
  14.                         for (int j = 0; j < 2; j++) {
  15.                                 System.out.print(test_Y[i][j] + " ");
  16.                         }
  17.                         System.out.println();
  18.                 }
  19.         }
复制代码






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

地板
发表于 2013-7-14 20:58:42 | 只看该作者
应邹老师要求,我把师兄的代码封装成了weka中的分类器,这样大家就可以比较方便地体验一下Deep Learning了。

DL确实很难,因为神经网络就不容易。。。超多的参数,大家对参数有什么见解也希望可以分享一下~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2013-7-19 21:52:48 | 只看该作者
AmBeta 发表于 2013-7-14 20:58
应邹老师要求,我把师兄的代码封装成了weka中的分类器,这样大家就可以比较方便地体验一下Deep Learning了。 ...

赞!
原作者的代码仍然有点粗糙,我并没有很好的理解dbn的原理,所以也无从下手,相信你能做的更好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-11-27 05:22 , Processed in 0.071378 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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