#開発しようとした動機
理科に関係することで、何かプログラミングをしようと考えた。
中学1年生で習った火成岩は、教科書から色や結晶の形状に特徴があるため、簡単に判定できると考えた。
最初は、プログラムで判定する方法を取ろうと考えたが、機械学習にもチャレンジしようと試みた。これまでプログラミングは数多くしてきたが、機械学習はほとんどしたことがない。
機械学習というと結構難しい数学が使われて、難しいイメージがあるが、実際はそこまででもなく簡単にできるらしい。(機械学習を理解するには高校レベルもしくは大学レベルの数学が使えなくてはいけないらしい。)
#準備するもの
##ハードウェア
パソコン
2011 年ぐらいから売られている、特殊な計算ができるCPU命令に対応しているCPUを搭載しているもの限る。Intel Celeron、 Intel PentiumとIntel tomなどの低価格CPUはできない。
(nvidiaのGPUが入っていたら、機械学習が高速化するらしい)
##ソフトウエア
Python(パイソン)
世界でよく使われるプログラミング言語の1つ。最近は機械学習でよく使われる。
Numpy(ナムパイ)
pythonの機械学習の計算によく使われる拡張機能
Keras(ケラス)
簡単に画像分類の機械学習をしてくれるTensorflowの拡張機能
Matplotlib(マットプロットリブ)
グラフがとても簡単にできる拡張機能
Tensorflow (テンソルフロー, テンサーフロー)
googleが開発しているオープンソースの機械学習用ライブラリ
Tkinter (ティンキータ)
ウィンドウを作ったりする拡張機能
Tensorflow.js (テンソルフロージェイエス)
ディープラーニングをwebブラウザでも実行可能にするもの
Bootstrap (ブートストラップ)
Webデザインでよく使われるライブラリの一つ
#開発方針
###① 機械学習でプログラミング
機械学習でよく使われる、Pythonというプログラミング言語を使って作ってみる。
ちょっと難易度が上がるが、機械学習で分析する。機械学習のデータ画像を10枚ぐらいダウンロードして機械学習させる。
###② 完成したら、アプリにする。
もしできたらAndroidなどのスマホでも動かしてみたい。
###③機械学習を使わないプログラムでも挑戦してみる
機械学習を使わない方法でも、岩石の色から種類を判別するプログラムを作る色の特徴から、判別する方法で、画像を分別させてみる。