エクセルでディープラーニングしてみる

pythonすらインストールできない素人が機械学習、CNN、プーリングをエクセルで実装(笑)しています。

pythonすらインストールできない素人が機械学習、CNN、プーリングをエクセルで実装(笑)しています。

これからプーリングの話をするが、メモ。プーリングでは最大値を取る最大値プーリングをよく使うが、なんで平均プーリングを使わないのかナゾだった。
でもよく考えてみたら、0~9の数字は、すべてつながった線で表されていて、切れ目を敏感に検出する必要が全くない(どころか有害)であることがわかった。これはアルファベットも同じ。
つまり、線のデータの切れ目を除きたいならmaxプーリングが向いている。
一方、ひらがなやカタカナは、切れ目を検出することが必要なデータが多い。これについても最大値プーリングが向いているのだろうか?それとも平均プーリングや、エッジを強調するプーリングが向いているのだろうか。少し試してみたい。

 

昨日に続いて横エッジ、ラプラシアンフィルタを入れていました。
 17041402

続きを読む

まずはフィルタを使って畳み込みというのをやってみます。
4

今回の話は、こちらを参考にしています。
 続きを読む

ディープラーニングでどうやって学習するの?(続き)

で書いた内容に追記。
畳み込みニューラルネットワーク(CNN)のフィルタは、何か黄金パターンがあるのだと思っていたが、ディープラーニングではフィルタも学習により作成するようだ。
というかフィルタを機械学習するのがディープラーニングのようだ。


 

MNISTから取り込んだtest.csvやtrain.csvは、28×28ピクセルのデータが1行に並んでいる。
これを元の図に戻してみる。

3





 続きを読む

気分を良くしてMNISTのテストデータのcsvファイルも取り込んでみます。

https://github.com/sbussmann/kaggle-mnist/blob/master/Data/test.csv
データは上記から。

50MBあります。結構重いですね。
これもエクセル形式で保存してみます。75MBになりました。



 

MNISTの説明はしました。
まずはデータファイルをエクセルに取り込みました。

MNISTの学習用データは
https://github.com/sbussmann/kaggle-mnist/blob/master/Data/train.csv
上記のサイトにありました。

上記のサイトはGITHUBというサイトで、pythonなどのプログラミングをしている人が
プログラムやデータを情報交換するのによく使うサイトのようです。

このCSVファイルをゲットしましょう。右下のDownloadボタンを押さず
(押すとブラウザ上に表示されてしまう)、右クリックして「リンク先を保存」で、保存しましょう。

これだけで75MB程度あります。
ただのcsvファイルですが、terapadというエディタで開くだけで、1分くらいかかりました。

それではこのファイルをエクセルで開いてみましょう。
・・・時間はかかりますが、普通にひらけます。

1

こんなかんじで、1行目にラベル(正解)と一ピクセルごとのデータが入ります。
ピクセル0からピクセル783まで(ADE行め!)に0から255までの数字が入っています。
それではこれをエクセルファイルとして保存してみましょう。(xlsx形式)
どれくらい重くなるか・・・と思ったけど、たったの113MBでした。




 

前回の記事をまとめ、よく使われている言葉を追加する。
このページが辞書代わりになるようになるといいと思っています。

(1)画像と答えデータを取得。(教師データ取得)
MNIST

(2)画像から「特徴」を抽出するプログラム(特徴量の抽出)
畳み込み、畳み込みニューラルネットワーク(CNN)、演算子、フィルタ、スライディングウィンドウ、処理後のデータが特徴マップ、プーリング

(3)「特徴」から「1、2、3・・・」などの答えを作るプログラム(全結合層)
全結合層

(4)教師データを(2)(3)に入れて合否チェック(誤差関数)
誤差関数、RELU

(5)(2)(3)のプログラムを自動的に修正する
誤差勾配法


続きを読む

このサイトの目標はMNISTを学習し、手書き文字を認識することだ。
別に高い正答率を目指しているわけでも、使いやすいものを目指しているわけでもない。
単にディープラーニングを学習することが目的だ。

まず最初に、何をしようとしているのかを説明しようと思う。
というのは、僕のようにプログラミングに全く縁のない素人にとって
MNISTで何をしようとしているのからして意味不明だったからだ。

MNISTって何の略?

続きを読む

ディープラーニング超やばいので、勉強してみようと思う。
でもpythonの使い方がよくわからない。
Windows にインストールしてみたが、ファイルがどこにできるのかわからない。
画像データの取り込み方とか、などなど全くわからない。
聞ける人もいない。

ということで、エクセルだけでディープラーニングをやってみる。
目標はMNISTの認識。それ以上はきっと計算能力が足りないはずなのでできないと思う。


続きを読む

↑このページのトップヘ