引言:傳統上,計算機會按照我們輸入的指令一步步執行。而機器學習卻是通過輸入資料而不是指令來進行各種工作。 本文選自《深入淺出深度學習:原理剖析與python實踐》。
機器學習,也被稱為統計機器學習,是人工智能領域的一個分支,其基本思想是基于資料建構統計模型,并利用模型對資料進行分析和預測的一門學科。
傳統上,如果想讓計算機工作,我們會編寫一段指令,然後讓計算機遵照這個指令一步一步執行下去。而機器學習則是采用另一種解決問題的思路,機器學習解決問題的方式不是通過輸入指令邏輯,而是通過輸入的資料,也就是說,機器學習是一種讓計算機利用資料而不是指令來進行各種工作的方法。
機器學習最基本的做法是使用算法來解析資料,從資料中學習到規律,并掌握這種規律,然後對真實世界中的事件做出決策或預測。與傳統的為解決特定任務、寫死的軟體程式不同,機器學習的核心是使用大量的資料來訓練,通過各種算法從資料中學習如何完成任務。機器學習直接來源于早期的人工智能領域,在模式識别和計算機學習理論的研究中逐漸發展,并最終形成一門新的學科。與人工智能類似,機器學習也是一個跨學科的領域,涉及多個基礎學科,包括統計學、線性代數和數值計算等。
機器學習是基于訓練資料建構統計模型,進而使計算機具有對新資料進行預測和分析的能力,機器學習方法按其實作的目标不同,可以分為:監督學習、無監督學習和強化學習。
監督學習(supervised learning):監督學習使用帶有标簽的訓練資料集進行訓練,輸入的訓練資料由物體的特征向量(輸入)和物體的标簽(輸出)兩部分構成,其中,若輸出的标簽是一個連續的值,則稱為回歸監督學習;若輸出标簽是一個離散的值,則稱為分類監督學習。
監督學習涉及兩個方面的工作:首先,根據提供的訓練資料,選擇一種合适的模型進行訓練,直至模型的訓練收斂。常見的監督學習模型包括:logistic回歸、決策樹、svm(support vector machines,支援向量機)、knn、樸素貝葉斯等。下圖展示的是一個水果分類的例子,每一個樣本資料的輸入是由物體的特征構成的特征向量,如物體的顔色、大小、形狀等,輸出的是物體的類别,如蘋果、葡萄、香蕉等。
監督學習模型訓練,算法利用訓練資料提供的特征資訊,如顔色、大小、形狀等,建構機率模型p(y|x)或非機率模型y=f(x)
其次,當模型訓練完畢,就可以把新的輸入資料代入模型,模型将根據新資料的特征資訊,找出最符合這種特征的輸出結果,其過程如下。
模型預測
無監督學習(unsupervised learning):無監督學習的訓練樣本資料沒有任何的标簽和輸出,其目的是對原始資料結構進行深入分析,找出資料間存在的規律與關系。典型的無監督學習任務包括:聚類、降維、特征提取等。
兩種常見的無監督學習,(a)資料聚類,(b)資料降維
雖然監督學習的準确率更高,但在現實生活中,我們擷取的大量資料一般是沒有标簽資料的,是以,我們不得不訴諸于無監督學習,但傳統的無監督學習方法在特征提取上并不令人滿意,而深度學習則被證明具有強大的無監督學習能力,特别是在計算機視覺領域,運用深度學習技術所達到的效果更是要遠優于傳統的機器學習。
強化學習(reinforcement learning):強化學習也稱為增強學習,強調如何基于環境而行動,以取得最大化的預期利益。其靈感來源于心理學中的行為主義理論,即有機體如何在環境給予的獎勵或懲罰的刺激下,逐漸形成對刺激的預期,産生能獲得最大利益的習慣性行為。
強化學習與前面的監督學習、無監督學習之間的差別在于,它并不需要出現正确的輸入輸出對,也不需要精确校正次優化的行為。強化學習更加專注于線上規劃,需要在探索未知的領域和遵從現有知識之間找到平衡,它的學習過程是一個從實際環境中不斷學習積累,不斷進化的過程。是以,強化學習更接近生物學習的本質,也是有望讓機器獲得通用智能的一項技術。
deepmind利用強化學習技術在迷宮遊戲中執行搜尋任務(圖檔摘自網絡)
想及時獲得更多精彩文章,可在微信中搜尋“博文視點”或者掃描下方二維碼并關注。