機器學習概念解釋

解釋一:

機器學習中大概有如下步驟:
確定模型----訓練模型----使用模型。
模型簡單說可以理解爲函數。
確定模型是說自己認爲這些數據的特徵符合哪個函數。
訓練模型就是用已有的數據,通過一些方法(最優化或者其他方法)確定函數的參數,參數確定後的函數就是訓練的結果,使用模型就是把新的數據代入函數求值。

解釋二:

你可以把機器想象成一個小孩子,你帶小孩去公園。公園裏有很多人在遛狗。
簡單起見,咱們先考慮二元分類問題。你告訴小孩這個動物是狗,那個也是狗。但突然一隻貓跑過來,你告訴他,這個不是狗。久而久之,小孩就會產生認知模式。這個學習過程,
就叫“訓練”。所形成的認知模式,就是”模型“。
訓練之後。這時,再跑過來一個動物時,你問小孩,這個是狗吧?他會回答,是/否。這個就叫預測。
一個模型中,有很多參數。有些參數,可以通過訓練獲得,比如logistic模型中的權重。但有些參數,通過訓練無法獲得,被稱爲”超參數“,比如學習率等。這需要靠經驗,或者grid search的方法去尋找。

上面這個例子,是有人告訴小孩,樣本的正確分類,這叫有督管學習。
還有無督管學習,比如小孩自發性對動物的相似性進行辨識和分類。
鏈接:https://www.zhihu.com/question/29271217/answer/83272460

解釋三:

假設現在我們要開發一個識別鳥類的計算機程序。我們已經收集了很多鳥類樣本數據,比如下面這樣:
這個識別鳥類的程序要完成的功能:輸入一隻鳥的“體重”、“翼展”、“有/無腳蹼”、“後背顏色”,輸出這隻鳥的種類。

換句話說,這是一個分類系統。

怎麼讓計算機幫助我們對鳥類進行分類?這就需要使用機器學習的方法。機器學習可以讓計算機從已有的數據(上面收集的已經有分類信息的鳥類樣本數據)中學習出新的知識(如何對鳥進行分類)。

那麼什麼是訓練?在這個例子裏,訓練指的就是利用收集的鳥類樣本數據讓計算機學習如何對鳥類進行分類這一過程。

已有類別信息的鳥類樣本數據集合,稱爲訓練數據集、訓練集。訓練的目的是讓計算機程序知道“如何進行分類”。

至於“訓練的是什麼”、“參數是什麼”,這依賴於我們所選取的“模型”。訓練的結果簡單來說就是得到一組模型的參數,最後使用採用這些參數的模型來完成我們的分類任務。

再舉一個簡單例子說明**“模型”和“模型的參數**”
假設現在我們收集了一些二維平面上的點:紅色的點記爲A類,綠色的點記爲B類,這些點的座標和類別信息都是已知的。現在任務是,給出一個新的點的座標,判斷它是A類還是B類。

簡單觀察一下數據,好像我們可以用一條平行於 y 軸的直線把 A 類點和 B 類點分開。大概是這個樣子:
我們希望找到這樣一條直線 x = k,直線左邊絕大多數點都是 A 類,直線右邊絕大多數點都是 B 類。

於是我們的分類器模型就是 x = k 這樣的直線,k 就是我們的模型參數。

訓練的過程就是利用已有的數據點確定參數 k 的過程。假設我們的訓練結果是 k = k_0 ,那麼我們就可以用 x = k_0 這條直線作爲分類器對新的點進行分類了。

當然實際應用中的模型可能要複雜的多,模型參數也不會只有一個 k 這麼簡單。
鏈接:https://www.zhihu.com/question/29271217/answer/44134218

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章