ボストン住宅データセットに基づくシンプルな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」GPT-3の中国版を作る方法

質問に答えたり、翻訳したり、記事を書いたり、コードを書いたり、数式を計算したり、アイコンを描いたりす...

アップルはiOS 18でクラウドやデバイスを含む生成AI機能を導入したと言われている。

海通国際証券のアナリスト、ジェフ・プー氏は本日、 Appleが早ければ2024年末にもiPhoneと...

AIロボットが大規模に導入されると、私たちはより良くなるのでしょうか?

人工知能の波が大きな変化を引き起こすには、4年という時間は十分あります。 2016年に北京の大学の講...

AIと機械学習を活用して、誰にでも何でも販売する

AI と IBM Watson の Personality Insights を使用して見込み客に確...

2021 年のアクセス制御市場と技術開発の動向

[[396193]]アクセス制御市場世界のアクセス制御システム市場は、2020 年の 86 億米ドル...

現実世界の AI: 今こそ AI が必要な理由

人類が最も懸念している問題の一つは、人工知能(AI)の将来の発展です。真の AI は、人間の作業のス...

NLP がヘルスケアにおける AI の価値を実現する方法

複雑な AI モデルを学習するには膨大な量のデータが必要であり、ヘルスケア データは全データのほぼ ...

人工知能業界を理解するにはどうすればいいのでしょうか?まず知っておくべき知識は何でしょうか?

人工知能の発展を理解したい場合、または人工知能の基本的な応用を理解したい場合は、まずいくつかの基本的...

TorchCVは、北京大学の学生が開発したPyTorchベースのCVモデルフレームワークです。

機械学習によってもたらされたあらゆる破壊的技術の中でも、コンピュータービジョンの分野は業界関係者と学...

人工知能と機械学習の購入者ガイド

B2B ソフトウェアの営業およびマーケティング チームは、「人工知能 (AI)」という用語を好んで使...

国内トップクラスのAIカンファレンスCPALに採択された論文の成果を公開!合計30件の口頭発表と60件のスポットライト記事

今年5月に発表され、国内の有力者である馬怡氏と沈向陽氏が主導する、まったく新しい初のAI学術会議CP...

安全なパスワード保存の業界標準: bcrypt アルゴリズム

パスワードを安全に保護するための標準アルゴリズムである bcrypt アルゴリズムについて説明します...

物流業界におけるインテリジェント化のトレンドは、倉庫ロボットの将来性を浮き彫りにしています。

近年、電子商取引業界の急速な発展により、物流業界、特に物流倉庫に対する要求は徐々に高まっています。人...

炭素系生物は排除されます! AIがクロスワードパズルで初勝利

先週のバーチャルクロスワードパズル「アメリカンクロスワードパズルトーナメント」には1,000人を超え...

...