機械学習ニューラルネットワークとPython実装

機械学習ニューラルネットワークとPython実装

ニューラル ネットワークは、機械学習のあらゆる側面に及ぶ幅広い用途に使用されます。この記事では、主にニューラル ネットワークの基本的な理論的概念と計算について簡単に紹介します。同時に、データ分類におけるニューラル ネットワークの応用についても紹介します。

[[246577]]

まず、回帰モデルまたは分類モデルを構築するときに、残差誤差を最小限に抑えるために、最小二乗法 (OLS) または平均尤度推定法 (MLE) のいずれかが使用されます。したがって、モデルを構築するときには損失関数が存在します。

ニューラル ネットワークも例外ではなく、同様の損失関数を持ちます。

回帰の場合:

分類について:

次に、同じ方法を使用して W を微分し、導関数がゼロのときに極値を見つけることができます。

式中のWについて。ここでは、3 層のニューラル ネットワークを例に挙げます。まず、ニューラル ネットワークの関連パラメータを紹介しましょう。

最初の層は入力層、2 番目の層は隠れ層、3 番目の層は出力層です。

X1 と X2 は W1 によって重み付けされた後、隠れ層に到達し、次に W2 によって重み付けされて出力層に到達します。

で、

我々は持っています:

これまでに、基本的な 3 層ニューラル ネットワークを構築しました。

損失関数を最小化したい場合は、その逆を見つける必要があります。これをバックプロパゲーションと呼びます。

W1 と W2 を別々に微分し、それぞれの極値を見つける必要があります。

右辺から逆算して、まず W2 を導出します。

損失関数の式に代入します。

次に、簡略化します。

ここまで簡略化した後、同様に W1 の導関数も取ることができます。

BP ネットワークを実行すると、損失関数の最終的なサイズを決定する逆誤差項があることがわかります。

実際の計算では、勾配解法を使用して極値点を探します。

要約すると、順方向伝播を使用してニューラル ネットワークを合理化し、回帰モデルと分類モデルを実現します。そして、損失関数を逆方向に計算すると、パラメーター W が最適解を持つようになります。

もちろん、線形回帰などのモデルと同様に、正規化項を追加して W パラメーターを制約し、モデルの偏差が小さすぎてテスト セットのパフォーマンスが低下するのを防ぐこともできます。

Python実装:

KERASライブラリの使用

線形回帰を解く:

  1. model.add(Dense(1, input_dim = n_features , activation = 'linear' , use_bias = True ))
  2. # 損失メトリックには平均二乗誤差を使用し、ADAMバックプロパゲーションアルゴリズムを使用する
  3. model.compile(損失= 'mean_squared_error' オプティマイザー= 'adam' )
  4. # ネットワークをトレーニングする(重みを学習する)
  5. # DataFrameからNumpyArrayに変換する必要があります
  6. 履歴=モデル.fit(X_train.values, y_train.values,エポック= 100 ,
  7. batch_size = 1 verbose = 2 validation_split = 0 )

多重分類問題の解決:

  1. # モデルを作成する
  2. モデル=シーケンシャル()
  3. model.add(Dense(64, activation = 'relu' , input_dim = n_features ))
  4. モデルを追加します(ドロップアウト(0.5))
  5. model.add(Dense(64, activation = 'relu' ))
  6. モデルを追加します(ドロップアウト(0.5))
  7. # ソフトマックス出力層
  8. model.add(Dense(7, activation = 'softmax' ))
  9. model.compile(損失= 'categorical_crossentropy' オプティマイザー= 'adam' メトリック= ['accuracy'])
  10. model.fit(X_train.values、y_train.values、エポック= 20 バッチサイズ= 16 )
  11. y_pred =モデル予測(X_test.値)
  12. y_te = np .argmax(y_test.values、= 1 )
  13. y_pr = np .argmax(y_pred,= 1 )
  14. 印刷(np.unique(y_pr))
  15. 分類レポートを印刷します(y_te, y_pr)
  16. 混乱行列を印刷します(y_te, y_pr)

最適なパラメータを選択すると、解決方法は多数あります。ここでは、設定されたすべてのパラメータを走査して最適なパラメータを取得するブルートフォース検索方法である gridsearchcv という方法を紹介します。

  1. sklearn.model_selection から GridSearchCV をインポートします
  2. def create_model(オプティマイザ= 'rmsprop' ):
  3. モデル=シーケンシャル()
  4. model.add(Dense(64, activation = 'relu' , input_dim = n_features ))
  5. モデルを追加します(ドロップアウト(0.5))
  6. model.add(Dense(64, activation = 'relu' ))
  7. モデルを追加します(ドロップアウト(0.5))
  8. model.add(Dense(7, activation = 'softmax' ))
  9. model.compile( loss = 'categorical_crossentropy' optimizer optimizer = optimizer、 metrics = ['accuracy'])
  10.   
  11. リターンモデル
  12. モデル= KerasClassifier ( build_fn = create_model verbose = 0 )
  13. オプティマイザー= ['rmsprop']
  14. エポック= [5, 10, 15]
  15. バッチ= [128]
  16. param_grid = dict ( optimizer =オプティマイザ epochs epochs = エポック、 batch_size =バッチ verbose = ['2'])
  17. グリッド= GridSearchCV (推定器=モデル param_grid param_grid =param_grid)
  18. グリッドフィット(X_train.値、y_train.値)

<<:  機械学習におけるモデルのバイアスを理解する

>>:  すべてのデータ サイエンティストが知っておくべき 19 の機械学習アルゴリズム

ブログ    
ブログ    

推薦する

百度脳がAIの「先導役」を演じる 王海鋒:AI時代の社会の知能化を共同で推進

11月1日、Baidu Brainは2018年Baidu世界大会の初イベントとしてデビューしました。...

...

...

エネルギーおよび公益事業業界におけるインテリジェントオートメーションの役割

世界はクリーンで安全、かつ手頃な価格で持続可能な電力を緊急に必要としており、各国は化石エネルギーに代...

焦点: 注目すべき 6 つのスマート セキュリティ トレンド

スマート セキュリティは、新しい AI 機能のおかげで、静的なセキュリティ ビデオ録画からリアルタイ...

2021年にAIは暗号通貨分野に参入するでしょうか?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

我が国の自動販売機の現状と展望はどうなっているのでしょうか? Pinshi Intelligentは新たな戦略を持っています

セルフサービス自動販売機自体は目新しいものではないが、販売品目が普通のボトル入り飲料から絞りたてジュ...

マスクを着用していても、AIはあなたが何を言っているか理解できる

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

違反した企業は売上高の6%の罰金を科せられる可能性がある。EUは人工知能技術の監督を強化する予定だ。

海外メディアの報道によると、欧州委員会は最近、企業がEUの規則に違反し、禁止されている人工知能アプリ...

復旦NLPチームが大規模モデルエージェントの80ページのレビューを公開、AIエージェントの現状と将来を概観

最近、復旦大学の自然言語処理チーム (FudanNLP) が LLM ベースのエージェントに関するレ...

...

GAN が「思考を偽装」してネイチャー誌に登場: 初の合成神経活動データ

[[436236]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

AIと5Gの相乗効果:デジタル時代の潜在能力を最大限に引き出す

進化するテクノロジーの世界では、人工知能 (AI) と第 5 世代無線ネットワーク (5G) という...

2022年の展望: 自動化におけるイノベーションと機会

テクノロジーへの関心と導入が多様化するにつれ、多くの企業が将来の進路を決める岐路に立たされています。...