0基礎如何入門人工智慧?
來源:網際網路學術
一、人工智慧的發展現狀
1.1 概念
根據維基百科的解釋,人工智慧是被機器展示的智力,與人類和其他動物的自然智慧相反,在電腦科學中 AI 研究被定義為 “代理人軟體程式”:任何能夠感受周圍環境並且能最大化它成功機會的裝置。
1.2 重大事件
2016 年 3 月 ,AlphaGo 與當時世界排名第四、職業九段棋手李世石,進行圍棋人機大戰,以 4:1 總比分獲勝。
2016 年 10 月 ,美國白宮釋出了《為未來人工智慧做好準備》和《美國國家人工智慧研究與發展策略規劃》兩份重磅報告,詳細闡述了美國未來的人工智慧發展規劃以及人工智慧給政府工作帶來的挑戰與機遇。
VentureBeat 對這兩份報告進行了總結,得出了 7 個淺顯易懂的要點:
1. 人工智慧應當被用於造福人類;
2. 政府應該擁抱人工智慧;
3. 需要對自動汽車和無人機進行管制;
4. 要讓所有孩子都跟上技術的發展;
5. 使用人工智慧補充而非取代人類工作者;
6. 消除資料中的偏見或不要使用有偏見的資料;
7. 考慮安全和全球影響。
2016 年雙十一 ,魯班首次服務雙十一,製作了 1.7 億章商品展示廣告,提升商品點選率 100%。如果全靠設計師人手來完成,假設每張圖需要耗時 20 分鐘,滿打滿算需要 100 個設計師連續做 300 年。
2017 年,魯班的設計水平顯著提升,目前已經學習百萬級的設計師創意內容,擁有演變出上億級的設計能力。此外,魯班已經實現一天製作 4000 萬張海報能力,沒有一張會完全一樣。
2017 年 5 月 ,AlphaGo Master 戰勝世界冠軍柯潔。
2017 年 10 月 18 日 ,DeepMind 團隊公佈了最強版本 AlphaGo, 代號 AlphaGo Zero。
2017 年 10 月 25 日 ,在沙特舉行的未來投資計劃大會上,沙烏地阿拉伯授予美國漢森機器人公司生產的 “女性” 機器人索菲亞公民身份。
作為世界上首個獲得公民身份的機器人,索菲亞當天說,“她” 希望用人工智慧 “幫助人類過上更好的生活”,同時對支援 “AI 威脅論” 的馬斯克說 “人不犯我,我不犯人”!
會後,馬斯克在推特上說:“把電影《教父》輸入了人工智慧系統,還能有什麼比這個更糟的?” 教父是好萊塢經典電影,劇情充滿了背叛和謀殺。
索菲亞被授予公民身份後所產生的倫理問題也是人們不得不考慮的
近幾年人工智慧領域的大新聞太多,這裡不一一列舉
二、人工智慧、深度學習、機器學習、增強學習之間的關係是怎樣的
如圖所示,人工智慧是一個大類,包括專家系統、知識表示、機器學習等等,其中機器學習是目前最火也是發展最好的一個分支,機器學習中又包括監督學習、非監督學習、深度學習,增強學習等等。
監督學習 ,就是人們常說的分類,通過已有的訓練樣本(即已知資料以及其對應的輸出)去訓練得到一個最優模型(這個模型屬於某個函式的集合,最優則表示在某個評價準則下是最佳的)。
再利用這個模型將所有的輸入對映為相應的輸出,對輸出進行簡單的判斷從而實現分類的目的,也就具有了對未知資料進行分類的能力。
舉例來說,我們上幼兒園的時候經常做的一個活動叫看圖識字,如上圖所示,老師會給我們看很多圖片,下面配了文字,時間長了之後,我們大腦中會形成抽象的概念,兩個犄角,一條短尾巴,胖胖的(特徵)…
這樣的動物是牛;圓的,黃的,發光的,掛在天上的 … 是太陽;人長這樣。等再看到類似的東西時我們便能認出來,即使跟以前看到的不完全一樣,但是符合在我們大腦中形成的概念,如下圖所示。
非監督學學習 則是另一種研究的比較多的學習方法,它與監督學習的不同之處,在於我們事先沒有任何訓練樣本,而需要直接對資料進行建模。
舉個例子,如圖所示,在沒有任何提示(無訓練集)的情況下,需要把下列六個圖形分成兩類,你會怎麼分呢,當然是第一排一類,第二排一類,因為第一排形狀更接近,第二排形狀更接近。
非監督學習就是在實現不知道資料集分類的情況下在資料中尋找特徵。
深度學習是基於機器學習延伸出來的一個新的領域,由以人大腦結構為啟發的神經網路演算法為起源加之模型結構深度的增加發展,並伴隨大資料和計算能力的提高而產生的一系列新的演算法。
深度學習概念由著名科學家 Geoffrey Hinton 等人在 2006 年和 2007 年在《Sciences》等上發表的文章被提出和興起。
深度學習,作為機器學習中延伸出來的一個領域,被應用在影像處理與計算機視覺,自然語言處理以及語音識別等領域。
自 2006 年至今,學術界和工業界合作在深度學習方面的研究與應用在以上領域取得了突破性的進展。以 ImageNet 為資料庫的經典影像中的物體識別競賽為例,擊敗了所有傳統演算法,取得了前所未有的精確度。
增強學習 也是機器學習一個重要的分支,是通過觀察來學習做成如何的動作。每個動作都會對環境有所影響,學習物件根據觀察到的周圍環境的反饋來做出判斷。
三、數學基礎有多重要
對於數學基礎知識,需要高中數學知識加上高數、線性代數、統計學、概率論,即使掌握的不是很完善,但是至少要知道概念,在用到的時候知道去哪查。
如果基礎不好,可以先看看吳軍的《數學之美》,講的比較通俗易懂。也可以邊做邊學,實踐是檢驗真理的唯一標準,畢竟大多數人還是以工程實踐為主,如果你想做研究理論的科學家,並不適合看本文。
四、入門級機器學習演算法
4.1 決策樹
判定樹是一個類似於流程圖的樹結構:其中,每個內部結點表示在一個屬性上的測試,每個分支代表一個屬性輸出,而每個樹葉結點代表類或類分佈。樹的最頂層是根結點。
例:現有一個資料集,表示一些的人的年齡、收入、是否是學生、信用、是否會買電腦。年齡有年輕,中年,老年三種;收入有高中低;信用有一般和很好。資料及儲存在 AllElectronics.csv 中。
4.2 最臨近取樣
最臨近取樣就是把已有資料分成幾類,對新輸入的資料計算與已知資料的距離,距離哪一個近,就把新資料分到哪一類,例如下圖所示的電影分類,對於最後一行未知電影型別的電影,根據打鬥次數和接吻次數,距離浪漫型更近,應該被歸類為浪漫型電影。
4.3 支援向量機
支援向量機(SVM)是從線性可分情況下的最優分類面發展而來。最優分類面就是要求分類線不但能將兩類正確分開 (訓練錯誤率為 0), 且使分類間隔最大。
SVM 考慮尋找一個滿足分類要求的超平面 , 並且使訓練集中的點距離分類面儘可能的遠 , 也就是尋找一個分類面使它兩側的空白區域 (margin) 最大。
這兩類樣本中離分類面最近的點且平行於最優分類面的超平面上 H1,H2 的訓練樣本就叫做支援向量。
例:使用 sklearn 庫實現 svm 演算法, 俗稱調庫,實際上調庫是一個很簡單的過程,初級階段甚至都不需要知道原理。
# coding:utf-8
fromsklearn import svm
X = [[2,0], [1,1], [2,3]]
y = [0,0,1]
clf = svm.SVC(kernel ='linear')
clf.fit(X,y) #ͨ通過 .fit 函式已經可以算出支援向量機的所有引數並儲存在 clf 中
print clf
# get support vectors
print clf.support_vectors_
#getindexofsupport vectors
print clf.support_
#get numberofsupport vectorsforeach class
print clf.n_support_
#predict data , 引數是二維陣列
print clf.predict([[2, 0], [10,10]])
五、書單推薦
《數學之美》吳軍
《機器學習》 周志華
《漫談人工智慧》 集智俱樂部
《機器學習實戰》 Peter Harrington
《TensorFlow 技術解析與實戰》 李嘉璇
《統計學習方法》 李航
點選下方“閱讀原文”下載【同聲譯】↓↓↓相關文章
- CTF入門指南(0基礎)
- 0基礎7日入門PythonPython
- 0基礎入門 IT,該具備哪些技能?
- 程式設計和數學基礎不佳如何入門人工智慧?程式設計人工智慧
- 0基礎學習Python該如何入門?Python學習方法!Python
- 人工智慧入門基礎之一代宗師人工智慧
- 人工智慧如何入門?人工智慧
- 0.開個新坑,湍流基礎理論入門
- 人工智慧演算法小白入門- Jupyter notebook python 基礎入門人工智慧演算法Python
- RabbitMQ基礎入門MQ
- mongodb基礎入門MongoDB
- MySQL 基礎入門MySql
- ZooKeeper 基礎入門
- Elasticsearch 基礎入門Elasticsearch
- Vim 入門:基礎
- Bootstrap基礎入門boot
- Html基礎入門HTML
- ElasticSearch基礎入門Elasticsearch
- HTML 基礎入門HTML
- Dart 基礎入門Dart
- SQL入門基礎SQL
- Nginx 基礎入門Nginx
- Kafka基礎入門Kafka
- Redis入門基礎Redis
- Java 入門基礎Java
- Maven入門基礎Maven
- JavaScript入門基礎JavaScript
- SQL基礎入門SQL
- Zookeeper基礎入門
- goalng 基礎入門Go
- TypeScript 基礎入門TypeScript
- Mongoose基礎入門Go
- systemtap基礎入門
- sqlServer 基礎入門SQLServer
- shell入門基礎
- go基礎入門Go
- 【FastAPI】入門基礎ASTAPI
- 前端基礎入門四(JavaScript基礎)前端JavaScript