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

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

新規登録して質問してみよう
ただいま回答率
85.50%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1648閲覧

学習したデータを可視化できません

yep

総合スコア45

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

2クリップ

投稿2018/10/26 02:30

編集2018/10/26 11:05

autoencoderで、学習した結果を出力したいのですが、

python

1[[[0. 0. 0. 0. 0.24245892 0. 2 0. 0. 0. ] 3 [0. 0. 0. 0. 0. 0. 4 0. 0. 0.15186222]] 5 6 [[0. 0. 0. 0. 0. 0. 7 0. 0.27800256 0. ] 8 [0. 0.14638866 0. 0. 0. 0. 9 0. 0. 0. ]]] 10

となってしまいます。

原因を推測される方は何卒、宜しくお願い致します。

poem.txtは、

朝霧 の 中 に 九段 の ともし 哉 あたたか な 雨 が 降る なり 枯葎 菜の花 や は つと 明るき 町 は づれ 秋風 や 伊予 へ 流る る 汐 の 音 長閑 さ や 障子 の 穴 に 海 見え て

となっています。

python

1import numpy as np 2import codecs 3import keras 4from keras.layers import Activation, Dense, Input 5from keras.models import Model 6import sys 7 8with open(r'./Desktop/haiku.txt', encoding='utf-8') as f: 9 poems = f.readlines() 10 for p in poems: 11 s = p.rstrip() 12 s = s.split(' ') 13 14chars = sorted(list(set(poems))) 15char_indices = dict((c, i) for i, c in enumerate(chars)) 16maxlen = 2 17step = 3 18sentences = [] 19for i in range(0, len(poems) - maxlen, step): 20 sentences.append(poems[i: i + maxlen]) 21 22input_word = Input(shape=(maxlen, len(chars))) 23indices_char = dict((i, c) for i, c in enumerate(chars)) 24 25x = np.zeros((len(sentences), maxlen, len(chars)), dtype=np.bool) 26for i, sentence in enumerate(sentences): 27 for t, char in enumerate(sentence): 28 x[i, t, char_indices[char]] = 10 29 30encoding_dim = 128 31input_word = Input(shape=(maxlen, len(chars))) 32encoded_1 = Dense(128, activation='relu')(input_word) 33encoded_2 = Dense(64, activation='relu')(encoded_1) 34encoded_3 = Dense(32, activation='relu')(encoded_2) 35latent = Dense(8, activation='relu')(encoded_3) 36decoded_1 = Dense(32, activation='relu')(latent) 37decoded_2 = Dense(64, activation='relu')(decoded_1) 38decoded_3 = Dense(5, activation='relu')(encoded_2) 39autoencoder = Model(inputs=input_word, outputs=decoded_3) 40autoencoder.compile(optimizer='Adam', loss='categorical_crossentropy') 41 42autoencoder.fit(x, x, 43 epochs=1, 44 batch_size=150, 45 shuffle=False) 46bunsyo = autoencoder.predict(x[1:17], batch_size=10, verbose=1, steps=None) 47print(bunsyo)

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

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

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

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

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

guest

回答1

0

ベストアンサー

あまり詳しくないので、細かいところはわかりませんが、答えられるところまで。

decoded_3はあくまで学習モデルの一部で、結果を持っているわけではありません。
結果を取得したい場合は、(事前にfit()などで学習を完了させた上で)predict()かpredict_on_batch()を使ってください(参考)。

投稿2018/10/26 08:11

fiveHundred

総合スコア9776

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

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

yep

2018/10/26 11:03 編集

predict()は、予測結果では無いでしょうか?autoencoderの場合、使えるのでしょうか?すみません。
fiveHundred

2018/10/26 11:49

「predict()の予測結果」=「学習したモデルの予測の結果」=「学習した結果」というのが私の解釈ですが、どこか間違っておりますでしょうか?
yep

2018/10/26 11:54

すみません。私の勘違いでした。予測結果=分析結果ですね。
yep

2018/10/26 11:55

predictを使いましたが、配列が出力されました。これは、変換する必要がありますか?
fiveHundred

2018/10/26 12:01

最終的にどんなのを得たいかによりますが、入力も出力も配列なので、それに合わせて適宜変換する必要があります。
yep

2018/10/26 12:29 編集

最終的には、このようなものを得たいです。 長閑 さ や 障子 の 穴 に 海 見え て 長閑さや障子の穴に海見えて
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問