tensorflowを使用する場合はKerasで作成します。
昔は別々のプロジェクトですが、今は一緒になっています。
昔はtensorflowは使いにくい言語でしたがKerasのおかげで非常に使いやすくなっています。
Kerasでプログラムをするということ
C言語やPythonと同じような考え方では必ず躓きます。
Kerasではほかの言語のように処理をガリガリ書くということはしません。
基本的な記載方法は決まっているので、「どういう評価関数を使うのか」「どういう最適化アルゴリズムを使用するのか」ということを選択して評価することが主な作業になります。
あとは、処理するデータの「前処理」を行うくらいでしょうか。
機械学習の本やサイトを見ると、コードがほとんど記載されておらず、数学の話などが延々と続くのはこのためです。
他のプログラムのように「人間が制御する」というよりは「使うデータとパラメータ」を与えることにより精度を上げていくのが機械学習となります。
基本的な処理ブロック
コーディングをする量が少ないですが、各ブロックで何を行うのかを理解することは大切です。
- 前処理
- Sequential
- Compile
- Fit
- Evaluate
- Predict
前処理
処理しやすいようにデータを成形します。
データの範囲を「0-1」の間で変換することと、適切な配列(ベクトル)に変換する処理を行います。
Sequential
レイヤーを定義します。
何階層作成するかと、データ出力数を制御します。
Compile
「最適化アルゴリズム」「損失関数」「評価関数」を定義します。
この部分が心臓部に近いところになります。
数学の知識が一番必要になるところです。
Fit
Sequential/Compileで定義した内容を実行します。
Evaluate
Fitの結果評価します。
Sequential/Compile->Fit->Evaluateを繰り返して精度を上げていくことになります。
Predict
作成したモデルを使用してデータの予測を行います。
コメント