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

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

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

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python

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

Q&A

解決済

1回答

535閲覧

プログラムを深層学習にしたい

svsvi

総合スコア7

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python

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

0グッド

0クリップ

投稿2020/01/28 14:06

###やりたいこと・状況
下記のプログラムを深層学習を利用したものにしたいです。
学習し始めたばかりなのでどうすれば深層学習になるのかいまいちわかっていません。
できれば、参考書「ゼロから作るDeepLearning」に沿ったものにしたいです。
もちろん普通のアドバイスも大歓迎です。具体的なプログラムまで教えてもらえるととても助かります。

現在のソースコード

from __future__ import print_function import pandas as pd from pandas import Series,DataFrame from sklearn import svm from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import numpy as np import matplotlib.pyplot as plt import keras from keras.models import Sequential from keras.layers import Dense, Dropout from keras.optimizers import Adam from keras.optimizers import SGD csvdataset = pd.read_csv("Train_Random.csv",header=0) #説明変数 x = DataFrame(csvdataset.drop("Result",axis=1)) #目的変数 y = DataFrame(csvdataset["Result"]) #説明変数・目的変数をそれぞれ訓練データ・テストデータに分割 x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.20) #データの整形 x_train = x_train.astype(np.float) x_test = x_test.astype(np.float) y_train = keras.utils.to_categorical(y_train,10) y_test = keras.utils.to_categorical(y_test,10) #ニューラルネットワークの実装① model = Sequential() model.add(Dense(60, activation='relu', input_shape=(59,))) model.add(Dropout(0.2)) model.add(Dense(60, activation='relu', input_shape=(59,))) model.add(Dropout(0.2)) model.add(Dense(60, activation='relu', input_shape=(59,))) model.add(Dropout(0.2)) model.add(Dense(10, activation='softmax')) sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) #ニューラルネットワークの実装② model.compile(loss='categorical_crossentropy',optimizer=sgd,metrics=['accuracy']) #ニューラルネットワークの学習 history = model.fit(x_train, y_train,batch_size=1000,epochs=10,verbose=1,validation_data=(x_test, y_test)) #ニューラルネットワークの推論 score = model.evaluate(x_test,y_test,verbose=1) print("\n") print("Test 損失値:",score[0]) print("Test 正解率:",score[1])

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

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

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

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

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

guest

回答1

0

ベストアンサー

まず、何をもって深層学習とするのかの明瞭な定義はありません。

また、深層学習と一般に言われるようなモデルは、画像やテキストなどの構造化されていない(何らかの構造はあると考えられるが、一般的な前処理でうまく構造を定量化することは難しい)特定のデータに対して成果を挙げたというものです(例:画像ならCNN, テキストならLSTMなど)。裏を返せばデータの特性に合わせてネットワークの構造を工夫するのが当たり前という世界であり、どんなデータなのかわからない状況では「深層学習を使いたい」という要件は成立しません。
(コードから推察する限りは普通のベクトルデータですが、このようなデータならそもそも深層学習を使わなくてもSVMなどの既存手法で限界まで性能が出るという事実もあります。ニューラルネットを使うメリットはほとんどありません)

投稿2020/01/28 14:19

hayataka2049

総合スコア30933

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

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

svsvi

2020/01/28 14:55

詳しくありがとうございます。いまは成果をだすことを目的にしているわけではないのでメリットについては問題ありません。ちなみに使っているデータはexcelの1列目だけ1または0で、2列目から60列目までは0以上のランダムな数値の60000行のCSVファイルです。
hayataka2049

2020/01/28 14:59 編集

単に「中間層がやたらたくさんあって、reluやdropoutなど深層学習で使われている技術を盛り込んだ多層パーセプトロン」を深層学習と称していいのであれば、質問文のそれも深層学習です。(私はそれを深層学習だとは思いませんが) 質問者さんも深層学習だとは思わないのなら、この延長線上で深層学習と呼ぶすべはないのでは。
svsvi

2020/01/28 15:09

わかりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問