ボストン住宅データセットに基づくシンプルな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はCOVID-19検査の欠陥を明らかにし、647のAIツールが臨床使用に適していないことが研究で判明

COVID-19パンデミックの発生以来、世界中の研究チームがコロナウイルスの検出や感染の予測に役立つ...

中国電子科技大学の博士号取得者は、2年でネイチャーとサイエンスに論文を発表して有名になった。

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

...

GANを別の視点から見る: 別の損失関数

ジェレミー・ハワード氏はかつて、Generative Adversarial Network (GA...

...

AI対応データセンターは急速に成長すると予想

企業の人工知能に対する飽くなき需要により、計算集約型の AI アプリケーションを処理するために設計さ...

AIの「脳内いっぱい」写真は迫力満点!フェイフェイ・リーのチームの新作「ZeroNVS」は、単一ビューの360度フルシーン生成です。

最近では、3D 対応の拡散モデルを使用してモデルをトレーニングし、個々のオブジェクトに対して SDS...

中国のAIを活用した教育の探求

教室に人工知能機器を導入することは、「スマート教育」の重要な形態の一つです。江蘇省宿遷市泗洪県第一実...

人工知能の「最初の一滴」がエンタープライズIT自動化に属する理由

企業の情報技術の意思決定者として、上級管理職や部門長に AI のビジネス価値を示す必要がある場合、I...

人工知能と機械学習の違いと機能は何ですか?

人工知能と機械学習。これらの言葉だけでも、意思決定を行うコンピューターが部署や課全体に取って代わる世...

...

糖尿病網膜症のスクリーニングの改善におけるAIの役割

糖尿病は網膜症を引き起こす可能性があり、これは失明につながる合併症です。しかし、良いニュースとしては...

AI スタートアップの品質を測定するにはどうすればよいでしょうか?

編集者注: Zetta Venture のパートナーである Ivy Nguyen 氏は最近、Tech...

アルゴリズムを視覚化するオープンソース プロジェクトをお勧めします。

誰もが知っているように、アルゴリズムを学ぶことは、コンピューターサイエンスの中で最も退屈でわかりにく...