「ゼロから作るDeepLearning」(斉藤康毅/オライリー・ジャパン)を参考に、ANDゲートの(任意の値を入れ、0と1のいずれかが出力される)クラスを書いてみました。
python
1w1,w2,θ = 0.5,0.5,0.8 2 3class AndClass: 4 def __init__(self,x1,x2): 5 self.x1=x1 6 self.x2=x2 7 def AND(self): 8 y=self.x1*w1+self.x2*w2 9 if y <=θ: 10 return 0 11 else: 12 return 1 13 14a1=AndClass(0.8,0.8) 15a1.AND() 16 170 18 19a2=AndClass(0.9,0.9) 20a2.AND() 21 221 23
ご覧のとおり、出力の確認にあたり、逐一、値を入れて確かめる...というのは、やっかいでして。できれば、グラフでざっくりした感じを、つかんでみたいのです。
◎質問です。
横軸をx1、縦軸をx2とした、出力される0と1を区分するグラフは描けるものでしょうか。以下のようなイメージとなります(ご参考程度に。グラフィックのソフトで当てずっぽうで描いています)。できるようなら、記述の方法をご教示くださいませ。
python
1import numpy as np 2 3#x1、x2の任意の範囲を設ける 4x1=np.arange(-3,3,0.1) 5x2=np.arange(-3,3,0.1) 6 7#x1,x2の値をリスト化する 8x1_arr=[] 9for i in (x1): 10 x1_arr.append(i) 11 12x2_arr=[] 13for i in (x2): 14 x2_arr.append(i) 15 16#引数に、上記のリストの値を入れ、インスタンスを作ろうとしたところで、爆死〜 そのあとmatplotlibで、何とかして続けたいと思ったのですが... 17#そもそも、インスタンスを作るときにリストなど使えないだろうとも... 18a3=AndClass(x1_arr,x2_arr) 19a3.AND()
回答2件
あなたの回答
tips
プレビュー