Softmax回歸
在我們之前學習的過程中,我們知道對於簡單的二分類任務,只需要用logistic回歸模型就可以得到想要的結果,對於多分類任務,我們需要用一種新的softmax回歸模型來對數據進行分類。各xi的softmax函數值之和為1,符合概率之和為1,為了適應不同的數據,引入參數θ,得到假設函數形式如下:代價函數
Softmax回歸的pytorch實現
def softmax(x): return torch.exp(x)/torch.sum(torch.exp(x), dim=1).view(-1,1)dim=1是讓torch.sum()逐列進行求和操作,.view(-1,1)是為了防止廣播。這裡提及一下運算中的廣播broadcast,以numpy為例,實現對一個1-d array的每一個元素乘以2。a = np.array([1., 2., 3.])b = np.array([2., 2., 2.])print(a*b)a = np.array([1., 2., 3.])b = 2.print(a*b)輸出:
Reference
深度學習課程 --吳恩達
Deep learing --Ian Goodfellow,Yoshua bengio,Aaron Courvillehttps://zhuanlan.zhihu.com/p/35010592
https://zhuanlan.zhihu.com/p/30875066
https://zhuanlan.zhihu.com/p/42615390
https://medium.com/data-science-bootcamp/understand-the-softmax-function-in-minutes-f3a59641e86d