Python は、BP ニューラル ネットワーク回帰モデル (BP ニューラル ネットワーク回帰アルゴリズム) プロジェクトの戦闘を最適化するための HBA ハイブリッド バット インテリジェンス アルゴリズムを実装します。

説明: これは機械学習の実践プロジェクトです (データ + コード + ドキュメント + ビデオ説明) データ + コード + ドキュメント + ビデオ説明が必要な場合は、記事の最後に直接アクセスして入手できます。



 

 


 1.プロジェクトの背景

バットアルゴリズムは、2010年に楊教授が群知能に基づいて提案したヒューリスティック探索アルゴリズムであり、大域的な最適解を探索するのに有効な手法である。反復最適化に基づいて、アルゴリズムはランダムな解のセットに初期化され、最適な解を反復的に検索し、最適な解の周囲のランダムな飛行によって局所的な新しい解を生成して、局所的な探索速度を向上させます。このアルゴリズムは実装が簡単でパラメータが少ないという特徴があります。

収束速度が遅い、局所最適に陥りやすい、解の精度が低いなどの基本的なbatアルゴリズムの欠陥を考慮して、制約のない最適化問題を解決するために局所探索と組み合わせたハイブリッドbatアルゴリズムを提案します。このアルゴリズムは、カオス シーケンスを使用してコウモリの位置と速度を初期化し、グローバル検索の多様性の基礎を築きます。パウエル検索を統合して、アルゴリズムのローカル検索能力を強化し、収束速度を高速化します。突然変異を使用します。アルゴリズムが局所最適に陥ることをある程度回避するための戦略。素晴らしい。

このプロジェクトは、HBA ハイブリッド バット インテリジェンス アルゴリズムを通じて BP ニューラル ネットワーク回帰モデルを最適化します。

2.データの取得

今回のモデリングデータはインターネットから取得したもの(このプロジェクトの作成者が作成)、データ項目の統計は次のとおりです。

データ詳細は以下の通りです(一部表示)。

 

3.データの前処理

3.1  Pandasツールでデータを表示する

Pandas ツールの head() メソッドを使用して、データの最初の 5 行を表示します。

キーコード:

 

3.2データ欠落ビュー

データ情報を表示するには、Pandas ツールの info() メソッドを使用します。

上の図からわかるように、変数は合計 11 個あり、データには欠損値がなく、合計 2000 個のデータがあります。

キーコード:

3.3データ記述統計 

Pandas ツールの description() メソッドを使用して、データの平均、標準偏差、最小値、分位数、および最大値を表示します。

キーコードは次のとおりです。

 

4.探索的データ分析

4.1 y 変数のヒストグラム 

Matplotlib ツールの hist() メソッドを使用して、ヒストグラムを描画します。

上の図からわかるように、y 変数は主に -400 ~ 400 の間に集中しています。

4.2 相関分析

上図からわかるように、値が大きいほど相関が強いことを示しており、正の値は正の相関、負の値は負の相関を示します。

5.特徴量エンジニアリング

5.1特徴データとラベルデータの確立

キーコードは次のとおりです。

5.2データセットの分割

train_test_split() メソッドを使用して、80% のトレーニング セットと 20% のテスト セットに従って分割します。キー コードは次のとおりです。

6. BP ニューラル ネットワーク回帰モデルを最適化するための HBA ハイブリッド Bat 最適化アルゴリズムを構築します。

主に HBA ハイブリッド Bat 最適化アルゴリズムを使用して、ターゲット回帰の BP ニューラル ネットワーク回帰アルゴリズムを最適化します。

6.1 HBAハイブリッドバット最適化アルゴリズムにより探索される最適パラメータ   

最適なパラメータ:

6.2 最適パラメータ値構築モデル

 

6.3 最適パラメータモデルの概要情報

 

6.4 最適パラメータモデルのネットワーク構造

 

6.5 最適パラメータモデルトレーニングセットテストセット損失曲線

 

7. モデルの評価

7.1 評価指標と結果

評価指標には主に説明可能な分散値、平均絶対誤差、平均二乗誤差、R二乗値などが含まれます。

上の表から、R 二乗が 0.9948 であることがわかります。これは、モデルがうまく機能していることを意味します。

キーコードは次のとおりです。

7.2 実測値と予測値の比較表

 

上図から、実際の値と予測値の変動は基本的に同じであり、モデル フィッティング効果が良好であることがわかります。  

8.結論と展望

要約すると、この論文では、HBA ハイブリッド バット インテリジェント最適化アルゴリズムを使用して、BP ニューラル ネットワーク アルゴリズムの最適なパラメーター値を見つけて回帰モデルを構築し、最終的に提案したモデルが適切に機能することを証明します。このモデルは、日常の製品の予測に使用できます。

# 开始迭代
t = 0
for t in range(N_gen):
    print('***********************当前迭代次数为:', t + 1, '******************************')

    # 对所有蝙蝠/位置进行循环
    for i in range(N_pop):
        Q[i] = np.random.uniform(Qmin, Qmax)  # 生成随机数
        v[i] = v[i] + (Sol[i] - best) * Q[i]  # 速度
        S[i] = Sol[i] + v[i]  # 位置


# ******************************************************************************
 
# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 链接:https://pan.baidu.com/s/1c6mQ_1YaDINFEttQymp2UQ
 
# 提取码:thgk
 
# ******************************************************************************


# y变量分布直方图
fig = plt.figure(figsize=(8, 5))  # 设置画布大小
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
data_tmp = df['y']  # 过滤出y变量的样本
# 绘制直方图  bins:控制直方图中的区间个数 auto为自动填充个数  color:指定柱子的填充色
plt.hist(data_tmp, bins='auto', color='g')

プロジェクトの実践の詳細については、機械学習プロジェクトの実践コレクションのリストを参照してください。

機械学習プロジェクトの実戦集一覧


 

おすすめ

転載: blog.csdn.net/weixin_42163563/article/details/131763664