要從事大數據與人工智能的學習與研究,首先要對大數據、人工智能的基本概念、研究范疇有一個概要性的認識。然后明確自己的學習目標,制訂為實現這個目標的學習路線,按照既定路線有計劃地進行學習。下面將圍繞這幾個方面進行介紹。
一、大數據的基本概念
數據是事實或觀察的結果,不僅指狹義上的數字,還可以是具有一定意義的文字、字母、數字符號的組合、圖形、圖像、視頻、音頻等,也是客觀事物的屬性、數量、位置及其相互關系的抽象表示。
大數據具有5V特點,即:Volume(數據量非常大)、Velocity(產生數據的速度非常高)、Variety(數據形式多樣)、Value(數據價值密度低)、Veracity(數據具有真實性)。
大數據的起始計量單位至少是PB(1000多個TB)、EB(100多萬個TB)或ZB(10億多個TB)。數據類型包括網絡日志、音頻、視頻、圖片、地理位置信息等,種類繁雜。
由于大數據的量非常大,具有結構化、半結構化、非結構化特征,無論從儲存、計算等方面,傳統的方法已難以處理。這就需要發展專門用于大數據處理的技術、系統、方法。
二、人工智能的基本概念
人工智能是對以人類為主的自然智能的功能、結構的模擬和延伸。要了解機器學習和人工智能,首先應知道什么是自然智能。
自然智能主要指人類智能,也包括一些生物的群體智能。對于人類智能,普遍認為應包括以下幾種能力。
1. 通過眼睛、耳朵、鼻子、身體表面的末梢神經來感知與認識客觀事物、客觀世界與自我的能力;
2. 通過學習取得經驗、積累知識的能力;
3. 運用知識和經驗分析問題并解決問題的能力;
4. 推理、判斷、決策的能力;
5. 行為能力。
此外,人類智能還包括:運用語言進行抽象、概括的能力;發現、發明、創造、創新的能力;實時地、迅速地、合理地應付復雜環境的能力;預測、洞察事物發展變化的能力,等等。
除了人類個體智能以外,人類個體間的協作還體現出群體智能。主要表現在不同個體間如何進行分工與協作、信息溝通與交換等能力。
一些生物也能夠通過大量個體間的相互協作,表現出一定的群體智能,如螞蟻覓食、魚類覓食、蜜蜂采蜜等,都表現出驚人的群體智能。
智能行為具有試探性、不精確、甚至允許出現錯誤等特點,關于人類智能的研究,人們的觀點具有不統一性,關于人類智能如何由物質產生,科學家還沒有徹底研究清楚。
人工智能是使用機器模仿、延伸和擴展人的智能,根據人類智能的表現,則人工智能相應地要研究如何賦予機器感知、思維、學習、行為等能力。
機器感知,是要讓計算機具有類似于人的感知能力,如視覺、聽覺、觸覺、嗅覺、味覺。人們對機器感知的研究已在人工智能中形成了一些專門的研究領域,如計算機視覺、模式識別、自然語言理解等。
機器思維是讓計算機能夠對感知到的外界信息和自己產生的內部信息進行思維型加工。為了實現機器的思維功能,需要在知識的表示、組織及推理方法,各種啟發式搜索及控制策略,神經網絡、思維機理等方面進行深入研究。
機器學習是讓計算機能夠像人那樣自動地獲取新知識,并在實踐中不斷地完善自我和增強能力。機器學習是機器具有智能的重要標志,也是人工智能研究的核心問題之一。目前人們已經研究出了不少機器學習方法,如記憶學習、歸納學習、解釋學習、發現學習、神經學習、遺傳學習等。
機器行為是讓計算機能夠具有像人那樣的行動和表達能力,如走、跑、拿、說、唱、寫、畫等。機器行為可看成智能系統的輸出,如智能控制、智能制造、智能調度、智能機器人等。
有了以上對大數據和人工智能的基本理解,就可以明確目標,制訂科學的學習路線。
三、大數據的建議學習路線
1. Java語言,以java語言為基礎掌握面向對象編程思想;
2. 數據結構與算法;
3. 數據庫原理與MYSQL數據庫;
4. LINUX操作系統,掌握LINUX下的管理命令、用戶管理、網絡配置管理等,掌握SHELL腳本編程;
5. Hadoop,包括分布式文件系統HDFS和分布式計算框架MapReduce;
6. 分布式數據庫技術HBASE;
7. 數據倉庫HIVE;
8. Python語言;
9. Spark高級編程技術;
10. 真實大數據項目實戰。
四、人工智能的建議學習路線
人工智能涉及多學科交叉,研究和應用范疇非常廣泛。大致來講,人工智能的研究內容可以粗略地分為知識表示、搜索技術、自動推理、機器學習、專家系統、分布式人工智能、機器人學、自然語言處理等。
鑒于你要學習大數據和人工智能,應該把機器學習作為人工智能的一個主要學習內容。
機器學習分為監督學習、無監督學習、半監督學習,以及其他算法。典型的機器學習方法有:回歸分析、分類(決策樹、支持向量機、神經網絡)、聚類(K-means)、降維、特征抽取等。
建議使用Pythony語言和scikit-learn機器學習庫進行機器學習的學習和練習。
Python可使用 Anaconda版本,它涵蓋了NumPy, SciPy, Matplotlib, scikit-learn, scikit-image等許多常用的模塊,不需要用戶自己逐個安裝,非常適合初學者。
scikit-learn提供一系列有監督和無監督的學習算法,提供數據預處理、回歸、分類、聚類、降維、模型選擇等功能。它提供大量的API,涵蓋聚類、交叉驗證、數據集、降維、集成學習、特征選擇、特征抽取、參數調優、監督學習、流形學習,幾乎涵蓋了機器學習的每個領域。用戶可以很方便的使用。
在熟悉了這些機器學習方法后,建議你再掌握一個深度學習框架。TensorFlow是Google推出的一款開源人工智能學習系統,是一個基于數據流編程的符號數學系統,被廣泛應用于各類機器學習算法的編程實現。Tensorflow擁有多層級結構,可部署于各類服務器、PC終端和網頁,并支持GPU和TPU高性能數值計算。
此外Facebook人工智能研究院(FAIR)提出的PyTorch也是一個開源的Python機器學習庫,它是一個基于Python的可續計算包,提供兩個高級功能:1、具有強大的GPU加速的張量計算(如NumPy)。2、包含自動求導系統的的深度神經網絡。
至于選擇使用哪個深度學習框架,由你自己決定。
掌握了大數據技術、機器學習、深度學習等知識和實踐技能,你的個人價值將會得到極大提升,就業前景將非常廣闊。希望我的回答能夠幫助你。