国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

通過學習曲線識別過擬合和欠擬合

人工智能 機器學習
本文將介紹如何通過學習曲線來有效識別機器學習模型中的過擬合和欠擬合。

本文將介紹如何通過學習曲線來有效識別機器學習模型中的過擬合和欠擬合。

欠擬合和過擬合

1、過擬合

如果一個模型對數據進行了過度訓練,以至于它從中學習了噪聲,那么這個模型就被稱為過擬合。過擬合模型非常完美地學習了每一個例子,所以它會錯誤地分類一個看不見的/新的例子。對于一個過擬合的模型,我們會得到一個完美/接近完美的訓練集分數和一個糟糕的測試/驗證分數。

過擬合的原因:用一個復雜的模型來解決一個簡單的問題,從數據中提取噪聲。因為小數據集作為訓練集可能無法代表所有數據的正確表示。

2、欠擬合

如果一個模型不能正確地學習數據中的模式,我們就說它是欠擬合的。欠擬合模型并不能完全學習數據集中的每一個例子。在這種情況下,我們看到訓練集和測試/驗證集的分數都很低。

欠擬合的原因:使用一個簡單的模型來解決一個復雜的問題,這個模型不能學習數據中的所有模式,或者模型錯誤的學習了底層數據的模式。

學習曲線

學習曲線通過增量增加新的訓練樣例來繪制訓練樣例樣本的訓練和驗證損失。可以幫助我們確定添加額外的訓練示例是否會提高驗證分數(在未見過的數據上得分)。如果模型是過擬合的,那么添加額外的訓練示例可能會提高模型在未見數據上的性能。同理如果一個模型是欠擬合的,那么添加訓練樣本也沒有什么用。' learning_curve '方法可以從Scikit-Learn的' model_selection '模塊導入。

from sklearn.model_selection import learning_curve

我們將使用邏輯回歸和Iris數據進行演示。創建一個名為“learn_curve”的函數,它將擬合邏輯回歸模型,并返回交叉驗證分數、訓練分數和學習曲線數據。

#The function below builds the model and returns cross validation scores, train score and learning curve data
 def learn_curve(X,y,c):
 ''' param X: Matrix of input features
        param y: Vector of Target/Label
        c: Inverse Regularization variable to control overfitting (high value causes overfitting, low value causes underfitting)
    '''
 '''We aren't splitting the data into train and test because we will use StratifiedKFoldCV.
        KFold CV is a preferred method compared to hold out CV, since the model is tested on all the examples.
        Hold out CV is preferred when the model takes too long to train and we have a huge test set that truly represents the universe
    '''
     
     le = LabelEncoder() # Label encoding the target
     sc = StandardScaler() # Scaling the input features
     y = le.fit_transform(y)#Label Encoding the target
 log_reg = LogisticRegression(max_iter=200,random_state=11,C=c) # LogisticRegression model
 # Pipeline with scaling and classification as steps, must use a pipelne since we are using KFoldCV
     lr = Pipeline(steps=(['scaler',sc],
                        ['classifier',log_reg]))
     
     
     cv = StratifiedKFold(n_splits=5,random_state=11,shuffle=True) # Creating a StratifiedKFold object with 5 folds
 cv_scores = cross_val_score(lr,X,y,scoring="accuracy",cv=cv) # Storing the CV scores (accuracy) of each fold
     
     
     lr.fit(X,y) # Fitting the model
 
     train_score = lr.score(X,y) # Scoring the model on train set
     
     #Building the learning curve
 train_size,train_scores,test_scores =learning_curve(estimator=lr,X=X,y=y,cv=cv,scoring="accuracy",random_state=11)
 train_scores = 1-np.mean(train_scores,axis=1)#converting the accuracy score to misclassification rate
     test_scores = 1-np.mean(test_scores,axis=1)#converting the accuracy score to misclassification rate
 lc =pd.DataFrame({"Training_size":train_size,"Training_loss":train_scores,"Validation_loss":test_scores}).melt(id_vars="Training_size")
     return {"cv_scores":cv_scores,
            "train_score":train_score,
            "learning_curve":lc}

上面代碼很簡單,就是我們日常的訓練過程,下面我們開始介紹學習曲線的用處

1、擬合模型的學習曲線

我們將使用' learn_curve '函數通過將反正則化變量/參數' c '設置為1來獲得一個良好的擬合模型(即我們不執行任何正則化)。

lc = learn_curve(X,y,1)
 print(f'Cross Validation Accuracies:\n{"-"*25}\n{list(lc["cv_scores"])}\n\n\
 Mean Cross Validation Accuracy:\n{"-"*25}\n{np.mean(lc["cv_scores"])}\n\n\
 Standard Deviation of Deep HUB Cross Validation Accuracy:\n{"-"*25}\n{np.std(lc["cv_scores"])}\n\n\
 Training Accuracy:\n{"-"*15}\n{lc["train_score"]}\n\n')
 sns.lineplot(data=lc["learning_curve"],x="Training_size",y="value",hue="variable")
 plt.title("Learning Curve of Good Fit Model")
 plt.ylabel("Misclassification Rate/Loss");

上面的結果中,交叉驗證準確率與訓練準確率接近。

訓練的損失(藍色):一個好的擬合模型的學習曲線會隨著訓練樣例的增加逐漸減小并逐漸趨于平坦,說明增加更多的訓練樣例并不能提高模型在訓練數據上的性能。

驗證的損失(黃色):一個好的擬合模型的學習曲線在開始時具有較高的驗證損失,隨著訓練樣例的增加逐漸減小并逐漸趨于平坦,說明樣本越多,就能夠學習到更多的模式,這些模式對于”看不到“的數據會有幫助

最后還可以看到,在增加合理數量的訓練樣例后,訓練損失和驗證損失彼此接近。

2、過擬合模型的學習曲線

我們將使用' learn_curve '函數通過將反正則化變量/參數' c '設置為10000來獲得過擬合模型(' c '的高值導致過擬合)。

lc = learn_curve(X,y,10000)
 print(f'Cross Validation Accuracies:\n{"-"*25}\n{list(lc["cv_scores"])}\n\n\
 Mean Cross Validation Deep HUB Accuracy:\n{"-"*25}\n{np.mean(lc["cv_scores"])}\n\n\
 Standard Deviation of Cross Validation Accuracy:\n{"-"*25}\n{np.std(lc["cv_scores"])} (High Variance)\n\n\
 Training Accuracy:\n{"-"*15}\n{lc["train_score"]}\n\n')
 sns.lineplot(data=lc["learning_curve"],x="Training_size",y="value",hue="variable")
 plt.title("Learning Curve of an Overfit Model")
 plt.ylabel("Misclassification Rate/Loss");

與擬合模型相比,交叉驗證精度的標準差較高。

過擬合模型的學習曲線一開始的訓練損失很低,隨著訓練樣例的增加,學習曲線逐漸增加,但不會變平。過擬合模型的學習曲線在開始時具有較高的驗證損失,隨著訓練樣例的增加逐漸減小并且不趨于平坦,說明增加更多的訓練樣例可以提高模型在未知數據上的性能。同時還可以看到,訓練損失和驗證損失彼此相差很遠,在增加額外的訓練數據時,它們可能會彼此接近。

3、欠擬合模型的學習曲線

將反正則化變量/參數' c '設置為1/10000來獲得欠擬合模型(' c '的低值導致欠擬合)。

lc = learn_curve(X,y,1/10000)
 print(f'Cross Validation Accuracies:\n{"-"*25}\n{list(lc["cv_scores"])}\n\n\
 Mean Cross Validation Accuracy:\n{"-"*25}\n{np.mean(lc["cv_scores"])}\n\n\
 Standard Deviation of Cross Validation Accuracy:\n{"-"*25}\n{np.std(lc["cv_scores"])} (Low variance)\n\n\
 Training Deep HUB Accuracy:\n{"-"*15}\n{lc["train_score"]}\n\n')
 sns.lineplot(data=lc["learning_curve"],x="Training_size",y="value",hue="variable")
 plt.title("Learning Curve of an Underfit Model")
 plt.ylabel("Misclassification Rate/Loss");

與過擬合和良好擬合模型相比,交叉驗證精度的標準差較低。

欠擬合模型的學習曲線在開始時具有較低的訓練損失,隨著訓練樣例的增加逐漸增加,并在最后突然下降到任意最小點(最小并不意味著零損失)。這種最后的突然下跌可能并不總是會發生。這表明增加更多的訓練樣例并不能提高模型在未知數據上的性能。

總結

在機器學習和統計建模中,過擬合(Overfitting)和欠擬合(Underfitting)是兩種常見的問題,它們描述了模型與訓練數據的擬合程度如何影響模型在新數據上的表現。

分析生成的學習曲線時,可以關注以下幾個方面:

  • 欠擬合:如果學習曲線顯示訓練集和驗證集的性能都比較低,或者兩者都隨著訓練樣本數量的增加而緩慢提升,這通常表明模型欠擬合。這種情況下,模型可能太簡單,無法捕捉數據中的基本模式。
  • 過擬合:如果訓練集的性能隨著樣本數量的增加而提高,而驗證集的性能在一定點后開始下降或停滯不前,這通常表示模型過擬合。在這種情況下,模型可能太復雜,過度適應了訓練數據中的噪聲而非潛在的數據模式。

根據學習曲線的分析,你可以采取以下策略進行調整:

  • 對于欠擬合
  • 增加模型復雜度,例如使用更多的特征、更深的網絡或更多的參數。
  • 改善特征工程,嘗試不同的特征組合或轉換。
  • 增加迭代次數或調整學習率。
  • 對于過擬合
  • 使用正則化技術(如L1、L2正則化)。

  • 減少模型的復雜性,比如減少參數數量、層數或特征數量。

  • 增加更多的訓練數據。

  • 應用數據增強技術。

  • 使用早停(early stopping)等技術來避免過度訓練。

通過這樣的分析和調整,學習曲線能夠幫助你更有效地優化模型,并提高其在未知數據上的泛化能力。

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2017-10-05 13:38:22

LSTM過擬合欠擬合

2020-12-27 21:14:06

Python機器學習算法

2013-02-18 11:31:00

JavaScriptPerl語言

2023-03-06 14:12:47

深度學習

2009-12-28 11:08:34

ADO 實例

2013-06-03 09:24:34

公有云計算亞馬遜EC2API

2021-03-08 21:46:00

大數據互聯網工程師

2022-08-10 15:56:40

機器學習算法深度學習

2020-01-09 10:45:17

算法機器學習技術

2013-11-29 09:37:10

云計算學習曲線云計算咨詢云計算解決方案

2019-09-11 14:16:34

編程語言技術人生第一份工作

2020-06-05 08:38:39

python散點圖擬合

2022-09-19 23:55:59

深度學習統計學人工智能

2021-01-18 23:01:04

機器學習技術人工智能

2025-01-03 10:30:00

2022-09-25 23:19:01

機器學習決策樹Python

2022-03-30 14:00:49

人工智能災害機器

2023-10-30 10:29:50

C++最小二乘法

2022-09-27 10:54:09

數字化轉型企業高管

2019-12-20 09:15:48

神經網絡數據圖形
點贊
收藏

51CTO技術棧公眾號

黄色激情在线播放| 麻豆精品国产91久久久久久| 精品人在线二区三区| 成人黄色免费电影| 成人中文字幕电影| 在线成人av电影| 久久精品123| 久久综合狠狠综合久久综青草| 国偷自产视频一区二区久| 自拍偷拍亚洲精品| www.精品| 国产一区二区三区中文| 999av小视频在线| 欧美一级日韩不卡播放免费| 成av人电影在线观看| 91福利资源站| 黄色软件在线| 欧美三级电影网| 日本黄色片在线观看| 337p亚洲精品色噜噜噜| 美女隐私在线观看| 777奇米四色成人影色区| 免费观看成人高潮| 日韩欧美高清一区| www.九色在线| 综合欧美国产视频二区| 精品3atv在线视频| 日韩在线www| 国产精品白浆| 欧美在线性爱视频| 国产一区二区三区四区大秀| 国产精品激情av电影在线观看| 波多野结衣在线播放一区| 国产精自产拍久久久久久蜜| 91久久久精品国产| 国产伦精品一区二区三区视频免费 | 欧美va亚洲va日韩∨a综合色| 91系列在线播放| 99伊人成综合| 玖玖精品在线视频| 久久亚洲欧美国产精品乐播| 成人免费网站视频www| 亚洲图片欧美色图| 久操视频在线免费播放| 日韩av在线看| 日韩不卡在线视频| 国产精品网站视频| 亚洲一区网站| 国产成人亚洲综合无码| 97se亚洲国产综合自在线不卡| 色婷婷狠狠18| 色综合天天综合给合国产| 久久五月精品中文字幕| 麻豆国产va免费精品高清在线| 久久99国产精一区二区三区| 99se婷婷在线视频观看| 极品少妇一区二区三区精品视频| 日本老熟妇毛茸茸| 欧美四级电影网| 成人日韩在线| 国产精品流白浆视频| 日韩av高清在线观看| av五月天在线| 色婷婷国产精品综合在线观看| 国产在线88av| 国产精品video| 久久99精品一区二区三区| 人人干人人干人人| 欧美一级二级三级蜜桃| 国产成人澳门| 视频一区不卡| 亚洲欧美日韩在线不卡| 在线中文字幕视频观看| 色婷婷综合久久久久中文字幕1| 中文有码一区| 亚洲啊啊啊啊啊| 亚洲国产日日夜夜| 国产精品高清乱码在线观看| 国产精品老牛影院在线观看| 国内成人自拍视频| 四虎影院在线域名免费观看| 尤物yw午夜国产精品视频明星| 欧美mv日韩| 国产淫片免费看| 欧美一级高清大全免费观看| 丝袜连裤袜欧美激情日韩| 亚洲啪啪av| 欧美日韩在线免费| 精品视频一区二区三区| 久久国产精品一区二区三区| 国产午夜三级一区二区三| 天堂av资源在线观看| 国产精品99久久久久久久久久久久 | 日韩免费毛片视频| 精品久久国产字幕高潮| 欧美日韩中字| 性欧美大战久久久久久久| 欧美三级电影在线看| 秋霞在线一区| 日韩一区二区高清视频| 7777精品伊人久久久大香线蕉经典版下载| 妺妺窝人体色777777| 亚洲欧美国产精品| 国产99久久久国产精品成人免费| 欧美一二三区| 精品免费在线观看| 久久久久久久久久久久电影| 日韩av不卡播放| 欧美日韩一区二区在线播放| 亚洲综合伊人| 亚洲欧美日韩不卡| 欧美精品久久天天躁| 全球成人免费直播| 久久国产精品国产精品| 亚洲欧洲午夜一线一品| 亚洲精品少妇| 日韩在线无毛| 国产精品成人久久久久| 久久久精品综合| 国产v综合v| 亚洲啪啪av| 日韩欧美电影一区| 夜夜嗨一区二区| 国产成人天天5g影院在线观看| 26uuu久久噜噜噜噜| 2欧美一区二区三区在线观看视频| 色婷婷av在线| 日韩成人av网站| 欧美一级二级在线观看| 亚洲色诱最新| 日本成a人片在线观看| 国产精品一区二区欧美| 欧美性生活久久| 国内自拍一区| 毛片免费在线| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 永久免费的av网站| 97视频在线免费观看| 欧美精彩视频一区二区三区| 99热这里有精品| 999香蕉视频| 97精品免费视频| 亚洲另类中文字| 久久在线视频| 国产中文字幕在线观看| 国内精品视频免费| 精品黑人一区二区三区久久| 久久成人羞羞网站| 国产欧美自拍| 亚洲性图一区二区| 国产精品视频99| 欧美日韩久久一区| 免费人成黄页网站在线一区二区| 成年人黄色大片在线| 欧美激情 国产精品| 欧美黑人国产人伦爽爽爽| 亚洲人成小说网站色在线| 久久影院100000精品| 欧美日韩欧美| 51xx午夜影福利| 欧美国产亚洲精品久久久8v| 一区二区三区欧美在线观看| 天天综合亚洲| 日本一级理论片在线大全| www.69av| 欧美最顶级丰满的aⅴ艳星| 欧美性生活大片免费观看网址| 国产一区二区中文| 手机在线观看av| 8x8x最新地址| 成人h视频在线观看| 日韩成人网免费视频| 国产无一区二区| 欧美午夜一区二区福利视频| 亚洲人体影院| 久草亚洲一区| 日本成人三级| 欧美激情手机在线视频| 91福利视频在线| 国产精品一区二区久久不卡| 另类图片第一页| 色大18成网站www在线观看| 日韩视频一二三| 国产精品久久久久9999| 日韩欧美一级二级| 国产精品精品国产色婷婷| 99亚洲视频| 7m精品国产导航在线| 日本中文字幕在线2020| 日本精品一区二区三区四区| 91久久国产综合久久蜜月精品| 国产一区二区三区日韩欧美| 亚洲午夜久久久| 国产成人免费视频| 欧美 日韩 国产 一区| 亚洲精品自拍| 午夜精品一区| 国产偷激情在线| 久操手机在线视频| 国产精品一国产精品最新章节|