-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
機器學習與計算思維 版權信息
- ISBN:9787030745187
- 條形碼:9787030745187 ; 978-7-03-074518-7
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
機器學習與計算思維 內容簡介
2017年,國務院印發《新一代人工智能發展規劃》,要求中小學開設人工智能相關課程,并提倡以計算思維為指導,將信息技術課程從技術導向轉換為科學導向。因此,“機器學習”作為人工智能技術的內核,走入我國廣大中小學生的課堂是科技發展的必然選擇。
本書共11章,系統地介紹機器學習模型中常見的白盒和黑盒模型,以及這些模型統一的框架和經常被使用的技巧。本書介紹了這些技巧是如何被巧妙地封裝成一種通用方法,并在適當的時候被反復使用。從框架到思路,再到解決問題的技巧,以及技巧的封裝和重用,這些都是塑造良好計算思維的必經之路。
機器學習與計算思維 目錄
第1章 人工智能與計算思維 1
1.1 人工智能 1
1.2 機器學習 2
1.3 機器學習中的計算思維 6
1.4 本章小結 7
課后練習 7
第2章 機器學習理論基礎 8
2.1 數據集 8
2.1.1 描述空間、屬性、特征和維度 8
2.1.2 復合特征 9
2.1.3 特征空間降維 10
2.1.4 特征縮放及特征編碼 11
2.2 機器學習中對誤差的估計 12
2.3 代價函數、損失函數和目標函數 14
2.4 數據預處理 14
2.5 Python中機器學習基本流程 15
2.6 sklearn的安裝 17
2.7 本章小結 19
課后練習 19
第3章 線性回歸模型 20
3.1 什么是線性回歸模型 20
3.2 簡單線性回歸模型 21
3.2.1 模型建立 21
3.2.2 不插電模擬模型訓練 22
3.2.3 sklearn中使用簡單線性回歸模型 23
3.2.4 模型性能評價 24
3.3 多元線性回歸模型 26
3.3.1 模型建立 26
3.3.2 不插電使用梯度下降法求解系數 28
3.3.3 sklearn中使用多元線性回歸模型 30
3.4 多項式回歸 32
3.5 學習曲線 34
3.6 線性回歸模型中的計算思維 37
課后練習 38
第4章 邏輯回歸模型 40
4.1 Sigmoid函數 40
4.2 邏輯回歸的基本模型 40
4.3 邏輯回歸模型的代價函數 41
4.4 在sklearn中使用邏輯回歸模型進行二元分類 42
4.5 廣義線性回歸模型的防止過擬合策略 43
4.5.1 正則式 43
4.5.2 在sklearn中使用L1和L2范數優化模型 44
4.6 邏輯回歸中的計算思維 46
課后練習 47
第5章 KNN分類和回歸 48
5.1 KNN算法的模型 48
5.2 不插電使用KNN模型進行分類 48
5.3 不插電使用KNN回歸模型 50
5.4 F1分數 52
5.5 KNN中的特征標準化 56
5.6 KNN模型的計算思維 58
課后練習 59
第6章 樸素貝葉斯 60
6.1 貝葉斯公式 60
6.2 樸素貝葉斯模型 61
6.2.1 樸素貝葉斯模型的基本原理 61
6.2.2 不插電運用樸素貝葉斯公式進行分類預測 62
6.3 高斯樸素貝葉斯(Gaussian NB) 63
6.3.1 高斯樸素貝葉斯的原理 63
6.3.2 不插電運用高斯樸素貝葉斯 65
6.4 sklearn中的樸素貝葉斯模型 67
6.5 在sklearn中使用NB模型 68
6.6 ROC曲線和AUC面積 70
6.7 樸素貝葉斯模型與計算思維 73
課后練習 73
第7章 決策樹和隨機森林 75
7.1 決策樹的表達方式 75
7.2 訓練決策樹的算法 76
7.2.1 ID3算法的基本原理 76
7.2.2 不插電使用ID3算法構建決策樹 76
7.2.3 C4.5算法 81
7.2.4 CART算法 82
7.3 sklearn中使用DecisionTreeClassifier和DecisionTreeRegression工具 83
7.3.1 sklearn中使用DecisionTreeClassifier 83
7.3.2 sklearn中使用DecisionTreeRegressor 84
7.4 隨機森林和集成學習 86
7.4.1 隨機森林 86
7.4.2 推進法(boosting) 87
7.4.3 不插電應用AdaBoost 88
7.5 決策樹中的計算思維 90
課后練習 91
第8章 感知器和人工神經網絡ANN 92
8.1 感知器 92
8.1.1 感知器的基本原理 92
8.1.2 不插電訓練單層感知器 94
8.2 多層感知器(MLP) 96
8.2.1 多層感知器的基本原理 96
8.2.2 不插電運用兩層感知器解決XOR(異或)問題 97
8.3 反傳多層感知器 99
8.3.1 ANN的激勵函數 99
8.3.2 ANN的網絡結構和節點構成 100
8.3.3 ANN中的反傳學習算法(BP) 100
8.3.4 BP的不插電示例 104
8.4 使用sklearn的ANN工具 107
8.5 人工神經網絡的計算思維 107
課后練習 109
第9章 支持向量機 111
9.1 支持向量機SVM的基本原理 111
9.1.1 SVM中用于分類的超平面 111
9.1.2 SVM的目標函數 113
9.1.3 SVM的目標函數求解 114
9.2 單層感知器的對偶形式 114
9.3 SVM的核函數 117
9.4 sklearn中使用SVM工具分類 118
課后練習 120
第10章 聚類 121
10.1 聚類算法的原理 121
10.2 K均值(K-means)聚類算法 122
10.2.1 K均值算法基本原理 122
10.2.2 利用K均值算法進行不插電聚類 122
10.2.3 K值的選擇 126
10.3 模糊C均值(FCM)聚類算法 126
10.4 輪廓系數 128
10.5 使用sklearn的K均值算法對數據進行聚類 129
10.6 聚類模型與計算思維 131
課后練習 131
第11章 主成分分析(PCA)降維 132
11.1 PCA的基本思想 132
11.2 協方差矩陣 133
11.3 PCA算法的實現 135
11.4 PCA降維算法的一個實例 136
11.5 調用sklearn的PCA模型來驗證上述算法 138
11.6 PCA降維的計算思維 140
課后練習 140
部分課后習題答案 141
第3章 課后練習答案 141
第5章 課后練習答案 144
第6章 課后練習答案 146
第7章 課后練習答案 147
第8章 課后練習答案 148
第9章 課后練習答案 150
第10章 課后練習答案 151
第11章 課后練習答案 151
參考文獻 153
機器學習與計算思維 節選
第1章 人工智能與計算思維 1.1 人工智能 人工智能(artificial intelligence,AI),就是研究和設計具有智能行為的計算機程序,使其如同具有智能行為的人或動物一樣去執行任務。因為其初衷是希望機器能夠模擬人的行為,因此它*初是綜合了計算機科學、數學、信息論、神經學、心理學等多種學科的一門跨領域學科。這種“機器學習人”的正向思維影響了人工智能*初幾十年的發展方向。1956年,麥卡錫(J. McCarthy,達特茅斯學院數學助理教授)、明斯基(M. L. Minsky,哈佛大學數學與神經學初級研究員)、羅切斯特(N. Rochester,IBM信息研究經理)和香農(C.E. Shannon,貝爾電話實驗室數學家)發起了著名的達特茅斯會議,會議研討的主題是如何讓機器具有類人的智力和行為能力,此時距離**臺電子計算機誕生僅有10年。達特茅斯會議的議題涉及自動計算機、為計算機編程使其能夠使用語言、機器自我改造、抽象以及隨機性與創造性等主題,會議上首次提出了“人工智能”。 在這次會議以后,人工智能開始了漫長的探索期,什么樣的系統才具有智能?著名的計算機科學家圖靈提出了“圖靈測試”(Turing testing)來判斷一臺計算機是否具有智能:即一個人在不接觸對方(一臺計算機)的情況下,通過一種特殊的方式,和對方進行一系列的問答,如果在相當長時間內,他無法根據這些問題判斷對方是人還是計算機,那么,就可以認為這臺計算機具有同人相當的智力,即這臺計算機是能思維的。 要分辨一個想法是“自創”的思想還是精心設計的“模仿”是非常難的,任何自創思想的證據都可以被否決。圖靈試圖解決長久以來關于如何定義思考的哲學爭論,他提出一個雖然主觀但可操作的標準:如果一臺計算機表現(act)、反應(react)和互相作用(interact)都和有意識的個體一樣,那么它就應該被認為是有意識的。 圖靈采用“問”與“答”模式,即觀察者通過控制打字機與兩個測試對象通話,其中一個是人,另一個是機器。觀察者不斷提出各種問題,從而辨別回答者是人還是機器。例如, 問:請寫出有關“第四號橋”主題的十四行詩。 答:不要問我這道題,我從來不會寫詩。 問:34957加70764等于多少? 答:(停30秒后)105721。 要對這些問題做出回答,無論答案是什么,都要能夠欺騙提問者的邏輯思考系統,其中涉及幾個基本的技術難點:**,語義理解,即提問者問題中的語義是什么,到底問題想要問的是什么?第二,知識表達,機器要將提問者提出的問題以適當的形式表達并存儲起來,以進行下一步的處理;第三,檢索,即便機器能夠馬上識別問題,此時也需要從解空間中找到一個“*優”的回答;第四,計算機的處理時間,如果對方是人,就算腦子不太靈光,其思考時間也不會太長,可以回答“不知道”,可以回答“不想思考了”,但是不會考慮了10分鐘仍然還在思考。因此可以看出,要做出一個可以欺騙人的類人的回答,實際上涉及的技術難點是非常多的。從“圖靈測試”也可以看出為什么人工智能領域會設定知識建模及表達、啟發式搜索解空間、推理方法、智能系統結構和語言、機器學習等多個研究方向為其核心研究內容。如果能把這些核心問題攻克了,“圖靈測試”也就失效了。 然而,除了上述提到的幾個基礎技術難點,問題本身的設計以及問題所使用的語言都會使機器的反應能力產生較大的差異。例如,使用中文進行提問,對機器的邏輯處理能力要求更高。 中國隊大敗了美國隊嗎? 中國隊大勝了美國隊嗎? 一字之差,且兩個字是反義詞,但是其含義卻是一致的。這種強二義性的語言理解對機器提出了更高的要求,即機器需要理解上下文。那么,如果機器掌握了上下文,就一定能夠通過“圖靈測試”嗎?如果給予足夠多的數據學習上下文的環境,那么機器是不是就可以通過“圖靈測試”了呢?按照圖靈對“智能”的描述:如果機器在某些現實的條件下,能夠非常好地模仿人回答問題,以至于提問者在相當長時間里誤認為它不是機器,那么機器就可以被認為是能夠思維的。所以,如果提問者是固定的,機器通過“圖靈測試”是完全可能的。 但是實際上人類本身的彼此間交互模式也在進行著演化,新技術帶來的新的社會交互模式,必然會產生更多的上下文背景,以及群體性文化。也許十年前無厘頭的回答在今天卻顯得合情合理;如果被測試者是老年人,他無法理解關于年輕人的問題,也可能會被當成計算機。因此,計算機持續的學習能力才是人工智能的核心。 1.2 機器學習 從20世紀50年代到21世紀初,圍繞“圖靈測試”,人工智能的研究領域主要涵蓋了知識建模及表達、啟發式搜索解空間、推理方法、智能系統結構和語言、機器學習等多個研究方向,試圖在其中找到一條可以通往機器模擬人腦思維和行為的可行路徑。直到2006年,“神經網絡之父”“深度學習鼻祖”——杰費里?辛頓(Geoffrey Hinton)在Science《科學》上發表了一篇石破天驚的學術論文Reducing the Dimensionality of Data with Neural Networks,論文提到了如何使用玻爾茲曼機改進反傳人工神經網絡,使其具有深度學習的能力(Hinton and Salakhutdinov,2006)。此后,機器學習便在人工智能領域奠定了主力地位。 在數據工程和計算能力的突破下,AI的任務實際上大部分已經可以通過機器學習來完成。例如,在傳統的人工智能研究領域,博弈(game playing)問題已經得以解決,我們不再困擾于如何從無窮無盡的解空間中搜索出正確答案,也不再困擾于搜索路徑過長會導致計算崩潰的問題,因為基于大數據的深度學習網絡已經可以幫助計算機提前建立好各種應對模型,即使是世界頂級職業圍棋棋手在面對阿爾法圍棋(AlphaGo)時,也會敗下陣來。 機器學習,顧名思義,是計算機進行學習的行為,與人類高階學習的定義不同,機器學習通常只是低階的學習,機器需要學會識別。例如,需要識別哪一個是垃圾桶,需要識別哪一個人是手機的主人,需要識別披薩的價格是定高了還是定低了,需要識別未來股市的走勢,需要識別風險等級,需要識別各種解決問題的套路和模式。但是機器完成識別任務不能是憑空產生的,機器需要從經驗中學習,以實現上述目標。 我們經常為這種現象感到困惑——強大的第六感,總感覺某件事有些不對勁,然后事實證明,我們的判斷是對的,是我們真的有第六感嗎?英國偵探小說家阿加莎?克里斯蒂曾經在《ABC謀殺案》一書里這樣形容人的直覺:所謂直覺,不過是人的經驗的反映。也就是說,我們所謂的感覺,是對周圍環境某些特征的感知,雖然我們意識不到這些特征是什么,但是它們是這些不對勁事件的關鍵表達。實際上,你只要想想為什么我們能在微秒級完成迎面走來之人的人臉識別,就能理解特征與識別任務之間的關系了。我們之所以能夠快速地識別人臉,是因為我們從小到大經歷了無數次的人臉識別學習,在腦海里已經形成一個穩定的識別模型,如果模型的參數不發生改變(光線強弱、人臉角度等),我們就不需要對模型進行進一步處理,只需要將人臉特征快速地放入系統中去識別一下,就能夠完成人臉識別任務了。 而更多復雜的任務,則是由無數這樣的底層任務組合起來的,如果每個底層任務都能夠快速地被完成,那么整體任務的完成時間也會縮短。人在學習過程中,會通過不斷訓練底層特征提取(以提高識別的效率),來達到更復雜任務的特征組合—識別。機器學習基本上也是遵循這樣的過程,在經驗數據中獲得數據的特征,訓練模型,使其對這些特征敏感,進而可以識別以這些特征為代表的數據本身。如同人一樣,有些特征你能給它命名,有些特征,你根本無法解釋到底是什么,就像是我們的直覺感知到的信息一樣。 特征與機器學習模型的關系如圖1-1所示,其中特征空間里的特征1~特征n指的是可以描述數據的不同角度,也可以是數據的不同屬性。例如,在描述一個杯子的時候,可以通過“產地”“材質”“容量”“是否保溫”“是否有蓋子”“蓋子是否可密閉”等屬性來描述這個杯子,這些屬性是每個杯子都有的特征項,而屬性的值則是識別杯子的主要特征。這些特征被稱為結構化特征,即這些特征代表具體的意義,可以被人類認知所理解。而有一些特征則是無法結構化的,這些特征也能對某個對象的識別產生關鍵性影響,但是卻很難用語言來描述這些特征代表著什么意義。 圖1-1中的機器學習模型是用來處理特征值的。機器學習模型將這些輸入特征通過對應數學公式進行轉換,從而將特征值與結果關聯起來。這些數學模型可以是白盒的,即可以看到數據的逐步變化過程,可以清晰地看到特征數據是怎么影響結果變化的;這些數學模型也可以是黑盒的,即數據的變化是非線性的,數據經過各種變換,也能和結果關聯起來。無論模型是黑盒的還是白盒的,它只起一個作用,即將特征數據和任務結果映射起來。 任務分為3類,分別是分類、回歸和聚類。實際上,這3類任務覆蓋了前文提到的機器能夠完成的各種識別任務。分類指的是能夠對樣本做簡單的區分,回歸指的是能夠對某個目標值作推斷,而聚類則指的是在未知的情況下,發現各種可能存在的模式。 此時,再來理解機器學習就更加容易了,我們來回答3個問題: ①機器從哪里學? ②學了什么? ③機器學會了以后打算怎么用? 我們用一個例子來回答這3個問題。假設,需要購買一個1.5升的保溫水杯,可是我們也知道不同品牌不同產地的水杯,價格是怎么樣的。所以,希望通過計算機來幫我們推斷一下自己心儀杯子的價格。目前,經驗數據就是我們已經知道的5個水杯的各種相關信息,如表1-1所示。這個時候,我們可以回答**個問題,即機器要做價格預測,需要從哪里學習?前面提到,人工智能是從經驗數據中學習,所以這里的機器學習也是從已經知道的5個水杯的信息中去提取有用的知識。“產地”“材質”“容量”“是否保溫”“是否有蓋子”“蓋子是否可密閉”是6項特征,而預測價格則是機器學習模型的任務。 那么機器學到了什么呢?實際上,要得到一個預測的價格,首先需要將經驗數據輸入模型中,然后讓模型的參數從未知變為某個確定值;接著,在這個確定值的基礎上,再輸入需預測價格的杯子的“產地”“材質信息”“容量”等信息,就可以預測其價格了,這個過程叫作模型的訓練。獲得穩定參數的模型叫作已經學習好了的模型,它在經驗數據的特征值和其結果之間建立了相對穩定的映射關系(圖1-2)。 再回到第三個問題,學習好了的模型有什么用呢?如前所述,當已知一個杯子的所有特征值后,將這些特征值輸入模型中,模型會通過輸入值與已有參數值,產生一個輸出,這個輸出就是對未知杯子的價格預測了。 機器學習的過程并不如我們想象得那么復雜,步驟很簡單,首先需要把經驗數據整理成特征形式,這個過程叫作數據預處理。例如,“是否保溫”這個特征的值不能是文字的“是”還是“否”,必須是機器能夠處理的形式,我們可以用二進制的“0”和“1”來表示“是”和“否”這兩種狀態;又比如,將一幅100萬像素的圖片轉換成特征值時,可以生成一個100萬維的向量,其中每個向量值代表的是一個像素點的顏色信息,這個信息可以是256種顏色中的一種,那么這張圖片的特征就是100萬個[0,255]的十進制數字。 要選擇適當的模型來產生輸出,輸出的任務類型各不相同,有分類任務,有回歸任務,也有聚類任務。其中,分類任務和回歸任務都必須通過有監督學習(supervised learning)來實現,而聚類則可以通過無監督學習(unsupervised learning)來實現。上面預測杯子價格的任務,就是一個典型的回歸任務。當然,當我們把機器學習的任務換成預測水杯是否能保溫時,輸出就變成了分類任務。聚類指的是在不知道樣本間有什么關系的前提下,進行自主分類,看哪種情況下不同類別中的樣本之間關聯緊密,而類別之間的差距卻很大,這是在
- >
【精裝繪本】畫給孩子的中國神話
- >
伊索寓言-世界文學名著典藏-全譯本
- >
隨園食單
- >
煙與鏡
- >
羅曼·羅蘭讀書隨筆-精裝
- >
月亮虎
- >
山海經
- >
姑媽的寶刀