1. 機器學習的時候對選擇不同模型的時候,先分辨樣本呢的離散程度,那麼離散和連續屬性的判斷方法?
離散值是確定的一些值,連續值是無序,有範圍的。比如硬幣只有 0和1 兩種情況,就叫離散值,而人的身高有無數種情況,就叫連續值。
2. 首先談談什麼是過擬合呢?什麼又是欠擬合呢?
網上很直接的理解如下:網上很直接的理解如下:
所謂過擬合(over-fitting)其實就是所建的機器學習模型或者是深度學習模型在訓練樣本中表現得過於優越,導致在驗證資料集以及測試資料集中表現不佳。打個比喻就是當我需要建立好乙個模型之後,比如是識別乙隻狗狗的模型,我需要對這個模型進行訓練。恰好,我訓練樣本中的所有訓練都是二哈,那麼經過多次迭代訓練之後,模型訓練好了,並且在訓練集中表現得很好。基本上二哈身上的所有特點都涵括進去,那麼問題來了!假如我的測試樣本是乙隻金毛呢?將乙隻金毛的測試樣本放進這個識別狗狗的模型中,很有可能模型最後輸出的結果就是金毛不是一條狗(因為這個模型基本上是按照二哈的特徵去打造的)。所以這樣就造成了模型過擬合,雖然在訓練集上表現得很好,但是在測試集中表現得恰好相反,在效能的角度上講就是協方差過大(variance is large),同樣在測試集上的損失函式(cost function)會表現得很大。
所謂欠擬合呢(under-fitting)?相對過擬合欠擬合還是比較容易理解。還是拿剛才的模型來說,可能二哈被提取的特徵比較少,導致訓練出來的模型不能很好地匹配,表現得很差,甚至二哈都無法識別。
那麼問題來了,我們需要怎麼去解決過擬合和欠擬合的問題呢??
過擬合:
首先我們從上面我們可以知道,造成過擬合的原因有可以歸結為:引數過多。那麼我們需要做的事情就是減少引數,這裡有兩種辦法:
1)、回想下我們的模型,假如我們採用梯度下降演算法將模型中的損失函式不斷減少,那麼最終我們會在一定範圍內求出最優解,最後損失函式不斷趨近0。那麼我們可以在所定義的損失函式後面加入一項永不為0的部分,那麼最後經過不斷優化損失函式還是會存在。其實這就是所謂的「正則化」。
下面這張就是加入了正則化(regulation)之後的損失函式。這裡m是樣本數目,landa(後面我用「t」表示,實在是打不出)表示的是正則化係數。
注意:當t(landa)過大時,則會導致後面部分權重比加大(紅色部分?),那麼最終損失函式過大,從而導致欠擬合。當t(landa)過小時,甚至為0,導致過擬合。
2)、對於神經網路,引數膨脹原因可能是因為隨著網路深度的增加,同時引數也不斷增加,並且增加速度、規模都很大。那麼可以採取減少神經網路規模(深度)的方法。也可以用一種叫dropout的方法。dropout的思想是當一組引數經過某一層神經元的時候,去掉這一層上的一部分神經元,讓引數只經過一部分神經元進行計算。注意這裡的去掉並不是真正意義上的去除,只是讓引數不經過一部分神經元計算而已,也就是隨機讓部分神經網路休眠。
另外增大訓練樣本規模同樣也可以防止過擬合。
欠擬合:
其實個人覺得欠擬合基本上都會發生在訓練剛開始的時候,經過不斷訓練之後欠擬合應該不怎麼考慮了。。但是如果真的還是存在的話,可以通過增加網路複雜度或者在模型中增加多點特徵點,這些都是很好解決欠擬合的方法。
3.常見的機器學習的使用方法?
基於統計的機器學習方法可以使用svm進行二分類,可以使用決策樹(id3,cart,c4.5等方法),梯度提公升樹(gbdt , xgboost)等進行多分類。
機器學習常用術語
機器學習作為人工智慧的乙個重要領域,我們有必要對其基本術語有清晰的理解 2 空間 就是表示 可能存在的取值 比如模型空間就是表示 所有可能的模型的取值 引數空間 表示 所有可能的引數 樣本空間表示 所有可能的樣本 3 樣本 是指資料集中的每一條單獨的資料。如沒有說明,會預設資料集中有n個樣本,用符號...
機器學習常用術語
泛化能力,過擬合,欠擬合,效能度量 泛化能力指的是機器學習演算法對新鮮樣本的適應能力。機器能從訓練樣本中學到適用於所有潛在樣本的普遍規律,在遇到新樣本中能做出正確判別的能力 把樣本中的一些雜訊特性也學習下來了,泛化能力差 比如決策樹演算法中,id3演算法中的編號會被該演算法認為是資訊增益最大的屬性,...
機器學習常用術語
機器學習作為人工智慧的乙個重要領域,我們有必要對其基本術語有清晰的理解 2 空間 就是表示 可能存在的取值 比如模型空間就是表示 所有可能的模型的取值 引數空間 表示 所有可能的引數 樣本空間表示 所有可能的樣本 3 樣本 是指資料集中的每一條單獨的資料。如沒有說明,會預設資料集中有n個樣本,用符號...