1

こんにちは私はテンソルフローが初めてで、私はそれを感じています。私はこれらの4つの行列を乗算するタスクを与えられました。私はそれを行うことができましたが、今では、(16,8)と(8,4)の乗算から(16,4)出力を取って、すべての出力でLogistics関数を適用するよう求められています。次に、この新しい形状(16,4)の行列に(4,2)行列を掛けます。これらの(16,2)の出力を取り出し、それらに物流機能を適用します。今、この新しい(16,2)行列に(2,1)行列を掛けます。私は行列操作でこれをすべて行うことができると思います。私は一種の線形回帰を理解しているに過ぎないので、私はそれについてどうやってどうやって行くのかちょっと混乱しています。私は彼らが似ていることを知っているが、私はそれを適用する方法を知りません。ヒントをお願いします。いいえ、私は誰かを頼むつもりはありません。行列を使ってロジスティック関数をどうやって行くのか分からないので、私は与えられたものよりも良い例がほしいと思っています。これは私がこれまでにテンソルフローロジスティック回帰行列

import tensorflow as ts 
import numpy as np 
import os 
# AWESOME SAUCE WARNING MESSAGE WAS GETTING ANNOYING 
os.environ['TF_CPP_MIN_LOG_LEVEL']='2' #to avoid warnings about compilation 

# for different matrix asked to multiply with 
# use random for random numbers in each matrix 
m1 = np.random.rand(16,8) 
m2 = np.random.rand(8,4) 
m3 = np.random.rand(4,2) 
m4 = np.random.rand(2,1) 


# using matmul to mulitply could use @ or dot() but using tensorflow 
c = ts.matmul(m1,m2) 
d = ts.matmul(c,m3) 
e = ts.matmul(d, m4) 

#attempting to create log regression 
arf = ts.Variable(m1,name = "ARF") 



with ts.Session() as s: 
    r1 = s.run(c) 
    print("M1 * M2: \n",r1) 

    r2 = s.run(d) 
    print("Result of C * M3: \n ", r2) 

    r3 = s.run(e) 
    print("Result of D * M4: \n",r3) 

    #learned i cant reshape just that easily 
    #r4 = ts.reshape(m1,(16,4)) 
    #print("Result of New M1: \n", r4) 

答えて

0

私はあなたが正しい考えを持っていると思う持っているものです。ロジスティック関数はちょうど1/(1 + exp(-z))です。ここで、zは、それを適用したい行列です。これを念頭に置いて、簡単に行うことができます:

logistic = 1/(1 + ts.exp(-c)) 

これは入力に要素式で適用されます。

lg = s.run(logistic) 
    print("Result of logistic function \n ", lg) 

...すべての値が0と1の間のあなたはその後、乗算の残りの部分に進むことができている行列cと同じサイズ(16,4)を、印刷します:結果は、これはということです割り当てが求められています。

+0

わかりました。私は本当にそれを感謝するマークを助けてくれてありがとう。 – sox

関連する問題