используйте Theano для получения параметров w_0 и w_1 - PullRequest
0 голосов
/ 02 марта 2020

У меня есть проблема, когда мне нужно создать набор данных. После этого я должен использовать Theano для получения параметров w_0 и w_1 следующей модели:

y = log(1 + w_0 * |x|) + (w_1 * |x|)

наборы данных созданы, и у меня есть вычислили значения w_0 и w_1, но с numpy, используя следующий код, но я изучил подробно, но не знаю, как вычислить значения w_0 и w_1 с theano. Как я могу вычислить их, используя theano? Это будет очень полезно, спасибо :) код, который я использую:

import numpy as np
import math
import theano as t

#code to generate datasets 
trX = np.linspace(-1, 1, 101)
trY = np.linspace(-1, 1, 101)
for i in range(len(trY)):
    trY[i] = math.log(1 + 0.5 * abs(trX[i])) + trX[i] / 3 + np.random.randn() * 0.033
#code that produce w0 w1 and i want to compute it with theano
X = np.column_stack((np.ones(101, dtype=trX.dtype), trX))
print(X.shape)
Xplus = np.linalg.pinv(X) #pseudo-inverse of X
w_opt = Xplus @ trY  #The @ symbol denotes matrix multiplication
print(w_opt)

x = abs(trX) #abs is a built in function to return positive values in a array
y= trY

for i in range(len(trX)):
    y[i] = math.log(1 + w_opt[0] * x[i]) + (w_opt[1] * x[i]) 
...