Python遷移學習 機器學習演算法

2021-10-12 05:09:10 字數 4549 閱讀 4533

「終有一天,人工智慧會像我們看待非洲平原上低階生物的化石一樣看待我們。在人工智慧眼中,人類只是直立行走的猿猴,用著粗糙的語言和簡陋的工具,從誕生起就注定會滅絕。」

——電影《機械姬》

機器學習是人工智慧中乙個流行的子領域,其涉及的領域非常廣泛。流行的原因之一是在其策略下有乙個由複雜的演算法、技術和方**組成的綜合工具箱。該工具箱已經經過了多年的開發和改進,同時新的工具箱也在持續不斷地被研究出來。為了更好地使用機器學習工具箱,我們需要先了解以下幾種機器學習的分類方式。

基於是否有人工進行監督的分類如下。

基於資料可用性的分類如下。

前面討論的分類方法讓我們對關於如何組織、理解和利用機器學習演算法有了乙個抽象的理解。機器學習演算法最常見的分類方法為監督學習演算法和無監督學習演算法。下面讓我們更詳細地討論這兩個類別,因為這將有助於我們開啟後面將要介紹的更高階的主題。

監督學習演算法是一類使用資料樣本(也稱為訓練樣本)和對應輸出(或標籤)來推斷兩者之間對映函式的演算法。推斷對映函式或學習函式是這個訓練過程的輸出。學習函式能正確地對映新的和從未見過的資料點(即輸入元素),以測試自身的效能。

監督學習演算法中的幾個關鍵概念的介紹如下。

可用的監督學習演算法有很多。根據使用需求,它們主要被劃分為分類模型和回歸模型。

用最簡單的話來說,分類演算法能幫助我們回答客觀問題或是非**。例如這些演算法在一些場景中很有用,如「今天會下雨嗎?」或者「這個腫瘤可能癌變嗎?」等。

從形式上來說,分類演算法的關鍵目標是基於輸入資料點**本質分類的輸出標籤。輸出標籤在本質上都是類別,也就是說,它們都屬於乙個離散類或類別範疇。

邏輯回歸、支援向量機(support vector machine,svm)、神經網路、隨機森林、k-近鄰演算法(k-nearest neighbour,knn)、決策樹等演算法都是流行的分類演算法。

假設我們有乙個真實世界的用例來評估不同的汽車模型。為了簡單起見,我們假設模型被期望基於多個輸入訓練樣本**每個汽車模型的輸出是可接受的還是不可接受的。輸入訓練樣本的屬性包括購買**、門數、容量(以人數為單位)和安全級別。

除了類標籤以外,每一層的其他屬性都會用於表示每個資料點是否可接受。圖1.3所示描述了目前的二元分類問題。分類演算法以訓練樣本為輸入來生成乙個監督模型,然後利用該模型為乙個新的資料點**評估標籤。

圖1.3

在分類問題中,由於輸出標籤是離散類,因此如果只有兩個可能的輸出類,任務則被稱為二元分類問題,否則被稱為多類分類問題。例如**明天是否下雨是乙個二元分類問題(其輸出為是或否);從掃瞄的手寫影象中**乙個數字則是乙個包含10個標籤(可能的輸出標籤為0~9)的多類分類問題。

這類監督學習演算法能幫助我們回答「數量是多少」這樣的量化問題。從形式上來說,回歸模型的關鍵目標是估值。在這類問題中,輸出標籤本質上是連續值(而不是分類問題中的離散輸出)。

在回歸問題中,輸入資料點被稱為自變數或解釋變數,而輸出被稱為因變數。回歸模型還會使用由輸入(或自變數)資料點和輸出(或因變數)訊號組成的訓練資料樣本進行訓練。線性回歸、多元回歸、回歸樹等演算法都是監督回歸演算法。

回歸模型可以基於其對因變數和自變數之間關係的模型進一步分類。

簡單線性回歸模型適用於包含單個自變數和單個因變數的問題。普通最小二乘(ordinary least square,ols)回歸是一種流行的線性回歸模型。多元回歸或多變數回歸是指只有乙個因變數,而每個觀測值是由多個解釋變數組成的向量的問題。

多項式回歸模型是多元回歸的一種特殊形式。該模型使用自變數的n次方對因變數進行建模。由於多項式回歸模型能擬合或對映因變數和自變數之間的非線性關係,因此這類模型也被稱為非線性回歸模型。

圖1.4所示是乙個線性回歸的例子。

圖1.4

為了理解不同的回歸型別,我們可以考慮乙個現實世界中根據車速估計汽車的行車距離(單位省略)的用例。在這個問題中,基於已有的訓練資料,我們可以將距離建模為汽車速度(單位省略)的線性函式,或汽車速度的多項式函式。記住,主要目標是在不過擬合訓練資料本身的前提下將誤差最小化。

前面的圖1.4描述了乙個線性擬合模型,而圖1.5所示描述了使用同一資料集的多項式擬合模型。

圖1.5

顧名思義,無監督學習演算法是在沒有監督的情況下對概念進行學習或推斷。監督學習演算法基於輸入資料點和輸出訊號組成的訓練資料集來推斷對映函式,而無監督學習演算法的任務是在沒有任何輸出訊號的訓練資料集中找出訓練資料中的模式和關係。這類演算法利用輸入資料集來檢測模式,挖掘規則或將資料點進行分組/聚類,從而從原始輸入資料集中提取出有意義的見解。

當我們沒有包含相應輸出訊號或標籤的訓練集時,無監督學習演算法就能派上用場。在許多現實場景中,資料集在沒有輸出訊號的情況下是可用的,並且很難手動對其進行標記。因此無監督學習演算法有助於填補這些空缺。

與監督學習演算法類似,為了便於理解和學習,無監督學習演算法也可以進行分類。下面是不同類別的無監督學習演算法。

分類問題的無監督學習演算法稱為聚類。這些演算法能夠幫助我們將資料點聚類或分組到不同的組或類別中,而不需要在輸入或訓練資料集中包含任何輸出標籤。這些演算法會嘗試從輸入資料集中找到模式和關係,利用固有特徵基於某種相似性度量將它們分組。

乙個有助於理解聚類的現實世界的例子是新聞文章。每天有數百篇新聞報道被創作出來,每一篇都針對不同的話題,如政治、體育和娛樂等。聚類是一種可以將這些文章進行分組的無監督方法,如圖1.6所示。

執行聚類過程的方法有多種,其中最受歡迎的方法包括以下幾種。

圖1.6

資料和機器學習是最好的朋友,但是更多、更大的資料會帶來許多問題。大量的屬性或膨脹的特徵空間是常見的問題。乙個大型特徵空間在帶來資料分析和視覺化方面的問題的同時,也帶來了與訓練、記憶體和空間約束相關的問題。這種現象被稱為維度詛咒。由於無監督方法能夠幫助我們從未標記的訓練資料集中提取見解和模式,因此這些方法在幫助我們減少維度方面很有用。

換句話說,無監督方法能夠幫助我們從完整的可用列表中選擇一組具有代表性的特徵,從而幫助我們減少特徵空間,如圖1.7所示。

圖1.7

主成分分析(principal component analysis,pca)、最近鄰分析和判別分析是常用的降維技術。

圖1.7所示是基於pca的降維技術的工作原理的著名描述。左側展示了一組在三維空間中能表示為瑞士卷形狀的資料,右側則展示了應用pca將資料轉換到二維空間中的結果。

這類無監督機器學習演算法能夠幫助我們理解和從交易資料集中提取模式。這些演算法被稱為市場籃子分析(market basket analysis,mba),可以幫助我們識別交易專案之間有趣的關係。

使用關聯規則挖掘,我們可以回答「在特定的商店中哪些商品會被一起購買?」或者「買葡萄酒的人也會買乳酪嗎?」等問題。fp-growth、eclat和apriori是關聯規則挖掘任務的一些廣泛使用的演算法。

異常檢測是基於歷史資料識別罕見事件或觀測的任務,也稱為離群點檢測。異常值或離群值通常具有不頻繁出現或在短時間內突然爆發的特徵。

對於這類任務,我們為演算法提供了乙個歷史資料集,因此它能夠以無監督學習的方式識別和學習資料的正常行為。一旦學習完成之後,演算法將幫助我們識別不同於之前學習行為的模式。

本文摘自《python遷移學習》

本書旨在幫助python從業人員在他們各自的領域中熟悉和使用書中的技術。本書的結構大致分為以下3個部分:

本書首先介紹機器學習和深度學習的核心概念;接著介紹一些重要的深度學習架構,例如深度神經網路(deep neural network,dnn)、卷積神經網路(convolutional neural network,cnn)、遞迴神經網路(recurrent neural network,rnn)、長短時記憶(long short term memory,lstm)和膠囊網路;然後介紹遷移學習的概念和當前最新的預訓練網路,如vgg、inception和resnet,我們還將學習如何利用這些系統來提公升深度學習模型的效能;最後介紹不同領域(如計算機視覺音訊分析以及自然語言處理)的多個真實世界的案例研究和問題。

讀完本書,讀者將可以在自己的系統中實現深度學習和遷移學習。

機器學習 機器學習目錄

注 後期有時間的話會對每乙個演算法進行講解。1 普通線性回歸 2 廣義線性模型 3 邏輯回歸 4 線性判定分析1 決策樹基本原理與構建 2 cart演算法 3 回歸決策樹 4 分類決策樹1 貝葉斯定理與樸素貝葉斯 2 高斯貝葉斯分類器 3 多項式貝葉斯分類器 4 伯努利貝葉斯分類器 5 遞增式學習1...

機器學習 機器學習概論

3 模型評估與模型選擇 4.具體應用 統計學習 是關於計算機基於 資料 構建概率統計模型並運用模型對資料進行 分析 統計學習的三要素 模型在監督學習中,模型就是所要學習的條件概率分布或決策函式。這在後面的章節中會重點介紹。策略 評價模型的標準 用損失函式和代價函式來度量 錯誤的程度。1 幾種損失函式...

機器學習 機器學習基礎

資料集劃分的api 返回值 訓練特徵,測試特徵,訓練目標,測試目標 方式1 獲取小規模的資料集 importsklearn.datasets as datasets iris datasets.load iris 提取樣本資料 feature iris data target iris target...