Python 3 破冰人工智慧,你需要掌握一些數學方法
為什麼要把數學建模與當今火熱的人工智慧放在一起?
首先,數學建模在字面上可以分解成數學+建模,即運用統計學、線性代數和積分學等數學知識,構建演算法模型,通過模型來解決問題。數學建模往往是沒有對與錯,只有“更好”(better),就好像讓你評價兩個蘋果哪個更好吃,只有好吃、不好吃或者更好吃,沒有對與錯。
人工智慧(Artificial Intelligence, AI),你可以將其理解為是一種“黑科技”,人類通過它,讓計算機能夠“更好”地像人一樣思考。可以說“演算法模型”是人工智慧的“靈魂”,沒有演算法模型,一切都是“水中月”“鏡中花”!
因此,《Python 3破冰人工智慧》將從數學建模入手,由淺入深地為讀者揭開AI的神祕面紗。
掃碼檢視書籍詳情
數學建模簡介
數學建模是利用數學方法解決實際問題的一種實踐。即通過抽象、簡化、假設、引進變數等處理過程,將實際問題用數學方式表達,建立起數學模型,然後運用先進的數學方法及計算機技術進行求解。數學建模可以通俗地理解為數學+建模,即運用統計學、線性代數,積分學等數學知識,構建數學模型,通過模型解決問題。
按照傳統定義,數學模型是對於一個現實物件,為了一個特定目的(實際問題),做出必要的簡化假設(模型假設),根據物件的內在規律(業務邏輯、資料特徵),運用適當的數學工具、計算機軟體,得到的一個數學結構。
亞里士多德說,“智慧不僅僅存在於知識之中,而且還存在於應用知識的能力中”。數學建模就是對數學知識最好的應用,通過數學建模,你會發現,生活中很多有意思的事情都可以靠它來解決,其流程如圖1-1所示。
▲圖1-1 數學建模流程
人工智慧簡介
對於普通大眾來說,可能是近些年才對其有所瞭解,其實人工智慧在幾十年以前就被學者提出並得到一定程度的發展,伴隨著大資料技術的迅猛發展而被引爆。
(1)人工智慧的誕生
最初的人工智慧其實是20世紀30至50年代初一系列科學研究進展交匯的產物。1943年,沃倫·麥卡洛克(Warren McCulloch)和瓦爾特·皮茨(Walter Pitts)首次提出“神經網路”概念。1950年,阿蘭·圖靈(Alan Turing)提出了著名的“圖靈測試”,即如果一臺機器能夠與人類展開對話(通過電傳裝置)而不能被辨別出其機器身份,那麼稱這臺機器則具有智慧。直到如今,圖靈測試仍然是人工智慧的重要測試手段之一。1951年,馬文·明斯基(Marvin Minsky)與他的同學一起建造了第一臺神經網路機,並將其命名為 SNARC (Stochastic Neural Analog Reinforcement Calculator)。不過,這些都只是前奏,一直到1956年的達特茅斯會議,“Artificial Intelligence”(人工智慧)這個詞才被真正確定下來,並一直沿用至今,這也是目前AI誕生的一個標誌性事件。
▲圖1-2 達特茅斯會議參會者50年後聚首照[1]
[1] 達特茅斯會議參會者50年後再聚首,左起:Trenchard More、John McCarthy、Marvin Minsky、Oliver Selfridge和Ray Solomonoff(攝於2006年),圖片版權歸原作者所有。
在20世紀50年代,人工智慧相關的許多實際應用一般是從機器的“邏輯推理能力”開始著手研究。然而對於人類來說,更高階的邏輯推理的基礎是“學習能力”和“規劃能力”,我們現在管它叫“強化學習”與“遷移學習”。可以想象,“邏輯推理能力”在一般人工智慧系統中不能起到根本的、決定性的作用。當前,在資料、運算能力、演算法模型、多元應用的共同驅動下,人工智慧的定義正從用計算機模擬人類智慧,演進到協助引導提升人類智慧,如圖1-3所示。
▲圖1-3 下一代人工智慧
(圖片來源《新一代人工智慧發展白皮書》)
(2)人工智慧的概念
人工智慧(Artificial Intelligence),英文縮寫為AI,它是研究開發用於模擬、延伸和擴充套件人的智慧的理論、方法、技術及應用系統的一門新的技術科學。它企圖瞭解智慧的實質,並生產出一種新的能以人類智慧相似的方式做出反應的智慧機器,該領域的研究包括機器人、語言識別、影像識別、自然語言處理和專家系統等。
人工智慧從誕生以來,理論和技術日益成熟,應用領域也不斷擴大,可以設想,未來人工智慧帶來的科技產品,將會是人類智慧的“容器”,也可能超過人的智慧。
(3)人工智慧、機器學習、深度學習
下面我們來介紹下主要與人工智慧相關的幾個概念,要搞清它們的關係,最直觀的表述方式就是同心圓,如圖1-4所示,最先出現的是理念,然後是機器學習,當機器學習繁榮之後就出現了深度學習,今天的人工智慧大爆發是由深度學習驅動的。
▲圖1-4 AI、機器學習、深度學習的關係
人工智慧(AI)、機器學習(ML)、深度學習(DL)的關係為DL⊆ML⊆AI。
人工智慧,即AI是一個寬泛的概念,人工智慧的目的就是讓計算機能夠像人一樣思考。機器學習是人工智慧的分支,它是人工智慧的重要核心,是使計算機具有智慧的根本途徑,其應用遍及人工智慧的各個領域。深度學習是機器學習研究中的一個新領域,推動了機器學習的發展,並擴充了人工智慧的領域範圍。甚至有觀點認為,深度學習可能就是實現未來強AI的突破口。
可以把人工智慧比喻成孩子大腦,機器學習是讓孩子去掌握認知能力的過程,而深度學習是這個過程中很有效率的一種教學體系。
因此可以這樣概括:人工智慧是目的、結果;深度學習、機器學習是方法、工具。
本書講解了人工智慧、機器學習、深度學習的相關應用,它們之間的關係,常見的機器學習演算法等知識,希望你通過對本書的學習,深刻理解這些概念,並可以輕而易舉地給別人講解。
數學建模與人工智慧關係
無論是數學建模還是人工智慧,其核心都是演算法,最終的目的都是通過某種形式來更好地為人類服務,解決實際問題。在研究人工智慧過程中需要數學建模思維,所以數學建模對於人工智慧非常關鍵。
下面通過模擬一個場景來了解人工智慧與數學建模之間的關係。
▲圖1-5 AI 機器人
某患者到醫院就診,在現實生活中,醫生根據病人的一系列體徵與症狀,判斷病人患了什麼病。醫生會親切地詢問患者的症狀,通過各種專項檢查,最後進行確診。在人工智慧下,則考慮通過相應演算法來實現上述過程,如德國的輔助診斷產品Ada學習了大量病例來輔助提升醫生診病的準確率。
情景①:如果用數學建模方法解決,那麼就通過演算法構建一個恰當的模型,也就是通過圖1-1所示的數學建模流程來解決問題。
情景②:如果用人工智慧方法解決,那麼就要製造一個會診斷疾病的機器人。機器人如何才能精準診斷呢?這就需要利用人工智慧技術手段,比如採用一個“人工智慧”演算法模型,可能既用了機器學習演算法,也用了深度學習演算法,不管怎樣,最終得到的是一個可以落地的疾病預測人工智慧解決方案。讓其具有思考、聽懂、看懂、邏輯推理與運動控制能力,如圖1-5所示。
通過上面的例子可以看出,人工智慧離不開數學建模。在解決一個人工智慧的問題過程中,我們將模型的建立與求解進行了放大,以使其結果更加精準,如圖1-6所示。
▲圖1-6 AI下對數學建模的流程修正
可見,從數學建模的角度去學習人工智慧不失為一種合適的方法。
掃碼檢視書籍詳情
編輯推薦:
-
數學基礎:從歷年數學建模競賽入手,解讀人工智慧中的數學方法。
-
程式設計實踐:100餘個程式碼例項,全面講解網路爬蟲、資料儲存與資料分析等內容。
-
演算法應用:實戰案例輔以豐富圖解,詳盡分析人工智慧演算法特性及其應用場景。
本書創新性地從數學建模競賽入手,深入淺出地講解了人工智慧領域的相關知識。本書內容基於Python 3.6,從人工智慧領域的數學出發,到Python在人工智慧場景下的關鍵模組;從網路爬蟲到資料儲存,再到資料分析;從機器學習到深度學習,涉及自然語言處理、機器學習、深度學習、推薦系統和知識圖譜等。
這幾個Python技能實戰,能讓你少些1000行程式碼!
此外,本書還提供了近140個程式碼案例和大量圖表,全面系統地闡述了演算法特性,個別案例演算法來自於工作經驗總結,力求幫助讀者學以致用。
掃碼購買
相關文章
- Python培訓分享學Python需要掌握哪些技能Python
- 學習Python需要掌握哪些要點?Python基礎!Python
- 學爬蟲,我需要掌握哪些Python基礎?爬蟲Python
- 大資料需要掌握的數學基礎大資料
- 讓PyTorch訓練速度更快,你需要掌握這17種方法PyTorch
- 學了Python能做什麼 都需要掌握這些技能Python
- 學會網頁製作,web app開發,你需要掌握這3個程式語言網頁WebAPP
- 初學Web前端開發,你需要掌握的11項技能Web前端
- 0基礎學習Python,需掌握哪些方法?Python
- 人工智慧AI需要掌握哪些基礎知識?人工智慧AI
- Python人工智慧學習需要多久?什麼學歷可以學習?Python人工智慧
- 3.帶你掌握Dart中的數值型別Dart型別
- 參加Python培訓需要掌握什麼?爬蟲怎麼學!Python爬蟲
- Android,你要掌握的一些東西Android
- 在 2021 年你需要掌握的 7 種關於 JavaScript 的陣列方法JavaScript陣列
- 開發數學系統時,需要掌握的幾個基於Web的數學框架Web框架
- 為什麼學人工智慧首推Python 需要學習哪些知識人工智慧Python
- 掌握了開源框架還不夠,你更需要掌握原始碼框架原始碼
- 笨方法學Python3 習題3Python
- 從 Python 2 切換到 Python 3 你所需要了解的Python
- Python爬蟲學習線路圖丨Python爬蟲需要掌握哪些知識點Python爬蟲
- [譯] 關於 SPA,你需要掌握的 4 層
- 2021年你需要掌握的前端小知識前端
- 學習Python常用的幾大軟體,你掌握了嗎?Python
- Python爬蟲需要學哪些東西?這些知識點必須掌握!Python爬蟲
- [譯] 關於 SPA,你需要掌握的 4 層 (2)
- 幾你需要熟練掌握的辦公軟體
- 網際網路時代IT人士最需要掌握的一些技能
- 從業資料分析,需要掌握python哪些知識?Python
- 掌握一個事物時所需要學會的
- 學大資料需要掌握的知識,需要學習的資料技術大資料
- 10個你在JavaScript面試前需要掌握的概念JavaScript面試
- 二分圖與網路流,ACMer需要掌握的一些模型ACM模型
- 學習大資料需要掌握的知識,需要學習的資料技術大資料
- 您不需要成為數學家就可以掌握量子計算 - Frank Zickert
- Python3學習筆記3,變數、運算子Python筆記變數
- 網路安全的學習,都需要掌握哪些技能?
- 學習軟體測試需要掌握哪些技術?