csvデータの畳み込​みニューラルネットワ​ーク(cnn)につい​て

2 views (last 30 days)
Yoshio Moriyama
Yoshio Moriyama on 9 Feb 2018
Edited: mizuki on 9 Feb 2018
csvデータに対しCNN学習を行う際csvデータの読み込みとラベル付けはどのように行うのですか? csvデータの中身は音データをサンプリング周波数48khzで収録したもので1×960,000サンプルのcsvデータとして保存されたものです。 この中から4,800サンプルを画像認識でいう1データ(1画像)として連続で抽出しCNN学習を行いたいです。

Answers (1)

mizuki
mizuki on 9 Feb 2018
Edited: mizuki on 9 Feb 2018
  • csv から取得した数値データの使用について
最新のバージョンである R2017b では、画像以外の数値データは SequenceInputLayer で取り込むことができますが、この関数で取り込んだデータに対して convolution2dLayer 関数を適用する機能が現在のところありません。
代わりに、 imageInputLayer 関数を使用して読み込み、それに対して convolution2dLayer を適用してみてください。
  • データの一部を抜き出す方法について
datastore 関数を使用すると、csv データのデータ抽出部分を指定することができます。もしスライディングウィンドウを使用しない場合は datastore の ReadSize プロパティを 4800 に指定して、ループを使用して読み込みます。
例えば以下のようなコードになります。(最終的に変数 data に4800x22 のデータが入っています。) この変数を trainNetwork 関数の入力引数とすればよいかと思います。
ds = datastore('airlinesmall.csv', ...
'TreatAsMissing','NA');
ds.SelectedVariableNames = {'DepTime'};
ds.ReadSize = 4800;
preview(ds)
X = [];
% i=1;
% while hasdata(ds)
for i=1:200
T = read(ds);
data(:,i) = T;
% i=i+1;
end
  • ラベルについて
ラベル情報は別の変数として定義しておき、学習のための関数 trainNetwork を実行するときに入力として与えます。

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!