調參數。用已有的數據讓機器找到解決問題效果比較好的參數。
訓練是指跑模型和調參數兩個步驟:給定一組參數,把模型在數據集上跑一遍。最後把跑分最優的參數確定出來,模型就在我們的數據集上訓練好了。


如果你指的是機器學習演算法,我個人的理解是所謂的訓練過程,也叫學習過程,其實是一個統計過程。儘管這麼說不算很準確,因為嚴格的說現在的深度學習已經算不上真正的統計方法,但是這樣比較容易明白訓練的本質。這個過程是,首先給定一個統計模型,統計模型具有一定的參數,訓練過程就是通過已有的觀測到的數據,來計算對應模型的參數應該是什麼,才能更好的描述這些數據,也使得我們可以估計一些未知的數據。舉個例子,線性回歸。我現在假設一個人的身高與其父母身高呈線性關係,height =a*f+b*m+c。這就是模型。那麼我想知道具體是什麼關係,我就需要大量的數據來計算a b c的值,以得出最合適的能描述這種關係的參數。這就是訓練。得到參數後,我就可以通過父母的身高,計算出子女的身高是多少了,這個就是預測。現在的深度學習,支持向量機,邏輯回歸,隨機森林等等,結構更加複雜,以至於失去了直觀的統計意義,是為了解決更複雜的,非線性的問題,但究其本質的思想方法,其實就是統計過程。

這就是我對機器學習過程的理解。


函數的參數(parameter)


以人臉識別為例。

數學和演算法的任務是正確的將你的臉和你的名字對應起來。

數據訓練任務是告訴程序哪張臉和你的名字對應是正確的。


簡單用人來類比一下。

眼睛看到如下的圖片,大腦就「知道」這些圖片是【貓的圖片】:

看到——明白,這個就是我們訓練的預期結果,人工智慧,現在本質上也就是一種神經網路。這玩意,一開始如同一張白紙,也就是輸入任何東西,輸出都是完全不確定的,就像嬰兒一樣,思維是完全混沌的,剛出生出來,啥都不知道,得慢慢一點一滴教他/她說話、識字、認物、學習等等。

神經網路一開始具備的能力,就是「整理歸納【已知正確的】輸入-輸出數據」和「根據得到的【訓練結果】對新的輸入數據進行計算輸出」,也就是「學習」和「應用」,通過大量的學習,和一個優秀的歸納框架,生成一組訓練結果,用以對【處理程序】進行調整,使其「儘可能符合【已知正確的】輸入-輸出數據」。

然後就可以對需要進行運算的數據來跑啦,要是沒有訓練過程,指鹿為馬都是小兒科了。

這樣當然不能保證對所有的輸入數據都能得到正確的輸出,但人學了幾十年都可能變得老眼昏花/發瘋/偏執狂,機器偶爾犯個二/出個錯/死個機也很正常吧?


其實現階段的人工智慧並沒有處在很高的層次,離人類的心智還是想差很遠,其唯一優勢就是高運算速度,這也是決定了其對數據有著極強的運算能力,其實簡單地說邏輯推理和分析也是一種演算。這樣「餵給」這個機器的數據,也是由人來提供的,那樣,如果人提供的數據存在偏向性或是不完備,機器有時候是無法完全判別的。這個和人類用人的心智來判斷還是有很大差距的。


推薦閱讀:
相关文章