2023年1月8日URLをコピーしました!※本ページはアフィリエイト広告を利用しています今回はいよいよ機械学習の本題、ニューラルネットワークによる学習と推論処理を実装していきます。1本のソースコードでデータ収集から学習、推論までの一連の処理を完結するというところを焦点に解説します。本記事は「Kerasでディープラーニング!Pythonで始める機械学習入」シリーズの手順を解説するページです。シリーズの一覧は以下をご覧ください。今回は機械学習ライブラリKerasを使ったディープラーニングの実装方法についてまとめてみました。機械学習をするにあたり、まずはデータセットに使用する画像データの収集や、訓練データとテストデータの前処理などの準備をする必要があります。各工程での手順を以下の記事でまとめていますので、あわせてご覧ください。今回は機械学習ライブラリscikit-learnを使用して機械学習に必要なデータを作成します。Amazon調べ)口コミを見るAmazon楽天市場YahooショッピングメルカリポチップKerasをインストールするKerasをインストールするため以下のコマンドを実行します。kerasニューラルネットの層を定義するデータの前処理が終わったら、ニューラルネットの層を定義していきます。Dense、Activation、Dropoutをレイヤーとして重ねていくことで相を構築していきます。DenseDenseは全層結合で、層内の全てのニューロンが次の層の全ニューロンと接続されます。ActivationActivationは活性化関数を表しています。今回は活性化関数に「relu」=ReLu関数(ランプ関数)と、「softmax」ソフトマックス関数を使用しました。DropoutDropout(ドロップアウト)は、意図的に一定割合のノードを使わないようにするための層で、ランダムで指定された割合の出力値を0にします。Amazon調べ)口コミを見るAmazon楽天市場Yahooショッピングメルカリポチップsoftmax関数とはニューラルネットワークは分類問題と回帰問題に用いることができますが、どちらに用いるかにより、出力層の活性化関数を決定します。今回のような分類問題では上記の層の定義のサンプルにもあるようにsoftmax関数を使用します。softmax関数はベクトルを入力とし、0から1の値をとる同じ次数のベクトルを出力します。その出力は確率値として解釈することができます。softmax関数の微分は以下の通りです。モデルを学習するKerasのfitメソッドを使い、学習を実行します。EarlyStoppingオブジェクトを使ってモデルの改善が止まった時点で学習を停止させることができます。callbacks=[early_stopping])モデル評価テスト用データセットで学習済分類器に入力し、パフォーマンスを計測します。Amazon調べ)口コミを見るAmazon楽天市場Yahooショッピングメルカリポチップ作成したソースコード実際に作成したソースコードは以下の通りです。0.75プログラムを実行するとモデルの評価結果が表示されました。損失(値が小さいほど良い)、評価ともまだまだ改良の余地ありという結果でした。Amazon調べ)口コミを見るAmazon楽天市場Yahooショッピングメルカリポチップまとめ今回のプログラムで機械学習の一連の処理を動作させることができました。モデルの実用には改良が必要ですので、次回以降の記事で学習させるデータや層の構造を調整していきたいと思います。機械学習を効率よく学びたい方には、自分のペースで動画で学べるUdemyの以下の講座がおすすめです。数学的な理論からPythonでの実装までを習得できます。エンジニア養成講座(初級編~統計学から数字認識まで~)また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。スキルアップや副業にぜひ活用してみてください。自分のキャリアアップに必要なカリキュラムがあるプログラミングスクールを探したいん...スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。こんな悩みを解決します。Ud...それでは、また次の記事でお会いしましょう。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ExampleMurasan(むらさん)制御系エンジニアです。Piなどのマイコンボードを使ってアプリケーションを開発しています。好きなガジェットについても紹介していきたいと思います。トップページの画像はStableDiffusionというAIによって生成されたイラストです。