二分類問題

2021-09-29 09:25:02 字數 1852 閱讀 3466

深度學習中的基本問題就是這個,上午我還達到90%,85%的acc,現在只有76%,臥槽,我動**了啊???

有鬼。明明沒怎麼改引數,卻再也回不到過去,這個trick不小啊。

既然回不到過去,不妨重新開始吧。我套了一下vgg,發現網路太深了,根本跑不動,效果也不好,減少網路後,acc反而有提高,之前我還以為驗證集有毛病,因為我監督的驗證集的acc/loss,採用改變lr的方式。

所以,有時候網路深並不一定有效果,還會適得其反。

等一會我套用下resnet,所有流行的net全部套一遍。我覺得除非資料有問題,二分類acc如果達不到【訓練集99%】,【測試集98%】,那就是失敗。

vgg效果如下,估計改改引數可能會有1個點的提高,但效果不會明顯。參考**隨便在github搜即可,寡人好心提供個參考

很多時候第一次的結果都比後來再折騰的結果要好,vgg我又折騰了四五次,發現還是第一次的結果好,這個道理我之前就明白,但總是不死心,很多妹子不就是這樣嗎?折騰吧。下面是改下shuffle的結果,

我又優化了一下,其實是將引數減少了,為了模型更小,這是落地工作者必須具備的素養。

【後記:老子查了下vgg,果然都是這樣的結果,這應該是模型的根本原因,附圖如下,附*****】

既然沒有提高那就換resnet吧。自己搜吧,我就不提供參考了。

發現函式裡面定義函式,我總感覺彆扭,類裡面定義函式我還可以理解,你這樣定義算什麼?**啊?還是為了不讓別人看懂??下面本大佬就專門破解這種**,舉例子說明——附原始碼:

寡人有句名言:只有將別人的**變成自己的才是真正理解,將複雜的變成簡單的才是高手,so ppt is ai

1-引數的輸入——函式中形參問題即位置引數

def test_func(**paras):

x=paras["x"]

y=paras["y"]

z=paras.setdefault("z", 512)

return x,y,z

x,y,z=test_func(x=12,y=126)

print(x,y,z)

def test_func(x,y,z=512):

return x,y,z

x,y,z=test_func(x=12,y=126)

print(x,y,z)

>>> x,y,z=test_func(12,126)

>>> print(x,y,z)

第一種寫法是明顯的**寫法,這種寫法就是讓小白第一眼看不懂是啥玩意。不就是個傳參嗎??寫成第二種會死啊?而且還沒後者方便,想怎麼用都可以。不裝逼,接地氣,是我的一方面。

2-函式中定義函式問題——函式套函式

其實這個寫法的原因是想把自定義的函式作為模型中的一層,這個其實可以直接用keras中lambda,有輪子不用自己造??**啊??經深入研究發現並沒有自定義的函式,那就更**了。

這個不再公開,不然可能有針對之嫌,我不是那種得了好處還罵人家的那種人。

qq群:868373192 

語音深度學習群

二分類問題

模型 帶有relu啟用的dense層堆疊 對於二分類問題,網路的最後一層應該是只有乙個單元並使用sigmoid啟用的dense層,網路的輸出應該是0 1的標量,表示概率值 對於二分類問題的sigmoid標量輸出,應該使用binary crossentroy 二元交叉熵 損失函式 實驗 1 嘗試增加或...

二分類 多分類

怎麼樣把兩類的分類的模型推廣到多類上?答 a.一對多法 one versus rest,簡稱ovr svms 訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。b.一對一法 one versus on...

二分類問題模型指標

正如下圖所示,f1的值同時受到p r的影響,單純地追求p r的提公升並沒有太大作用。在實際業務工程中,結合正負樣本比,的確是一件非常有挑戰的事。auc是roc的積分 曲線下面積 是乙個數值,一般認為越大越好,數值相對於曲線而言更容易當做調參的參照。pr曲線會面臨乙個問題,當需要獲得更高recall時...