深度學習基礎之 3 1分類

2021-09-22 22:37:43 字數 936 閱讀 8050

我們先看看如何用神經網路在兩組不同標籤的樣本之間畫一條明顯的分界線。這條分界線可以是直線,也可以是曲線。這就是二分類問題。如果只畫一條分界線的話,無論是直線還是曲線,我們用一支筆,即乙個神經元,就可以達到目的。

線性二分類

非線性二分類

如果有三個以上的分類同時存在,我們需要對每一類別分配乙個神經元,這個神經元的作用是根據前端輸入的各種資料,先做線性處理(y=wx+b),然後做一次非線性處理,計算每個樣本在每個類別中的**概率,再和標籤中的類別比較,看看**是否準確,如果準確,則獎勵這個**,給與正反饋;如果不準確,則懲罰這個**,給與負反饋。兩類反饋都反向傳播到神經網路系統中去調整引數。

線性多分類

非線性多分類

多分類問題一共有三種解法:

一對一每次先只保留兩個類別的資料,訓練乙個分類器。如果一共有n個類別,則需要訓練cn2

c^2_n

cn2​

個分類器。以n=3時舉例,需要訓練(a|b),(b|c),(a|c)三個分類器。

推理時,(a|b)分類器告訴你是a類時,需要到(a|c)分類器再試一下,如果也是a類,則就是a類。如果(a|c)告訴你是c類,則基本是c類了,不可能是b類,不信的話可以到(b|c)分類器再去測試一下。

一對多如下圖,處理乙個類別時,暫時把其它所有類別看作是一類,這樣對於三分類問題,可以得到三個分類器。

每次做推理時,同時呼叫三個分類器,再把三種結果組合起來,就是真實的結果。比如,第乙個分類器告訴你是「紅類」,那麼它確實就是紅類;如果告訴你是非紅類,則需要看第二個分類器的結果,綠類或者非綠類;依此類推。

多對多假設有4個類別abcd,我們可以把ab算作一類,cd算作一類,訓練乙個分類器1;再把ac算作一類,bd算作一類,訓練乙個分類器2。

推理時,第1個分類器告訴你是ab類,第二個分類器告訴你是bd類,則做「與」操作,就是b類。

深度學習 使用PyTorch模擬二分類

目標效果 生成隨機資料 n data torch.ones 100,2 生成全為1的100行2列的張量 x0 torch.normal 2 n data,1 返回一組張量,表示從均值為2 n data,標準差為1的正態分佈中隨機抽取的資料 y0 torch.zeros 100 生成全為0的100行1...

Python深度學習筆記(三)二分類模型

繼續來寫我的學習筆記 二分類問題 我從資料的處理,模型的構架,訓練過程,驗證模型及損失和精度的比較這幾個方面來介紹。from keras.datasets import imdb train data,train labels test data,test labels imdb.load data...

吳恩達深度學習筆記2 1 二分分類

binary 二進位制 discret 離散的,不連續的 vector 向量 matrice 矩陣 pixel 畫素 intensity 強度 dimension 維度 關於第一章的神經網路認識 初次接觸,暫時不做筆記,參考了一篇筆記 在二分分類問題中,結果是離散值輸出.例如 賬戶被黑 1 或被破壞...