« 神戸・湊川神社でお参り。夜には夏祭りやってるようで屋台が出てました。 | トップページ | LTSpice(電子回路シミュレータ)でローレンツ方程式を解く。 »

2024年8月26日 (月)

高周波エンジニアのためのAI・機械学習入門(9)教師あり学習でバンドパスフィルタ(BPF)の中心周波数ずれのG/NG判定をPythonとKeras 3.0を使って畳み込みニューラルネットワーク(CNN)で行う。精度が99%を超えるようになった。

前回はディープラーニング(DNN)でG/NG判定をやってみた。精度が97%台といまひとつだった。

高周波エンジニアのためのAI・機械学習入門(8)教師あり学習でバンドパスフィルタ(BPF)の中心周波数ずれのG/NG判定をPythonとKeras 3.0を使ってディープラーニング(DNN)で行う 

今回は畳み込みニューラルネットワーク(CNN)を使おう。

こういうバンドパスフィルタ(BPF)で10%だけ周波数ずれ不良が起きている状態でG/NG判定の精度を見てみる。

 

コードはこんな感じで


import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
import os
os.environ["KERAS_BACKEND"] = "tensorflow"
import keras

data_label = np.load("G_NG.npz")
data = data_label["data"].reshape(-1,200,5,1)
label = data_label["label"]
x_train, x_test, y_train, y_test = train_test_split(data, label, test_size=0.3, random_state=0)
# Functional APIでCNNを設定
inputs = keras.Input(shape=(200, 5, 1))
x = keras.layers.Conv2D(64, kernel_size=(10, 2), activation="relu")(inputs)
x = keras.layers.Conv2D(64, kernel_size=(10, 4), activation="relu")(x)
x = keras.layers.Flatten()(x)
outputs = keras.layers.Dense(1, activation="sigmoid")(x)

# モデルの設定
model = keras.Model(inputs=inputs, outputs=outputs)
model.compile(optimizer=keras.optimizers.Adam(), loss=keras.losses.BinaryCrossentropy(),    
            metrics=[keras.metrics.BinaryAccuracy(),])
batch_size = 32
epochs = 50

keras.utils.set_random_seed(1)
model.fit(
    x_train,
    y_train,
    batch_size=batch_size,
    epochs=epochs,
    validation_split=0.15,
)
score = model.evaluate(x_test, y_test, verbose=0)
print(f"Test Score{score}")

結果はこちら。

G_ngcnn01

99.4%くらいまでいってる。これなら予備的な判定としては使えるかもしれない。

ここまでは教師あり学習だったが、次は教師なし学習をやってみよう。

« 神戸・湊川神社でお参り。夜には夏祭りやってるようで屋台が出てました。 | トップページ | LTSpice(電子回路シミュレータ)でローレンツ方程式を解く。 »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 神戸・湊川神社でお参り。夜には夏祭りやってるようで屋台が出てました。 | トップページ | LTSpice(電子回路シミュレータ)でローレンツ方程式を解く。 »

最近の記事

最近のコメント

2024年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
フォト
無料ブログはココログ