1. 程式人生 > >A Gentle Introduction to Applied Machine Learning as a Search Problem (譯文)

A Gentle Introduction to Applied Machine Learning as a Search Problem (譯文)

A Gentle Introduction to Applied Machine Learning as a Search Problem

原文作者:Jason Brownlee
原文地址:https://machinelearningmastery.com/applied-machine-learning-as-a-search-problem/
譯者微博:@從流域到海域
譯者部落格:blog.csdn.net/solo95

淺談應用型機器學習作為一種搜尋問題

應用型機器學習是具有挑戰性的,因為針對給定問題設計完善的學習系統是非常棘手的。

(因為)沒有最好的訓練資料或最好的演算法來解決你的問題,只有你可以發現的最好的。(作者的意思是你發現的最好的並不一定是最好的,還可能有更好的,譯者注)

機器學習的應用被認為是最好的解決輸入到輸出的最佳對映的搜尋問題,因為給定專案中知識和資源都是可用的。

在這篇文章中,你將會了解到將應用型機器學習作為一個搜尋問題的概念化(conceptualization)認知。

閱讀這篇文章後,你會知道:

  • 應用型機器學習是近似於“未知的從輸入到輸出的底層對映函式”的問題。
  • 資料選擇和演算法選擇等設計決策縮小了你最終可能選擇的對映函式的範圍。
  • 機器學習作為一種搜尋的概念化有助於合理使用整合(ensembles),對演算法進行抽樣檢查,以及理解演算法學習時發生的事情。

讓我們開始吧。


A Gentle Introduction to Applied Machine Learning as a Search Problem(淺談應用型機器學習作為一種搜尋問題)

照片由tonko43提供,保留某些權利。

概覽

這篇文章分為5個部分; 他們是:

  1. 函式逼近問題
  2. 函式逼近作為搜尋
  3. 資料的選擇
  4. 演算法的選擇
  5. 機器學習作為搜尋的意義

函式逼近問題

應用型機器學習是一個學習系統(learing system)的發展,以解決一個特定的學習問題。

學習問題的特點是由輸入資料和輸出資料組成的觀察(observations)以及兩者之間的未知但一致的關係。

學習系統的目標是學習輸入和輸出資料之間的通用對映,以便對從輸出變數未知的域中抽取的新例項進行熟練的預測。

在統計學習中,從機器學習的統計角度來看,問題被定義為給定輸入資料(X

)和相關輸出資料(y)之間的對映函式(f)的學習。

y = f(X) 

我們有一個XY的樣本,並盡我們所能提出一個近似f的函式,例如fprime,這樣我們就可以在未來給出新的例子(Xhat)時做出預測(yhat)。

yhat = fprime(Xhat)

因此,應用型機器學習可以被認為是函式逼近的問題。


Machine learning as the mapping from inputs to outputs(機器學習是從輸入到輸出的對映)

學習到的對映將是不完美的。

設計和開發學習系統是這樣一個問題,輸入變數對映到輸出變數存在一個未知的底層函式,我們需要學習出它的有用的近似函式。

我們不知道(未知的底層)函式的形式,因為如果我們知道,我們就不需要學習系統(來學習出一個近似的函式); 我們可以用它來直接指定解決方案。

因為我們不知道真正的底層函式,所以我們必須對它進行近似,這意味著我們不知道,也許永遠不會知道學習系統的近似函式與真實對映的接近程度。

函式逼近作為搜尋

我們必須尋找一個對我們的目的來說足夠好的真正底層函式的近似函式)。

有許多噪聲源會將錯誤引入到學習過程中,這會使(學習過程)變得更具挑戰性,反過來產生不太有用的對映。例如:

  • 學習問題框架(framing)的選擇。
  • 用於訓練系統的觀察(observations)的選擇。
  • 訓練資料如何準備的選擇。
  • 預測模型的表示形式的選擇。
  • 適應訓練資料模型的學習演算法的選擇。
  • 評估預測技能的績效指標的選擇。

還有更多。

你可以看到在學習系統的開發中有很多選擇點,事先都沒有答案。

您可以將所有可能的學習系統都視為一個巨大的搜尋空間,每個決策點都會縮小搜尋範圍。


Search space of all possible mapping functions from inputs to outputs(從輸入到輸出的所有可能對映函式的搜尋空間)

舉個例子,如果學習問題是為了預測花的種類,則可以將數百萬個可能的學習系統中的一個縮小如下:

  • 選擇將問題框定為預測物種類別標籤,比如分類。
  • 選擇一個特定物種及其相關亞種的花朵的測量(方法)。
  • 在一個特定的花園選擇花卉進行測量來收集訓練資料。
  • 選擇一個決策樹模型表示,以便向利益相關者解釋預測。
  • 選擇CART演算法以適配決策樹模型。
  • 選擇分類準確性來評估模型的能力。

等等。

你也可以看到,開發一個學習系統所涉及的許多決定可能存在一個自然的層次,每一個決定都進一步縮小了我們可能建立的學習系統的空間。

這個縮小帶來了一個有用的偏差(bias),我們會有意識地選擇一個可能的學習系統的一個子集而不是另一個子集,目的是更接近我們可以在實踐中使用的有用對映。這種偏差既適用於問題框架的頂層,也適用於低層次,如機器學習演算法或演算法配置的選擇。

資料的選擇

學習問題所選擇的框架和用於訓練系統的資料是學習系統發展的一個重要槓桿。

您無權訪問所有資料:即所有輸入和輸出對。如果你有許可權,則不需要預測模型就能對新的輸入觀測值輸出預測。

你確實有一些歷史的輸入輸出對。如果你沒有,你將不會有任何資料來訓練一個預測模型。

但是,也許你有大量資料,你只需要選擇其中的一部分進行訓練。或者,您可​​以隨意生成資料,這會受到生成或收集什麼樣的資料以及要生成多少資料的挑戰。

您選擇用來建立學習系統模型的資料必須充分捕獲到您可用資料中輸入和輸出資料之間的關係,並且包括將來需要模型進行預測的資料。


從一個問題的全部通用資料中選擇訓練資料(Choice of training data from the universe of all data for a problem,意譯)

演算法的選擇

您必須選擇模型的表示(representation)和用於擬合(fit)訓練的資料的模型的演算法。這也是您的學習系統發展的另一大重要槓桿。


從一個問題的全部通用演算法中選擇演算法(Choice of algorithm from the universe of all algorithms for a problem,意譯)

通常這個決定被簡化為演算法的選擇,儘管專案的利益相關者對專案施加約束是很常見的,例如模型必須能夠解釋預測,而預測又對最終模型的表示形式施加約束,反過來作用於你可以搜尋的對映範圍。


選擇輸入到輸出的近似對映的效果(Effect of choosing an approximate mapping from inputs to outputs)

機器學習作為搜尋的意義

這種將開發學習系統作為搜尋問題的概念化有助於清楚地表明應用型機器學習中的許多相關問題。

這部分只關注了一點點(東西)。

迭代學習的演算法

用於學習對映的演算法將會施加進一步的約束,並且隨著所選擇的演算法配置,將控制模型擬合時如何導航(navigated)可能的候選對映的空間(例如,用於迭代學習的機器學習演算法)。

在這裡,我們可以看到,通過機器學習演算法從訓練資料中學習的行為實際上是在導航(navigating)學習系統的可能的對映的空間,希望從差的對映轉移到更好的對映(例如爬山)。


學習演算法在資料上迭代訓練的效果(Effect of a learning algorithm iteratively training on data)

這為在機器學習演算法的核心中優化演算法的作用提供了一個概念的基本原理,以便從特定訓練資料的模型表示中獲得最大的效益。

整合(Ensembles)的理由

我們還可以看到,不同的模型表示將在所有可能的函式對映的空間中佔據完全不同的位置,並且在進行預測時又具有完全不同的行為(例如不相關的預測誤差)。

這為整合方法(ensemble method)的作用提供了一個概念性的理論基礎,它結合了雖不同但卻是有能力的預測模型的預測。


結合來自多個最終模型的預測的演示(Interpretation of combining predictions from multiple final models)

抽查的理論基礎(Rationale for Spot Checking)

具有不同表示的不同演算法可以在可能的函式對映的空間中的不同位置開始,並且將會不同地對空間進行導航(navigate)。

如果這些演算法正在導航的受限空間被適當的框架和良好的資料所明確(表示),那麼大多數演算法將可能發現良好的並且相似的對映函式。

我們也可以看到,一個好的框架和仔細選擇的訓練資料可以開啟一個候選對映的空間,可以通過一套強大的現代機器學習演算法套件找到。

這為在給定的機器學習問題上對一套演算法進行抽樣檢查提供了理論基礎,並加註了一個顯現出最有前途的演算法或選擇一個最簡約的解決方案(比如Occam的剃鬚刀)。
(This provides rationale for spot checking a suite of algorithms on a given machine learning problem and doubling down on the one that shows the most promise, or selecting the most parsimonious solution (e.g. Occam’s razor,原文如此)

進一步閱讀

如果你想深入閱讀的話,這一小節列出了關於這個話題的更多資源。

Chapter 2, Machine Learning, 1997.
Generalization as Search, 1982.
Chapter 1, Data Mining: Practical Machine Learning Tools and Techniques, 2016.
On algorithm selection, with an application to combinatorial search problems, 2012.
Algorithm Selection on Wikipedia

概要

在這篇文章中,你發現應用型機器學習的概念化是一個搜尋問題。

具體來說,你瞭解到:

  • 應用型機器學習是近似於“未知的從輸入到輸出的底層對映函式”的問題。
  • 資料選擇和演算法選擇等設計決策縮小了你最終可能選擇的對映函式的範圍。
  • 機器學習作為一種搜尋的概念化有助於合理使用整合(ensembles),對演算法進行抽樣檢查,以及理解演算法學習時發生的事情。