2013-05-01 29 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