舉個例子解釋一下:(圖片來自Andrew Ng Machine Learning公開課視頻)機器學習
上面三個圖的函數依次爲 , , 。咱們是想用這三個函數分別來擬合Price,Price的真實值記爲 。函數
咱們給定 ,這三個函數都會輸出一個 ,這個輸出的 與真實值 多是相同的,也多是不一樣的,爲了表示咱們擬合的好壞,咱們就用一個函數來度量擬合的程度,好比:post
,這個函數就稱爲損失函數(loss function),或者叫代價函數(cost function)。損失函數越小,就表明模型擬合的越好。學習
那是否是咱們的目標就只是讓loss function越小越好呢?還不是。優化
這個時候還有一個概念叫風險函數(risk function)。風險函數是損失函數的指望,這是因爲咱們輸入輸出的 遵循一個聯合分佈,可是這個聯合分佈是未知的,因此沒法計算。可是咱們是有歷史數據的,就是咱們的訓練集, 關於訓練集的平均損失稱做經驗風險(empirical risk),即 ,因此咱們的目標就是最小化 ,稱爲經驗風險最小化。視頻
到這裏完了嗎?尚未。blog
若是到這一步就完了的話,那咱們看上面的圖,那確定是最右面的 的經驗風險函數最小了,由於它對歷史的數據擬合的最好嘛。可是咱們從圖上來看 確定不是最好的,由於它過分學習歷史數據,致使它在真正預測時效果會很很差,這種狀況稱爲過擬合(over-fitting)。圖片
爲何會形成這種結果?大白話說就是它的函數太複雜了,都有四次方了,這就引出了下面的概念,咱們不只要讓經驗風險最小化,還要讓結構風險最小化。這個時候就定義了一個函數 ,這個函數專門用來度量模型的複雜度,在機器學習中也叫正則化(regularization)。經常使用的有 , 範數。get
到這一步咱們就能夠說咱們最終的優化函數是: ,即最優化經驗風險和結構風險,而這個函數就被稱爲目標函數。it
結合上面的例子來分析:最左面的 結構風險最小(模型結構最簡單),可是經驗風險最大(對歷史數據擬合的最差);最右面的 經驗風險最小(對歷史數據擬合的最好),可是結構風險最大(模型結構最複雜);而 達到了兩者的良好平衡,最適合用來預測未知數據集。