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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”

發(fā)布時間:2025/3/21 windows 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)” 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Coursera公開課筆記: 斯坦福大學(xué)機器學(xué)習(xí)第十一課“機器學(xué)習(xí)系統(tǒng)設(shè)計(Machine learning system design)”


斯坦福大學(xué)機器學(xué)習(xí)斯坦福大學(xué)機器學(xué)習(xí)第十一課“機器學(xué)習(xí)系統(tǒng)設(shè)計(Machine learning system design)”學(xué)習(xí)筆記,本次課程主要包括5部分:

1) Prioritizing what to work on: Spam classification example(工作的優(yōu)先級:垃圾郵件分類例子)

2) Error analysis(錯誤分析)

3) Error metrics for skewed classes(不對稱性分類的錯誤評估)

4) Trading off precision and recall(精確度和召回率的權(quán)衡)

5) Data for machine learning(數(shù)據(jù)對于機器學(xué)習(xí)的重要性)

以下是每一部分的詳細解讀。

?

1) Prioritizing what to work on: Spam classification example(工作的優(yōu)先級:垃圾郵件分類例子)

首先讓我們來看一下垃圾郵件和非垃圾郵件的例子,以下是一個垃圾郵件示例:

我們將其標注為“垃圾(spam)", 用1表示;以下是一個非垃圾郵件的例子:

我們將其標注為“非垃圾(non-spam)",用0表示。

如果我們有一些這樣標注好的垃圾和非垃圾郵件樣本,如何來訓(xùn)練一個垃圾郵件分類器?很清楚這是一個有監(jiān)督學(xué)習(xí)的問題,假設(shè)我們選擇邏輯回歸算法來訓(xùn)練這樣的分類器,首先必須選擇合適的特征。這里定義:

x = 郵件的特征;
y = 垃圾郵件(1) 或 非垃圾郵件(0)

我們可以選擇100個典型的詞匯集合來代表垃圾/非垃圾(單詞),例如deal, buy, discount, andrew, now等,可以按它們的字母順序排序。對于已經(jīng)標注好的郵件訓(xùn)練樣本,如果100個詞匯中有單詞j在樣本中出現(xiàn),就用1代表特征向量x中的xj,否則用0表示,這樣訓(xùn)練樣本就被特征向量x所替代:

注意在實際使用中,我們不會手動去選擇100個典型的詞匯,而是從訓(xùn)練集中選擇出現(xiàn)頻率最高的前n個詞,例如10000到50000個。

那么,如何高效的訓(xùn)練一個垃圾郵件分類器使其準確率較高,錯誤率較小?

- 首先很自然的考慮到收集較多的數(shù)據(jù),例如"honeypot" project,一個專門收集垃圾郵件服務(wù)器ip和垃圾郵件內(nèi)容的項目;

- 但是上一章已經(jīng)告訴我們,數(shù)據(jù)并不是越多越好,所以可以考慮設(shè)計其他復(fù)雜的特征,例如利用郵件的發(fā)送信息,這通常隱藏在垃圾郵件的頂部;

- 還可以考慮設(shè)計基于郵件主體的特征,例如是否將"discount"和"discounts"看作是同一個詞?同理如何處理"deal"和"Dealer"? 還有是否將標點作為特征?

- 最后可以考慮使用復(fù)雜的算法來偵測錯誤的拼寫(垃圾郵件會故意將單詞拼寫錯誤以逃避垃圾郵件過濾器,例如m0rtgage, med1cine, w4tches)

2) Error analysis(錯誤分析)

在我們需要機器學(xué)習(xí)算法來解決一些實際問題時,建議:

  • - 從一個簡單的算法入手這樣可以很快的實現(xiàn)這個算法,并且可以在交叉驗證集上進行測試;
  • - 畫學(xué)習(xí)曲線以決定是否更多的數(shù)據(jù),更多的特征或者其他方式會有所幫助;
  • - 錯誤分析:人工檢查那些算法預(yù)測錯誤的例子(在交叉驗證集上),看看能否找到一些產(chǎn)生錯誤的原因。

假設(shè)交叉驗證集上有500個郵件樣本,其中算法錯分了100個郵件,那么我們就人工來檢查這100個bad case, 并且按如下的方式對它們進行分類:

  • (i) 郵件是什么類型的?
  • (ii) 什么樣的線索或特征你認為有可能對算法的正確分類有幫助?

數(shù)值評估的重要性:
在對bad case進行分析后,我們可能會考慮如下的方法:

  • 對于discount/discounts/discounted/discounting 能否將它們看作是同一個詞?
  • 能不能使用“詞干化”的工具包來取單詞的詞干,例如“Porter stemmer"?

錯誤分析不能決定上述方法是否有效,它只是提供了一種解決問題的思路和參考,只有在實際的嘗試后才能看出這些方法是否有效。
所以我們需要對算法進行數(shù)值評估(例如交叉驗證集誤差),來看看使用或不使用某種方法時的算法效果,例如:

  • 不對單詞提前詞干:5%錯誤率 ? vs 對單詞提取詞干:3% 錯誤率
  • 對大小寫進行區(qū)分(Mom / mom): 3.2% 錯誤率

3) Error metrics for skewed classes(不對稱性分類的錯誤評估)

什么是不對稱性分類?

以癌癥預(yù)測或者分類為例,我們訓(xùn)練了一個邏輯回歸模型hθ(x). 如果是癌癥,y = 1, 其他則 y = 0。
在測試集上發(fā)現(xiàn)這個模型的錯誤率僅為1%(99%都分正確了),貌似是一個非常好的結(jié)果?
但事實上,僅有0.5%的病人得了癌癥,如果我們不用任何學(xué)習(xí)算法,對于測試集中的所有人都預(yù)測y = 0,既沒有癌癥:

那么這個預(yù)測方法的錯誤率僅為0.5%,比我們廢好大力訓(xùn)練的邏輯回歸模型的還要好。這就是一個不對稱分類的例子,對于這樣的例子,僅僅考慮錯誤率是有風險的。

現(xiàn)在我們就來考慮一種標準的衡量方法:Precision/Recall(精確度和召回率)

首先對正例和負例做如下的定義:

其中:

True Positive (真正例, TP)被模型預(yù)測為正的正樣本;可以稱作判斷為真的正確率

True Negative(真負例 , TN)被模型預(yù)測為負的負樣本 ;可以稱作判斷為假的正確率

False Positive (假正例, FP)被模型預(yù)測為正的負樣本;可以稱作誤報率

False Negative(假負例 , FN)被模型預(yù)測為負的正樣本;可以稱作漏報率

那么對于癌癥預(yù)測這個例子我們可以定義:

Precision-預(yù)測中實際得癌癥的病人數(shù)量(真正例)除以我們預(yù)測的得癌癥的病人數(shù)量:



Recall-預(yù)測中實際得癌癥的病人數(shù)量(真正例)除以實際得癌癥的病人數(shù)量:

4) Trading off precision and recall(精確度和召回率的權(quán)衡)

假設(shè)我們的分類器使用了邏輯回歸模型,預(yù)測值在0到1之間:0hθ(x)1, 一種通常的判斷正負例的方法是設(shè)置一個閾值,例如0.5:

  • 如果 hθ(x)0.5,則預(yù)測為1, 正例;
  • 如果 hθ(x)<0.5, 則預(yù)測為0, 負例;

這個時候,我們就可以計算這個分類器的precision and recall(精確度和召回率):

這個時候,不同的閾值回導(dǎo)致不同的精確度和召回率,那么如何來權(quán)衡這二值?對于癌癥預(yù)測這個例子:

假設(shè)我們非常有把握時才預(yù)測病人得癌癥(y=1), 這個時候,我們常常將閾值設(shè)置的很高,這會導(dǎo)致高精確度,低召回率(Higher precision, lower recall);

假設(shè)我們不希望將太多的癌癥例子錯分(避免假負例,本身得了癌癥,確被分類為沒有得癌癥), 這個時候,閾值就可以設(shè)置的低一些,這又會導(dǎo)致高召回率,低精確度(Higher recall, lower precision);

這些問題,可以歸結(jié)到一張Precision Recall曲線,簡稱PR-Curve:

那么如何來比較不同的Precison/Recall值呢?例如,對于下表:

通常我們會考慮用它們的均值來做比較,但是這會引入一個問題,例如上面三組Precision/Recall的均值分別是:0.45, 0.4, 0.51,最后一組最好,但是最后一組真的好嗎?如果我們將閾值定的很低,甚至為0, 那么對于所有的測試集,我們的預(yù)測都是y = 1, 那么recall 就是1.0,我們根本就不需要什么復(fù)雜的機器學(xué)習(xí)算法,直接預(yù)測y = 1就得了,所以,用Precison/Recall的均值不是一個好辦法。

現(xiàn)在我們引入標準的F值或者F1-score:

F值是對精確度和召回率的一個很好的權(quán)衡,兩種極端的情況也能很好的平衡:


5) Data for machine learning(數(shù)據(jù)對于機器學(xué)習(xí)的重要性)

在設(shè)計一個高準確率的機器學(xué)習(xí)系統(tǒng)時,數(shù)據(jù)具有多大的意義? 2001年的時候,Banko and Brill曾做了一個實驗,對易混淆的單詞進行分類,也就是在一個句子的上下文環(huán)境中選擇一個合適的單詞,例如:
For breakfast I ate ___ eggs ?
給定{to, two, too},選擇一個合適的單詞。
他們用了如下幾種機器學(xué)習(xí)算法:

  • -Perceptron(Logistic regression)
  • -Winnow
  • -Memory-based
  • -Na?ve Bayes

根據(jù)訓(xùn)練集的不同規(guī)模記錄這幾種算法的準確率,并且做了如下的圖:



最終得到的結(jié)論是:

“It's not who has the best algorithm that wins. It's who has the most data."

選擇大數(shù)據(jù)的理由?

假設(shè)我們的特征xRn+1 有很多的信息來準確的預(yù)測y, 例如,上面的易混淆詞分類的例子,它有整個句子的上下文可以利用;

反過來,例如預(yù)測房價的時候,如果僅有房屋大小這個特征,沒有其他的特征,能預(yù)測準確嗎?

對于這樣的問題,一種簡單的測試方法是給定這樣的特征,一個人類專家能否準確的預(yù)測出y?

如果一個學(xué)習(xí)算法有很多的參數(shù),例如邏輯回歸/線性回歸有很多的特征,神經(jīng)網(wǎng)絡(luò)有很多隱藏的單元,那么它的訓(xùn)練集誤差將會很小,但容易陷入過擬合;如果再使用很大的訓(xùn)練數(shù)據(jù),那么它將很難過擬合,它的訓(xùn)練集誤差和測試集誤差將會近似相等,并且很小。所以大數(shù)據(jù)對于機器學(xué)習(xí)還是非常重要的。

?

參考資料:

機器學(xué)習(xí)視頻可以在Coursera機器學(xué)習(xí)課程上觀看或下載: https://class.coursera.org/ml

第十一課“機器學(xué)習(xí)系統(tǒng)設(shè)計”的課件資料下載鏈接: PPT?? PDF

http://en.wikipedia.org/wiki/Precision_and_recall

http://en.wikipedia.org/wiki/Accuracy_and_precision

召回率 Recall、精確度Precision、準確率Accuracy、虛警、漏警等分類判定指標

True(False) Positives (Negatives)

http://en.wikipedia.org/wiki/F1_score


出處:http://52opencourse.com/275/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AC%AC%E5%8D%81%E4%B8%80%E8%AF%BE-%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1-machine-learning-system-design

總結(jié)

以上是生活随笔為你收集整理的Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。