吳恩達機器學習 多類別分類 一對多

2021-10-04 21:17:51 字數 1567 閱讀 5108

我們將談到如何使用邏輯回歸 (logistic regression)來解決多類別分類問題,具體來說,我想通過乙個叫做"一對多" (one-vs-all) 的分類演算法。

第乙個例子:假如說你現在需要乙個學習演算法能自動地將郵件歸類到不同的資料夾裡,或者說可以自動地加上標籤,那麼,你也許需要一些不同的資料夾,或者不同的標籤來完成這件事,來區分開來自工作的郵件、來自朋友的郵件、來自家人的郵件或者是有關興趣愛好的郵件,那麼,我們就有了這樣乙個分類問題:其類別有四個,分別用y=1,y=2,y=3,y=4來代表。

第二個例子是有關藥物診斷的,如果乙個病人因為鼻塞來到你的診所,他可能並沒有生病,用y=1這個類別來代表;或者患了感冒,用y=2來代表;或者得了流感用y=3來代表。

第三個例子:如果你正在做有關天氣的機器學習分類問題,那麼你可能想要區分哪些天是晴天、多雲、雨天、或者下雪天,對上述所有的例子,y可以取乙個很小的數值,乙個相對"謹慎"的數值,比如1 到3、1到4或者其它數值,以上說的都是多類分類問題,順便一提的是,對於下標是0 1 2 3,還是 1 2 3 4 都不重要,我更喜歡將分類從 1 開始標而不是0,其實怎樣標註都不會影響最後的結果。

然而對於之前的乙個,二元分類問題,我們的資料看起來可能是像這樣:

對於乙個多類分類問題,我們的資料集或許看起來像這樣:

我用3種不同的符號來代表3個類別,問題就是給出3個型別的資料集,我們如何得到乙個學習演算法來進行分類呢?

我們現在已經知道如何進行二元分類,可以使用邏輯回歸,對於直線或許你也知道,可以將資料集一分為二為正類和負類。用一對多的分類思想,我們可以將其用在多類分類問題上。

下面將介紹如何進行一對多的分類工作,有時這個方法也被稱為"一對餘"方法。

現在我們有乙個訓練集,好比上圖表示的有3個類別,我們用三角形表示y=1方框表示y=2,叉叉表示 y=3。我們下面要做的就是使用乙個訓練集,將其分成3個二元分類問題。

我們先從用三角形代表的類別1開始,實際上我們可以建立乙個,新的"偽"訓練集,型別2和型別3定為負類,型別1設定為正類,我們建立乙個新的訓練集,如下圖所示的那樣,我們要擬合出乙個合適的分類器。

這裡的三角形是正樣本,而圓形代表負樣本。可以這樣想,設定三角形的值為1,圓形的值為0,下面我們來訓練乙個標準的邏輯回歸分類器,這樣我們就得到乙個正邊界。

為了能實現這樣的轉變,我們將多個類中的乙個類標記為正向類(y=1),然後將其他所有類都標記為負向類,這個模型記作

最後,在我們需要做**時,我們將所有的分類機都執行一遍,然後對每乙個輸入變數,都選擇最高可能性的輸出變數。

總之,我們已經把要做的做完了,現在要做的就是訓練這個邏輯回歸分類器:

吳恩達機器學習筆記一

機器學習分類 監督學習 無監督學習 強化學習 深度學習 監督學習 回歸問題,意指要 乙個連續的輸出值,比如房價。分類問題,目標是 離散值輸出 0 or 1 比如 腫瘤是良性或惡性,可以有乙個特徵 腫瘤大小,也可以兩個特徵 年齡和腫瘤大小,或者無限多特徵 支援向量機。分類是將一些例項資料分到合適的類別...

吳恩達老師機器學習筆記SVM(一)

時隔好久沒有再拾起機器學習了,今日抽空接著學 上圖為原始資料 這裡套用以前logistic回歸的模板改一下下。load ex6data1.mat theta rand 3,1 m,n size x x ones m,1 新增常量 x x x c 1 for i 1 10000 擬合次數 theta ...

多分類邏輯回歸 吳恩達機器學習作業

思想 多分類拆成單分類問題,針對輸入訓練集擬合不同分類結果下的引數,選出假設函式最大的值即為最終分類。1.計算不同分類標準下的引數列表 function all theta onevsall x,y,num labels,lambda m size x,1 n size x,2 all theta ...