日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

4.2 数据集划分-机器学习笔记-斯坦福吴恩达教授

發布時間:2025/4/5 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 4.2 数据集划分-机器学习笔记-斯坦福吴恩达教授 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據集劃分

測試集

在線性回歸的章節中,我們已經知道,僅僅具備一個很小的訓練誤差并不能保證我們的預測函數就是優秀的,因為這種“優秀”僅僅體現在了對于已知的訓練樣本的假設上,而無法保證見到新的樣本時候還能做出足夠好的預測,過擬合就是當中的典型例子:

因此,預測準不準應當反映在對于新樣本的泛化(generalize)能力。我們考慮將數據集劃分為:

  • 訓練集:70%
  • 測試集:30%

在對數據集進行訓練集和測試集的劃分前,最好先對數據集進行亂序,防止類似樣本聚到一起

引入如下符號:

  • (x(1),y(1))(x^{(1)},y^{(1)})(x(1)y(1)) :訓練樣本
  • (xtest(1),ytest(1))(x^{(1)}_{test},y^{(1)}_{test})(xtest(1)?ytest(1)?) :測試樣本
  • mmm :訓練集樣本容量
  • mtestm_{test}mtest? :測試集樣本容量

線性回歸的測試誤差

在線性回歸中,我們就通過計算測試集的代價函數來評估參數 θθθ 的泛化能力:
Jtest=12mtest∑i=1mtest(hθ(xtest(i))?ytest(i))2J_{test}=\frac1{2m_{test}}∑_{i=1}^{m_{test}}(h_θ(x^{(i)}_{test})?y^{(i)}_{test})^2Jtest?=2mtest?1?i=1mtest??(hθ?(xtest(i)?)?ytest(i)?)2

邏輯回歸的測試誤差

在邏輯回歸中,測試集的代價函數為:
Jtest(θ)=?1mtest∑i=1mtest(ytest(i)loghθ(xtest(i)))?(1?ytest(i))loghθ(xtest(i)))J_{test}(\theta)=-\frac1{m_{test}}∑_{i=1}^{m_{test}}(y_{test}^{(i)}\ logh_\theta(x^{(i)}_{test}))?(1-y_{test}^{(i)})\ logh_\theta(x^{(i)}_{test}))Jtest?(θ)=?mtest?1?i=1mtest??(ytest(i)??loghθ?(xtest(i)?))?(1?ytest(i)?)?loghθ?(xtest(i)?))

由于邏輯回歸處理的是 0/1 分類問題,其預測結果只有正確與錯誤之分,所以引入誤分率(Misclassification Error):
err(hθ(x),y)={1,ifhθ(x)≥0.5,y=0orhθ(x)<0.5,y=10,otherwiseerr(h_\theta(x),y)=\begin{cases}1,\quad if\ h_\theta(x)≥0.5,\ y=0\ or\ h_\theta(x)<0.5,\ y=1\\ 0,\quad otherwise\end{cases}err(hθ?(x),y)={1,if?hθ?(x)0.5,?y=0?or?hθ?(x)<0.5,?y=10,otherwise?

則邏輯回歸中的測試誤差可以表示為:
Testerror=1mtest∑1mtesterr(hθ(xtest(i)),ytest(i))Test_{error}=\frac1{m_{test}}\sum_1^{m_{test}}err(h_\theta(x_{test}^{(i)}),\ y_{test}^{(i)})Testerror?=mtest?1?1mtest??err(hθ?(xtest(i)?),?ytest(i)?)

交叉驗證集

在多項式回歸中,我們總是嘗試不同的多項式次數(degree)( degree )degree,形成了不同的預測模型:

1.hθ(x)=θ0+θ1x1.\quad h_θ(x)=θ_0+θ_1x1.hθ?(x)=θ0?+θ1?x2.hθ(x)=θ0+θ1x+θ2x22.\quad h_θ(x)=θ_0+θ_1x+θ_2x^22.hθ?(x)=θ0?+θ1?x+θ2?x23.hθ(x)=θ0+θ1x+...+θ3x33.\quad h_θ(x)=θ_0+θ_1x+...+θ_3x^33.hθ?(x)=θ0?+θ1?x+...+θ3?x34.hθ(x)=θ0+θ1x+...+θ4x44.\quad h_θ(x)=θ_0+θ_1x+...+θ_4x^44.hθ?(x)=θ0?+θ1?x+...+θ4?x45.hθ(x)=θ0+θ1x+...+θ5x55.\quad h_θ(x)=θ_0+θ_1x+...+θ_5x^55.hθ?(x)=θ0?+θ1?x+...+θ5?x5

我們計算各個模型的對應的測試誤差,假設 degreedegreedegree=5 時,測試誤差最小,我們就選出了以下模型來迎接新的樣本:
hθ(x)=θ0+θ1x+...+θ5x5h_θ(x)=θ_0+θ_1x+...+θ_5x^5hθ?(x)=θ0?+θ1?x+...+θ5?x5

對于 degreedegreedegree 的確定,是我們對于模型的選擇(Model Selection),正如我們在線性回歸中確定 θθθ 一樣。在線性回歸中,我們通過訓練集確定模型,測試集來評估模型的泛化能力。在多項式回歸中,我們通過訓練集獲得了參數 θθθ ,而通過測試集確定了模型,那么,這兩個集合用完了,我們就缺少評估模型泛化能力的數據集。鑒于此,引入了交叉驗證集(Cross Validation Set),“交叉”二字體現了一種承上啟下的關系,他通過訓練集獲得的結果,選擇了模型,并將該模型交給測試集進行評估:

  • 訓練集:60%,確定參數 θθθ
  • 交叉驗證集:20%,進行模型選擇。
  • 測試集:20%,評價模型預測能力。

三者的誤差函數如下:

  • 訓練集誤差:
    Jtrain(θ)=12m∑i=1mtrain(hθ(xtrain(i))?ytrain(i))2J_{train}(\theta)=\frac1{2m}\sum_{i=1}^{m_{train}}(h_\theta(x_{train}^{(i)})-y^{(i)}_{train})^2Jtrain?(θ)=2m1?i=1mtrain??(hθ?(xtrain(i)?)?ytrain(i)?)2

  • 交叉驗證集誤差:
    Jcv(θ)=12m∑i=1mcv(hθ(xcv(i))?ycv(i))2J_{cv}(\theta)=\frac1{2m}\sum_{i=1}^{m_{cv}}(h_\theta(x_{cv}^{(i)})-y^{(i)}_{cv})^2Jcv?(θ)=2m1?i=1mcv??(hθ?(xcv(i)?)?ycv(i)?)2

  • 測試集誤差:
    Jtest(θ)=12m∑i=1mtest(hθ(xtest(i))?ytest(i))2J_{test}(\theta)=\frac1{2m}\sum_{i=1}^{m_{test}}(h_\theta(x_{test}^{(i)})-y^{(i)}_{test})^2Jtest?(θ)=2m1?i=1mtest??(hθ?(xtest(i)?)?ytest(i)?)2

總結

以上是生活随笔為你收集整理的4.2 数据集划分-机器学习笔记-斯坦福吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。