ボストン住宅データセットに基づくシンプルな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])

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

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

ブログ    
ブログ    
ブログ    

推薦する

...

医療診断AIプロジェクトを実施するための10のステップ

【51CTO.com クイック翻訳】ヘルスケアのあらゆる側面において、時間は常に最も貴重な部分である...

ライブクイズゲーム「Winning with Ease」は止められない、Baidu AIが150万の現金獲得にあなたを招待します!

「2進数では、1+1=?」答えが2の場合、残念ながら150万を逃してしまいます。これは頭​​の体操...

...

エッジ AI で建物のシステム障害を回避

ビルの管理者や運営者は、暖房や冷房、照明システム、エレベーターの故障など、ビルのシステムや設備の予期...

TransformerはCNNを超え、計算複雑性の問題を解決します

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

スウェット物流からスマート物流へ、物流業界はよりスマートになっている

2020年は異例の年です。新型コロナウイルスの世界的な蔓延は人々の生活や仕事に多くの不便をもたらし、...

外国企業が人間の介入を必要としないAI犬訓練機を開発

海外メディアによると、Companion Labsという企業がサンフランシスコの動物保護団体SPCA...

最新の3D GANは3次元の幾何学データを生成できます!モデル速度が7倍に向上

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

MIT、「上級数学」ソルバーの強化版をリリース:7つのコースの正解率は81%

AIは小学校の算数の文章題を解くだけでなく、高度な数学にも取り組み始めています。最近、MIT の研...

Googleは機械学習ベースのDDoS攻撃防御をテスト中

[[412418]] Google Cloud のお客様は、分散型サービス拒否 (DDoS) 保護...

ディープラーニングのこれらの概念をすべて理解できましたか? TF、TLT、TRT、DS....

最近、NVIDIA GPU 製品や SDK を使用してディープラーニングを学習している学生に多く出会...

IoT、分析、AI – デジタル化の勝利のトリオ

デジタル化が進む世界では、すべてがスピードと個々の顧客ニーズの特定と対応を中心に展開されます。サービ...

26億のパラメータ、智源と清華が中国の大規模事前トレーニングモデルをオープンソース化

最近、北京人工知能研究院と清華大学の研究チームは共同で、中国語を中核とした大規模な事前学習済み言語モ...

AI.com ドメインが ChatGPT から X.ai にリダイレクトされました

AI.com ドメイン名は、もともと今年 2 月に OpenAI によって購入され、ChatGPT ...