2013-05-01 30 views
0

我一下子对这个问题没有特别的愤怒,也许它不适合这个网站)。所以我最近产生了兴趣,人工智能,但梅伊关心如何做到这一点,我写了一个小程序,模仿它:构建人工网络的方法

import java.util.Scanner; 

public class ai1 { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 

     System.out.println("Ask fo me: "); 
     Scanner sc = new Scanner(System.in); 
     String line = sc.nextLine(); 

     if(line.equalsIgnoreCase("hello")){ 
      System.out.println("hello friend)"); 
     } 

    } 

} 

但你也知道,这样的方案将是一个很大的建设:

if{ 

} 

越需要很长的时间,只是不能写。你怎么看,你怎么还能做一个人造智能原型,他给了一些原创的东西? 也许你有什么想法?

只是说,我并不是想要把大脑比喻一下,我只想写能长时间学习和跟我说话的智力对话者。预先感谢您的回答。

UPD

的Java可能不是很适合这个,但它是我所知道的唯一的事情)

UPD 2

或许也有这样的计划对话者的例子,或者他们构建大量材料的网站 (这是希望它们在Java上)

UPD 3

主要的问题,我很感兴趣的是如何让它学习者

回答

1

几年前,我在类似的情况,我感到很惊讶与神经网络,并希望实现他们自己。但毕竟这一次我只能建议 - 不要把头撞到已经打开的门上。重用别人的工作 - 特别是我可以使用FANN建议,据我所知,其中可能有一些JAVA(它是C++库)的包装。


编辑

正如上面提到的,你不需要自己以了解它来实现神经网络;我建议你看看这个视频:machine learning

这是由麻省理工学院,哈佛大学的免费在线学习的主动性和其他大学的数量提供了相当不错的,当然只是一个单一的讲座 - 退房here

事实上真正了解神经网络远比实施神经网络要多得多。你可能会成功地实现它,甚至可能是一些很好的学习算法,但你仍然不明白你在做什么。我讲的是基于我的经验 - 我曾经想过,只要建立它就能理解事情,我可以告诉你这是浪费时间。首先要学习真正理解这个主题,成为它的专家,同时学习使用由社区数量提供的开源资料 - 如FANN,然后,一旦你了解了该领域,你可能想要实现一些东西来解决你的具体问题,以及更重要的是你可以改进你选择的社区所开发的解决方案,这样其他人就可以利用你的时间和智慧!

所以我希望你快乐:-)

+0

非常感谢你我只是好奇地写所有这些来理解 – 2013-05-01 11:07:27

+0

我明白你在说什么,只能补充说我有同样的愿望。你可以编写简单的ANN并实现简单的反向传播算法,并花费相当长的时间来使这个程序实际上做一些事情,从可用性的角度来做一些敏感的事情:-)有了FANN,我们称之为基础设施(所以你不要不需要实现数据类型等),你可以专注于使用人工神经网络(这是更复杂的任务)。关于这个问题有很多不错的书,但不要指望人们在这个领域非常高兴地分享他们的想法:-) – Greg0ry 2013-05-01 11:16:32

2

我恭敬地Greg0ry的答案不同意学习。如果你真的想学习神经网络,自己实现一个。这并不难,但它带你几天。你应该准备好读很多东西。在我设计我的网络之前,我花了几天的时间编写一些示例代码并阅读。但让我告诉你,这是值得的!那里还有一个批次的资源。一个很好的例子就是使用神经网络来实现XOR门,这应该给你一个很好的起点。

如果你有兴趣,你可以看看我的示例代码here。这很简单,因为它是一个业余爱好项目,并不像其他项目那么复杂。我也有a video解释反向传播算法。

+0

我建议我们删除我们的评论,因为他们没有太多的主题。 – Greg0ry 2013-11-04 10:51:20

+0

@ Greg0ry够了! – 2013-11-04 16:25:42