1.對矩陣中對應位置的元素,做softmax
對于一個向量,softmax函數會對其中每一個元素進行指數運算,然后除以所有元素指數和的結果。當將其應用到多個矩陣的相應位置上時,我們實際上是在對每個位置的一組數(從各個矩陣的同一位置收集而來的)進行softmax運算。
import numpy as np
# 定義矩陣
matrix1 = np.array([[1, 2, 3],[1, 2, 3]])
matrix2 = np.array([[1, 4, 5],[1, 2, 3]])
matrix3 = np.array([[2, 2, 6],[1, 2, 3]])
# 將矩陣堆疊成3D數組
stacked_matrices = np.array([matrix1, matrix2, matrix3])
def softmax(x):"""計算softmax"""e_x = np.exp(x - np.max(x))return e_x / e_x.sum(axis=0)
# 對堆疊的矩陣應用softmax函數
softmax_result = softmax(stacked_matrices)
# 輸出結果,為了看清楚結果,我們分行顯示
print("Softmax 結果矩陣:")
for i in range(softmax_result.shape[1]):print(softmax_result[:, i])
?結果