Re: [問題] ROC worse than random

看板DataScience作者 (jigfopsda)時間5年前 (2019/03/11 21:23), 編輯推噓3(301)
留言4則, 4人參與, 5年前最新討論串2/2 (看更多)
※ 引述《kaltu (ka)》之銘言: : 問題類別:(ex:ML,SVM,RL,DL,RNN,CNN,NLP,BD,Vis,etc...) : 資料科學 : 使用工具:(ex:python,Java,C++,tensorflow,keras,MATLAB,etc...) : Python sklearn : 問題內容: : 背景 : 目前試圖用GAN來處理small dataset的問題 : 用的是一個大約五十個病人的直腸癌MRI影像 : 有放射科醫師label的KRAS值,0和1 : 基本思路是先切成5個fold然後各用DCGAN對0和1label產生一千、共一萬張slice : 然後把generated data跟著true data下去用VGG19判斷label : 問題 : 產生的K-fold ROC是漂亮的worse than random : http://i.imgur.com/YhS1O0B.jpg
: 查了網路文章,有人說這代表我的classifier依然建立了correlation : 只是data preparation出問題 : 簡單解法就把label flip即可 : 請問真的是這樣嗎?總覺得不大對勁 : ----- : Sent from JPTT on my Asus ASUS_Z01KDA. 雖然你沒有提供資料,但我這邊先假設你 train ROC > 0.5, test ROC < 0.5 如果你的 train ROC < 0.5 表示 model 沒有學好, 建議檢查一下 model 架構或是參數或是圖片本身還是數值範圍有沒有什麼問題。 假設現在 train ROC > 0.5, model 訓練一切正常,但是 test ROC < 0.5 表示在你現在的 feature space 下,train 跟 test 的分佈顯然是不同的, 直接 label flip 是很危險的一件事情。 這邊不太精確地打個比方,想像一個情況, 如果今天是做貓狗分類器,在 train 的時候發現有吐舌頭的都是狗, 沒吐舌頭的都是貓。model 分得很好,所以 train ROC > 0.5。 test 的時候卻發現貓都有吐舌頭,所以全部分錯了,導致 test ROC < 0.5 那麼直接 flip label 很顯然是不合理的解法,他只對這個 test set 有用,並不是對 所有的貓狗有用。 在這個 case 應該是去檢查為什麼 model 會只把吐舌頭當作決定性的特徵然後針對 他做修正。 在你的 case 我建議先檢查一下 DCGAN 生出來的影像是否符合預期。 確認正確後可以再檢查一下是因為圖片的哪個區塊被分錯 class。 還有一個題外話, small image dataset 可以先用平移旋轉縮放之類的方式先做 data augmentation 前提是如果直腸癌 MRI 平移旋轉縮放後不會讓圖片變成另一個 class。 以上。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.104.3.78 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1552310628.A.2D4.html

03/11 21:24, 5年前 , 1F
承上篇推文,程式有 bug 也是不無可能
03/11 21:24, 1F

03/16 10:17, 5年前 , 2F
推 講的很清楚
03/16 10:17, 2F

03/20 07:54, 5年前 , 3F
推推
03/20 07:54, 3F

07/22 13:20, 5年前 , 4F
07/22 13:20, 4F
文章代碼(AID): #1SXc5aBK (DataScience)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1SXc5aBK (DataScience)