ボストン住宅データセットに基づくシンプルなMLP回帰モデルのトレーニング

ボストン住宅データセットに基づくシンプルなMLP回帰モデルのトレーニング

[[422501]]

多層パーセプトロン(MLP)は非常に長い歴史を持っています。多層パーセプトロン(MLP)はディープニューラルネットワーク(DNN)の基本アルゴリズムです。

MLPの基礎

  • 目的: 単純な回帰/分類タスク用の通常のニューラル ネットワーク (多層パーセプトロンなど) と Keras を作成する

MLP構造

  • 各MLPモデルは、入力層、複数の隠れ層、および出力層で構成されています。
  • 各層のニューロンの数は無制限である

1つの隠れ層を持つMLP

- 入力ニューロンの数: 3 - 隠しニューロンの数: 4 - 出力ニューロンの数: 2

回帰タスクのためのMLP

  • ターゲット(「y」)が連続している場合
  • 損失関数と評価指標には、通常、平均二乗誤差 (MSE) が使用されます。
  1. tensorflow.keras.datasetsからboston_housing をインポートします
  2. (X_train、y_train)、(X_test、y_test) = boston_housing.load_data()

データセットの説明

  • ボストン住宅データセットには合計506のデータインスタンス(トレーニング用404、テスト用102)があります。
  • 13 の属性 (特徴) が「特定の場所の住宅の中央値」を予測します
  • ファイル番号: https://keras.io/datasets/

1. モデルを作成する

  • KerasモデルオブジェクトはSequentialクラスを使用して作成できます。
  • 最初は、モデル自体は空です。これは、追加のレイヤーを「追加」してコンパイルすることによって行われます。
  • ドキュメント: https://keras.io/models/sequential/
  1. tensorflow.keras.modelsからSequential をインポートします
  2.  
  3. モデル = シーケンシャル()

1-1. レイヤーの追加

  • Kerasレイヤーをモデルに「追加」することができます
  • レイヤーを追加することは、レゴブロックを積み重ねるようなものである
  • ドキュメント: https://keras.io/layers/core/
  1. tensorflow.keras.layersからActivation、Dense をインポートします
  2. #それぞれ 10 個のニューロンを持つ2 つの隠れ層を持つKeras モデル
  3. model. add (Dense(10, input_shape = (13,))) # 入力層 => input_shape は明示的に指定する必要があります
  4. model.add(アクティベーション( 'シグモイド' ))
  5. model.add (Dense(10)) # 隠し層 =>のみ 出力ディメンションを指定する必要があります
  6. model.add(アクティベーション( 'シグモイド' ))
  7. model.add (Dense(10)) # 隠し層 =>のみ 出力ディメンションを指定する必要があります
  8. model.add(アクティベーション( 'シグモイド' ))
  9. model.add (Dense(1)) #出力層 =>出力次元= 1回帰問題ので
  10. # これは上記のコードブロック同等です
  11. モデルを追加します(Dense(10, input_shape = (13,), activation = 'sigmoid' ))
  12. モデルを追加します(Dense(10, activation = 'sigmoid' ))
  13. モデルを追加します(Dense(10, activation = 'sigmoid' ))
  14. モデル.add (密(1))

1-2. モデルのコンパイル

  • Kerasモデルはトレーニング前に「コンパイル」する必要があります
  • 損失タイプ(関数)とオプティマイザを指定する必要があります
  • ドキュメント(オプティマイザー): https://keras.io/optimizers/
  • ドキュメント(損失): https://keras.io/losses/
  1. tensorflow.kerasからオプテ​​ィマイザーをインポートする
  2.  
  3. sgd = optimizers.SGD(lr = 0.01) # 確率的勾配降下法オプティマイザー
  4.  
  5. model.compile(optimizer = sgd, loss = 'mean_squared_error' , metrics = [ 'mse' ]) #回帰問題では、平均二乗誤差(MSE)よく使用されます

モデルの概要

  1. モデル.要約()
  1. odel: 「シーケンシャル」  
  2. _________________________________________________________________
  3. レイヤー(タイプ)出力形状パラメータ#
  4. =================================================================
  5. 密集(密集)(なし、10)140
  6. _________________________________________________________________
  7. アクティベーション(アクティベーション)(なし、10)0
  8. _________________________________________________________________
  9. 密_1 (密) (なし、10) 110
  10. _________________________________________________________________
  11. activation_1 (アクティベーション) (なし、10) 0
  12. _________________________________________________________________
  13. 密_2 (密) (なし、10) 110
  14. _________________________________________________________________
  15. activation_2 (アクティベーション) (なし、10) 0
  16. _________________________________________________________________
  17. 密_3 (密) (なし、1) 11
  18. _________________________________________________________________
  19. 密_4 (密) (なし、10) 20
  20. _________________________________________________________________
  21. 密_5 (密) (なし、10) 110
  22. _________________________________________________________________
  23. 密_6 (密) (なし、10) 110
  24. _________________________________________________________________
  25. 密_7 (密) (なし、1) 11
  26. =================================================================
  27. 合計パラメータ: 622
  28. トレーニング可能なパラメータ: 622
  29. トレーニング不可能なパラメータ: 0
  30. _________________________________________________________________

2. トレーニング

  • 提供されたトレーニングデータを使用してモデルをトレーニングする
  1. model.fit(X_train、y_train、バッチサイズ = 50、エポック = 100、詳細 = 1)

3. 評価

  • Kerasモデルはevaluate()関数を使って評価できる。
  • 評価結果はリストに含まれる
  • ドキュメント: https://keras.io/metrics/
  1. 結果 = model.evaluate(X_test, y_test)
  1. print(model.metrics_names) #モデル使用しているメトリック名リスト
  2. print(results) #計算されたメトリック実際の数値

  1. print( '損失: ' , 結果[0])
  2. print( 'mse:' , 結果[1])

<<:  人工知能のコスト問題をどう解決するか?顔認識によって情報セキュリティはどのように確保されるのでしょうか?

>>:  シンガポールは路上での悪質な行為を検知するためにロボットを使っている

ブログ    

推薦する

2021 年の人工知能と自動化のトレンド

[[430280]]特にリモートワークの増加と労働力不足により従来の労働パターンが変化する中、多くの...

...

アリババ、1秒でフェイクニュースを暴く「AI噂クラッシャー」を正式リリース

[[261230]]エイプリルフールは私たちにとってただ楽しい日です。親にとって、ネット上の噂は日々...

...

...

タオバオ:電子商取引環境における強化学習のいくつかのアプリケーションと研究に関する30,000語の詳細な分析

背景検索技術が発展するにつれ、検索シナリオにおける教師あり学習アルゴリズムの限界が徐々に認識されるよ...

人工知能はあらゆる産業に革命を起こすだろう

今日のさまざまな業界における人工知能の影響を見てみましょう。 [[421328]] 1. 自動車産業...

...

報酬のランダム化により、マルチエージェントゲームにおける多様な戦略的行動が発見され、研究者は新しいアルゴリズムを提案する

本論文では、研究者らは報酬空間を探索するための新しいアルゴリズム RPG (報酬ランダム化ポリシー勾...

Pythonアルゴリズムの正しい実装の紹介

経験豊富な Python プログラマーにとって、Python アルゴリズムの実装は難しくありません。...

...

AIとビッグデータのつながり

ビッグデータと人工知能は、今日最も新しく、最も有用なテクノロジーの 2 つです。人工知能は10年以上...

多くの場所でAI顔認識の使用が制限されており、監視は技術開発のペースに追いついています

最近、南京、江蘇省、天津などではAI顔認識技術の使用を禁止し始めている。 11月末、南京市のある男性...

...

...