मैं आर प्रोग्राम से अजगर के लिए एक बहु-परत परसेप्ट्रॉन एल्गोरिथ्म को ट्रांसक्रिप्ट कर रहा हूं, हालांकि मुझे एक समस्या का सामना करना पड़ रहा है, मैट्रिक्स गुणन ने मुझे एक अलग परिणाम दिया है:

आर भाषा:

> hidden <- matrix(c(-0.4442772, -0.1844143, 0.2783537, 0.2599441, -0.3190043, 0.2062185), nrow=2, ncol=3) 
> Xp <- c(0, 1, 1)
> hidden %*% Xp

           [,1]
[1,] -0.0406506
[2,]  0.4661626

अजगर:

>>> import numpy as np
>>> Xp = np.array([0, 1, 1])
>>> hidden = np.asmatrix([[-0.4442772, -0.1844143, 0.2783537], [0.2599441, -0.3190043, 0.2062185]])
>>> np.dot(hidden, nq)

matrix([[ 0.0939394, -0.1127858]])

का उपयोग करना -0.3190043,%20%200.2062185%7D%7D*%7B0,1,%201%7D" rel="nofollow noreferrer">Wolfram, पायथन सही होगा, लेकिन यहां तक ​​कि यह दाईं ओर अभिसरण नहीं कर रहा है एल्गोरिथ्म का परिणाम। मैंने इस पहलू में दोनों भाषाओं के बीच इसके अंतर की खोज की और कुछ भी नहीं मिला। इसके अलावा, मैंने परीक्षण के लिए एक और मैट्रिक्स गुणन लागू किया और दोनों परिणाम समान थे:

आर भाषा:

> m1 <- matrix(c(2,3,4,7,0,1), nrow = 3, ncol=2)
> m2 <- matrix(c(1,6,4,3,6,9), nrow = 2, ncol=3)
> m1 %*% m2

     [,1] [,2] [,3]
[1,]   44   29   75
[2,]    3   12   18
[3,]   10   19   33

अजगर:

>>> import numpy as np
>>> m1 = np.matrix([[2,7], [3,0], [4,1]])
>>> m2 = np.matrix([[1,4,6], [6,3,9]])
>>> np.dot(m1,m2)

matrix([[44, 29, 75],
        [ 3, 12, 18],
        [10, 19, 33]])

इस मामले में क्या अंतर है? और मैं पाइथन में इस परिणाम तक कैसे पहुंच सकता हूं?

0
Aipi 1 जून 2018, 09:32

1 उत्तर

सबसे बढ़िया उत्तर

मेरा सुझाव है कि आप अपने द्वारा बनाए गए मैट्रिक्स को प्रिंट करें:

#           [,1]      [,2]       [,3]
#[1,] -0.4442772 0.2783537 -0.3190043
#[2,] -0.1844143 0.2599441  0.2062185

यह वैसा नहीं है जैसा आपका वोल्फ्राम अल्फा लिंक दिखाता है।

यदि आप एक ही मैट्रिक्स बनाते हैं तो आपको पाइथन और गणित के समान परिणाम मिलते हैं:

hidden <- matrix(c(-0.4442772, -0.1844143, 0.2783537, 0.2599441, -0.3190043, 0.2062185), nrow=2, ncol=3, 
            byrow = TRUE) #fill matrix by row instead of default by column 
#           [,1]       [,2]      [,3]
#[1,] -0.4442772 -0.1844143 0.2783537
#[2,]  0.2599441 -0.3190043 0.2062185
Xp <- c(0, 1, 1)
hidden %*% Xp
#           [,1]
#[1,]  0.0939394
#[2,] -0.1127858
2
Roland 1 जून 2018, 09:39