《機器學習課件》由會員分享,可在線閱讀,更多相關(guān)《機器學習課件(52頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 目 錄一 大數(shù)據(jù)與云計算二 機器學習、深度學習和人工智能三 編程語言的選擇四 機器學習算法介紹五 算法案例介紹 一 大數(shù)據(jù)與云計算 什么是大數(shù)據(jù)? 大數(shù)據(jù)特征定義 大數(shù)據(jù)時代要具備大數(shù)據(jù)思維維克托邁爾-舍恩伯格認為:1 -需要全部數(shù)據(jù)樣本而不是抽樣;2 -關(guān)注效率而不是精確度;3 -關(guān)注相關(guān)性而不是因果關(guān)系。 大數(shù)據(jù)并不在“大”,而在于“有用”。價值含量、挖掘成本比數(shù)量更為重要。 大數(shù)據(jù)的價值所在?如果把大數(shù)據(jù)比作一種產(chǎn)業(yè),那么這種產(chǎn)業(yè)實現(xiàn)盈利的關(guān)鍵,在于提高對數(shù)據(jù)的“加工能力”,通過“加工”實現(xiàn)數(shù)據(jù)的“增值”。未來在大數(shù)據(jù)領(lǐng)域最具有價值的是兩種事物:1 -擁有大數(shù)據(jù)思維的人,這種人可以將大
2、數(shù)據(jù)的潛在價值轉(zhuǎn)化為實際利益; 2 -還未有被大數(shù)據(jù)觸及過的業(yè)務領(lǐng)域。這些是還未被挖掘 的油井,金礦,是所謂的藍海。 云計算和大數(shù)據(jù)的關(guān)系 云計算充當了工業(yè)革命時期的發(fā)動機的角色,而大數(shù)據(jù)則是電。云計算思想:把計算能力作為一種像水和電一樣的公用事業(yè)提供給用戶。 二 機器學習、深度學習和人工智能 任何通過數(shù)據(jù)訓練的學習算法的相關(guān)研究都屬于機器學習。比如線性回歸(Linear Regression)、K均值(K-means,基于原型的目標函數(shù)聚類方法)、決策樹(Decision Trees,運用概率分析的一種圖解法)、隨機森林(Random Forest,運用概率分析的一種圖解法)、PCA(Pri
3、ncipal Component Analysis,主成分分析)、SVM(Support Vector Machine,支持向量機)以及ANN(Artificial Neural Networks,人工神經(jīng)網(wǎng)絡)。深度學習的概念源于人工神經(jīng)網(wǎng)絡的研究,通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。深度學習是機器學習研究中的一個新的領(lǐng)域,其動機在于建立、模擬人腦進行分析學習的神經(jīng)網(wǎng)絡,它模仿人腦的機制來解釋數(shù)據(jù), 例如圖像,聲音和文本。人工智能企圖了解智能的實質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式做出反應的智能機器,該領(lǐng)域的研究包括語音識別、圖像識別、機器
4、人、自然語言處理、智能搜索和專家系統(tǒng)等。 人工智能與機器學習、深度學習的關(guān)系 三 編程語言的選擇 PKR 與 Python 語言的區(qū)別學習難度大入門簡單適合處理大量數(shù)據(jù)功能強大命令式編程統(tǒng)計功能強大 Python在線學習推薦-菜鳥教程 Anaconda:初學Python、入門機器學習的首選NumPyScipyTensorFlowMatplotlibPandasScikit-Learn 四 機器學習算法介紹 擁抱人工智能從機器學習開始 機器學習最大的特點是利用數(shù)據(jù)而不是指令來進行各種工作,其學習過程主要包括:數(shù)據(jù)的特征提取、數(shù)據(jù)預處理、訓練模型、測試模型、模型評估改進等幾部分。 機器學習算法是使
5、計算機具有智能的關(guān)鍵算法是通過使用已知的輸入和輸出以某種方式“訓練”以對特定輸入進行響應。代表著用系統(tǒng)的方法描述解決問題的策略機制。人工智能的發(fā)展離不開機器學習算法的不斷進步。 機器學習算法分類 1 . 線性回歸:找到一條直線來預測目標值一個簡單的場景:已知房屋價格與尺寸的歷史數(shù)據(jù),問面積為2 0 0 0時,售價為多少? 線性回歸的應用預測客戶終生價值: 基于老客戶歷史數(shù)據(jù)與客戶生命周期的關(guān)聯(lián)關(guān)系,建立線性回歸模型,預測新客戶的終生價值,進而開展針對性的活動。機場客流量分布預測: 以海量機場WiFi數(shù)據(jù)及安檢登機值機數(shù)據(jù),通過數(shù)據(jù)算法實現(xiàn)機場航站樓客流分析與預測。貨幣基金資金流入流出預測: 通
6、過用戶基本信息數(shù)據(jù)、用戶申購贖回數(shù)據(jù)、收益率表和銀行間拆借利率等信息,對用戶的申購贖回數(shù)據(jù)的把握,精準預測未來每日的資金流入流出情況。電影票房預測: 依據(jù)歷史票房數(shù)據(jù)、影評數(shù)據(jù)、輿情數(shù)據(jù)等互聯(lián)網(wǎng)公 眾數(shù)據(jù),對電影票房進行預測。 2 . 邏輯回歸:找到一條直線來分類數(shù)據(jù)邏輯回歸雖然名字叫回歸,卻是屬于分類算法,是通過Sigmoid函數(shù)將線性函數(shù)的結(jié)果映射到Sigmoid函數(shù)中,預估事件出現(xiàn)的概率并分類。 邏輯回歸從直觀上來說是畫出了一條分類線。位于分類線一側(cè)的數(shù)據(jù),概率0 .5 ,屬于分類A;位于分類線另一側(cè)的數(shù)據(jù),概率 啤酒,它的置信度為 尿布 - 啤酒 假設尿布, 啤酒的支持度為 0 .4
7、5,尿布的支持度為 0 .5,則尿布 - 啤酒的置信度為 0 .4 5 / 0 .5 = 0 .9。 9 . PCA降維:減少數(shù)據(jù)維度,降低數(shù)據(jù)復雜度降維是指將原高維空間中的數(shù)據(jù)點映射到低維度的空間中。因為高維特征的數(shù)目巨大,距離計算困難,分類器的性能會隨著特征數(shù)的增加而下降;減少高維的冗余信息所造成的誤差,可以提高識別的精度。 1 0 . 人工神經(jīng)網(wǎng)絡:逐層抽象,逼近任意函數(shù)前面介紹了九種傳統(tǒng)的機器學習算法,現(xiàn)在介紹一下深度學習的基礎(chǔ):人工神經(jīng)網(wǎng)絡。 它是模擬人腦神經(jīng)網(wǎng)絡而設計的模型,由多個節(jié)點(人工神經(jīng)元)相互聯(lián)結(jié)而成,可以用來對數(shù)據(jù)之間的復雜關(guān)系進行建模。 例如利用單層神經(jīng)網(wǎng)絡實現(xiàn)邏輯與
8、門和同或門 多層神經(jīng)網(wǎng)絡的每一層神經(jīng)元學習到的是前一層神經(jīng)元值的更抽象的表示,通過抽取更抽象的特征來對事物進行區(qū)分,從而獲得更好的區(qū)分與分類能力。 1 1 . 深度學習:賦予人工智能以璀璨的未來深度學習就是一種基于對數(shù)據(jù)進行表征學習的方法,使用多層網(wǎng)絡,能夠?qū)W習抽象概念,同時融入自我學習,逐步從大量的樣本中逐層抽象出相關(guān)的概念,然后做出理解,最終做出判斷和決策。通過構(gòu)建具有一定“深度”的模型,可以讓模型來自動學習好的特征表示(從底層特征,到中層特征,再到高層特征),從而最終提升預測或識別的準確性。 深度學習的歷史變遷:深度學習經(jīng)歷了三次浪潮: 2 0世紀4 0年代6 0年年代,深度學習的雛形出
9、現(xiàn)在控制論中; 2 0世界8 0年代9 0年代,深度學習表現(xiàn)為聯(lián)結(jié)主義; 2 0 0 6年以后,正式以深度學習之名復興。第一次浪潮:以感知機和線性模型為代表 不能解決與或問題第二次浪潮:以多層感知機和BP模型為代表 以統(tǒng)計學為基礎(chǔ),應用核函數(shù)和圖模型的支持向量機算法(SVM算法)等各種淺層有監(jiān)督的機器學習模型廣泛應用,且深度神經(jīng)網(wǎng)絡不可訓練 第三次浪潮:以無監(jiān)督學習為代表。 解決了深層神經(jīng)網(wǎng)絡的計算能力問題;解決了深度神經(jīng)網(wǎng)絡后向誤差反饋梯度消失的問題。 最初,人工神經(jīng)網(wǎng)絡中神經(jīng)元之間的連接數(shù)受限于硬件能力。而現(xiàn)在,神經(jīng)元之間的連接數(shù)大多是出于設計考慮。一些人工神經(jīng)網(wǎng)絡中每個神經(jīng)元的連接數(shù)與貓
10、一樣多,并且對于其他神經(jīng)網(wǎng)絡來說,每個神經(jīng)元的連接數(shù)與較小哺乳動物 (如小鼠) 一樣多,這種情況是非常普遍的。甚至人類大腦每個神經(jīng)元的連接數(shù)也沒有過高的數(shù)量。 1 . 自適應線性單元 (Widrow and Hoff, 1 9 6 0);2 . 神經(jīng)認知機 (Fukushima, 1 9 8 0);3 . GPU- 加速卷積網(wǎng)絡 (Chellapilla et al., 2 0 0 6);4 . 深度玻爾茲曼機 (Salakhutdinov and Hinton, 2 0 0 9 a);5 . 無監(jiān)督卷積網(wǎng)絡 (Jarrett et al., 2 0 0 9 b);6 . GPU- 加速多層感
11、知機 (Ciresan et al., 2 0 1 0);7 . 分布式自編碼器 (Le et al., 2 0 1 2);8 . Multi-GPU 卷積網(wǎng)絡(Krizhevsky et al., 2 0 1 2 a);9 . COTS HPC 無監(jiān)督卷積網(wǎng)絡 (Coates et al., 2 0 1 3);1 0 . GoogLeNet (Szegedy et al., 2 0 1 4 a 與日俱增的每個神經(jīng)元的連接數(shù) 自從引入隱藏單元,人工神經(jīng)網(wǎng)絡的規(guī)模大約每 2 .4 年翻一倍。 1 . 感知機 (Rosenblatt, 1 9 5 8 , 1 9 6 2);2 . 自適應線性單元
12、(Widrow and Hoff,1 9 6 0);3 . 神經(jīng)認知機 (Fukushima, 1 9 8 0);4 . 早期后向傳播網(wǎng)絡 (Rumelhart et al., 1 9 8 6 b);5 . 用于語音識別的循環(huán)神經(jīng)網(wǎng)絡 (Robinson and Fallside, 1 9 9 1);6 . 用于語音識別的多層感知機 (Bengio et al., 1 9 9 1);7 . 均勻場 sigmoid 信念網(wǎng)絡 (Saul et al., 1 9 9 6);8 . LeNet5 (LeCun et al., 1 9 9 8 c);9 . 回聲狀態(tài)網(wǎng)絡 (Jaeger and Haa
13、s, 2 0 0 4);1 0 . 深度信念網(wǎng)絡 (Hinton et al., 2 0 0 6 a);1 1 . GPU- 加速卷積網(wǎng)絡 (Chellapilla et al., 2 0 0 6);1 2 . 深度玻爾茲曼機 (Salakhutdinov and Hinton, 2 0 0 9 a);1 3 . GPU加速深度信念網(wǎng)絡 (Raina et al., 2 0 0 9 a);1 4 . 無監(jiān)督卷積網(wǎng)絡 (Jarrett et al., 2 0 0 9 b);1 5 . GPU- 加速多層感知機 (Ciresan et al., 2 0 1 0);1 6 . OMP-1 網(wǎng)絡 (C
14、oates and Ng, 2 0 1 1);1 7 . 分布式自編碼器 (Le et al., 2 0 1 2);1 8 . MultiGPU 卷積網(wǎng)絡 (Krizhevsky et al., 2 0 1 2 a);1 9 . COTS HPC 無監(jiān)督卷積網(wǎng)絡 (Coates et al., 2 0 1 3);2 0 . GoogLeNet (Szegedy et al., 2 0 1 4 a) 與日俱增的神經(jīng)網(wǎng)絡規(guī)模 目前深度學習的應用十分廣泛,例如圖像識別、語音識別、機器翻譯、自動駕駛、金融風控、智能機器人等。 五 算法案例介紹 K近鄰法(KNN)原理 K近鄰法(k-nearest ne
15、ighbors,KNN)是一種很基本的機器學習方法了,在我們平常的生活中也會不自主的應用。比如,我們判斷一個人的人品,只需要觀察他來往最密切的幾個人的人品好壞就可以得出了。 KNN做回歸和分類的主要區(qū)別在于最后做預測時候的決策方式不同。KNN做分類預測時,一般是選擇多數(shù)表決法,即訓練集里和預測的樣本特征最近的K個樣本,預測為里面有最多類別數(shù)的類別。 而KNN做回歸時,一般是選擇平均法,即最近的K個樣本的樣本輸出的平均值作為回歸預測值。由于兩者區(qū)別不大,本次主要是講解KNN 的分類方法,但思想對KNN的回歸方法也適用。 KNN 場景電影可以按照題材分類,那么如何區(qū)分動作片和愛情片 呢?動作片:打
16、斗次數(shù)更多愛情片:親吻次數(shù)更多基于電影中的親吻、打斗出現(xiàn)的次數(shù),使用 k-近鄰算法構(gòu)造程序,就可以自動劃分電影的題材類型。 KNN 計算步驟假設有一個帶有標簽的樣本數(shù)據(jù)集(訓練樣本集),其中包含每條數(shù)據(jù)與所屬分類的對應關(guān)系。輸入沒有標簽的新數(shù)據(jù)后,將新數(shù)據(jù)的每個特征與樣本集中數(shù)據(jù)對應的特征進行比較。計算新數(shù)據(jù)與樣本數(shù)據(jù)集中每條數(shù)據(jù)的距離。計算距離時直接使用了歐式距離公式,計算兩個向量點之間的距離對求得的所有距離進行排序(從小到大,越小表示越相似)。取前k(k 一般小于等于 2 0 )個樣本數(shù)據(jù)對應的分類標簽。求k個數(shù)據(jù)中出現(xiàn)次數(shù)最多的分類標簽作為新數(shù)據(jù)的分類。 KNN 算法特優(yōu)點:1) 理 論
17、 成 熟 , 思 想 簡 單 , 既 可 以 用 來 做 分 類 也 可 以 用 來 做 回 歸2) 可 用 于 非 線 性 分 類3) 訓 練 時 間 復 雜 度 比 支 持 向 量 機 之 類 的 算 法 低 , 僅 為 O(n)4) 和 樸 素 貝 葉 斯 之 類 的 算 法 比 , 對 數(shù) 據(jù) 沒 有 假 設 , 準 確 度 高 , 對 異 常 點 不 敏 感5) 由 于 KNN方 法 主 要 靠 周 圍 有 限 的 鄰 近 的 樣 本 , 而 不 是 靠 判 別 類 域 的 方 法 來 確定 所 屬 類 別 的 , 因 此 對 于 類 域 的 交 叉 或 重 疊 較 多 的 待 分
18、樣 本 集 來 說 , KNN方 法較 其 他 方 法 更 為 適 合6) 該 算 法 比 較 適 用 于 樣 本 容 量 比 較 大 的 類 域 的 自 動 分 類 , 而 那 些 樣 本 容 量 較 小的 類 域 采 用 這 種 算 法 比 較 容 易 產(chǎn) 生 誤 分缺點:1) 計 算 量 大 , 尤 其 是 特 征 數(shù) 非 常 多 的 時 候 2) 樣 本 不 平 衡 的 時 候 , 對 稀 有 類 別 的 預 測 準 確 率 低3) KD樹 , 球 樹 之 類 的 模 型 建 立 需 要 大 量 的 內(nèi) 存4) 使 用 懶 散 學 習 方 法 , 導 致 預 測 時 速 度 比 起 邏
19、 輯 回 歸 之 類 的 算 法 慢5) 相 比 決 策 樹 模 型 , KNN模 型 可 解 釋 性 不 強適用數(shù)據(jù)范圍: 數(shù) 值 型 和 標 稱 型 下面我們通過實例來演示如何實現(xiàn)一個簡單的KNN 算法首先,我們準備一個簡單數(shù)據(jù)集,是由二維空間上的四個點構(gòu)成的矩陣 (A,籃圓圈; B 紅三角) 那么,對于一個新的向量 0 .2 , 0 .2 ,它應該屬于那個類別的呢?從圖上看,它距離 B比較近,應該屬于 B類別。分類X YA 1 .0 1 .1A 1 .0 1 .0B 0 0B 0 1 .0 剛剛采用直觀的方法,講了KNN的原理,接下來我們上代碼。 Python編輯器有很多,前面也推薦大家使用 Anaconda 。這是一個集成的工作環(huán)境,它除了提供 Spyder 編譯 環(huán)境之外,還提供了一個 Notebook的編譯環(huán)境。下面我們采用Notebook環(huán)境,給大家示范KNN的原理代碼。