Softmax回歸函數是用于將分類結果歸一化。但它不同于一般的按照比例歸一化的方法,它通過對數變換來進行歸一化,這樣實現了較大的值在歸一化過程中收益更多的情況。
Softmax公式
Softmax實現方法1
import numpy as np def softmax(x): """Compute softmax values for each sets of scores in x.""" pass # TODO: Compute and return softmax(x) x = np.array(x) x = np.exp(x) x.astype('float32') if x.ndim == 1: sumcol = sum(x) for i in range(x.size): x[i] = x[i]/float(sumcol) if x.ndim > 1: sumcol = x.sum(axis = 0) for row in x: for i in range(row.size): row[i] = row[i]/float(sumcol[i]) return x #測試結果 scores = [3.0,1.0, 0.2] print softmax(scores)
其計算結果如下:
[ 0.8360188 0.11314284 0.05083836]
Softmax實現方法2
import numpy as np def softmax(x): return np.exp(x)/np.sum(np.exp(x),axis=0) #測試結果 scores = [3.0,1.0, 0.2] print softmax(scores)
以上這篇Python下的Softmax回歸函數的實現方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
