質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

2159閲覧

単純パーセプトロンのプログラムについて

Test1115Test

総合スコア52

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/01/11 14:05

編集2017/01/11 15:09

ディープラーニングについて勉強しようと思い、単純パーセプトロンのプログラムを書いてみたのですが、思うような値が返ってきません

java

1public static void main(String[] args) throws IOException { 2 double w1 = 1; 3 double w2 = 1; 4 double h = 2; 5 while(true){ 6 BufferedReader b = new BufferedReader(new InputStreamReader(System.in)); 7 String s = b.readLine(); 8 double x1 = Integer.valueOf(s); 9 String s2 = b.readLine(); 10 double x2 = Integer.valueOf(s2); 11 String s1 = b.readLine(); 12 double r = Integer.valueOf(s1); 13 double y ; 14 if((x1*w1)+(x2*w2)>h){ 15 y = 1; 16 }else{ 17 y = 0; 18 } 19 w1 = w1 + (r-y)*x1/2; 20 w2 = w2 + (r-y)*x2/2; 21 h = h - (r-y)/2; 22 System.out.println(y); 23 } 24 }

or演算子やand演算子は成功したのですが、x1の値が0の時x2の値に関係なくrに1を入れて試してみたところ失敗しました
x1=1,x2=0とx1=1,x2=1時rの値は0です
間違っているところがあればご教授ください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/11 14:26

「x1の値が0の時yに1が入るよう」というのは、x1 =0,x2=1の時にy=1という出力を出したいということですか?
退会済みユーザー

退会済みユーザー

2017/01/11 14:47

ちなみにx2には何をいれましたか?
退会済みユーザー

退会済みユーザー

2017/01/11 15:05

重ねがさねすみません。x1=1,x2=0とx1=1,x2=1の時のrの値を教えてもらえませんか?
guest

回答3

0

解決済みのようですが一言【閲覧注意】

私も、学生時にこの分野の技術について学んでおりましたが、この分野の世界にはどうも気味の悪い部分が存在します。この質問のように**「『そもそも不可能なはずである』にも関わらず『論文上では』良好な結果を得ている、そして大きな経済の動きが作られている」というものを見ました。もちろん、現物を見たことはありません。「その件に質疑を持ちかけた学外協力者が急に疎遠になった」**ことすらありました。私も身の危険を感じてこの分野から去りました。

単純パーセプトロン自体は非常に単純な機能しかありません。したがって、実問題に活用するためには工夫をしていく必要があります。ただし、この「工夫」の仕方は非常に複雑であり、人為調整パラメータの影響力が実測データの影響力を上回るような状況も簡単に作ることができてしまいます。当然ですが、そうなれば**「任意の結論出し放題」**という無法地帯ができます。技術的にも社会的にもどうも怪しい部分があります。

投稿2017/01/12 15:04

HogeAnimalLover

総合スコア4830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

バイアス項が抜けてます。

投稿2017/01/12 04:15

ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

単純パーセプトロンではand,or,nandなど線形分離可能な問題しか解くことが出来ません。
こちらのサイトがすごくわかりやすいです。参考url

上記の参考urlのサイトのようにx1を横軸とし、x2を縦軸とし,rの値を平面グラフとプロットすると以下のようになります。
今回の場合,下の画像のように真ん中で分割することでできるので線形分離可能であり、単純パーセプトロンで解くことが可能であると思います。なので、学習回数を増やせば、この問題を解くことができるかもしれません。

手書きなので見にくかったらごめんなさい。
イメージ説明

投稿2017/01/11 15:35

編集2017/01/11 15:36
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Test1115Test

2017/01/12 02:58

プログラムは間違ってなさそうですか
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問