高周波エンジニアのためのAI・機械学習入門(GPU編15)t-SNEでバンドパスフィルタ(BPF)の次数が異なるもの(減衰がちがうもの)を2軸で特徴づけできるかPythonとNVIDIA RAPIDSのscikit-learn互換のcuMLでやってみる。パラメータいじると何とでもなる気が…
前回、前々回はPCA, UMAPを使ってバンドパスフィルタを特徴づけた。今回はt-SNEをやってみよう。
データはこんな感じの10000個。
コードはこちらを参考にした。
Jane Street: t-SNE using RAPIDS cuML
実際のコードはこちら。cuMLでは2軸までしか扱えないとのこと。
import numpy as np
import matplotlib.pyplot as plt
from cuml.preprocessing import StandardScaler
from cuml.manifold import TSNE
from mpl_toolkits.mplot3d import Axes3D
data_label = np.load("filter_PCA.npz")
data = data_label["data"]
label = data_label["label"]
data = 10*np.log10(data[:, :, 3]**2 + data[:, :, 4]**2)
scaler = StandardScaler()
scaler.fit(data)
X_scaled = scaler.transform(data)
tsne = TSNE(n_components = 2)
#tsne = TSNE(n_components = 2, perplexity=50, learning_rate=200, n_neighbors=150, max_iter=2000, random_state=42)
X_tsne = tsne.fit_transform(X_scaled)
fig = plt.figure(figsize=(12,12))
plt.scatter(X_tsne[np.argwhere(label==3)[:,0],0], X_tsne[np.argwhere(label==3)[:,0],1], c="r", label="3rd")
plt.scatter(X_tsne[np.argwhere(label==5)[:,0],0], X_tsne[np.argwhere(label==5)[:,0],1], c="g", label="5th")
plt.scatter(X_tsne[np.argwhere(label==7)[:,0],0], X_tsne[np.argwhere(label==7)[:,0],1], c="b", label="7th")
plt.legend()
plt.grid()
plt.xlabel("PC1")
plt.ylabel("PC2")
|
実行した結果。うーん、内部に入り込んでいるのがいまいち。まあ乱数で毎回変わるが…
t-SNEはパラメータを選ばないとだめ、ということらしいので変えてみる(コードのコメント部分)。
これならまあなんとか。でもパラメータ変えると何とでもなりそう。UMAPのほうが何も考えなくてもいい分いいかな。
« 高周波・RFニュース 2026年2月27日 MWCバルセロナ2026に合わせ各社発表(QualcommのAIネイティブ6G, KeysightとEricssonのPre6G相互運用性、ローデ・シュワルツとNVIDIAのAI-RANのデジタルツイン, Intelなど)、Samsung Galaxy S26はQualcomm Snapdragon 8 Elite Gen 5採用 | トップページ | 木挽町のあだ討ちを観てきた。面白かった!本当に「木挽町のあだ討ち」だった。中盤まででこんな裏側かな?と思っていたらまだその上の話があって確かにミステリ。真相がわかった後の再現は同じところで皆笑ってカメ止めを思い出した。あと食べ物がとても美味しそう。 »
「パソコン・インターネット」カテゴリの記事
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/3/1-3/8(2026.03.08)
- MATLAB OnlineでAntenna ToolboxのantennaArrayDesigner機能を使って一行もスクリプトを書かずにパッチアンテナアレイを設計してSパラメータ、指向性などを計算する。1素子とちがって計算にはかなり時間がかかるのでとりあえず2素子のアレイで。(2026.03.09)
- MATLAB OnlineでAntenna ToolboxのantennaDesigner機能を使って一行もスクリプトを書かずにH型パッチアンテナ(Rogers基板)設計、Sパラメータ、インピーダンス、指向性などを計算する。最適化も実施できる。電磁界シミュレーションソフトのようだ。メッシュも確認できる。(2026.03.06)
- RF Weekly Digest (Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)のモデルをGemini 3 ProからGemini 3.1 Proにして作り直したものと3で作ったものを3.1で改善してもらったものを作る。どちらも結構いい出来だが、改善したほうがまとめられていてよさそう。(2026.03.05)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2026年3月11日 STMicroelectronicsが新UWBチップ発表、Ericssonが主導のVICTOR6G発足、Silicon LabsのBluetooth SoCがBANFのタイヤモニタリングシステムに採用、京セラが新しい差動クロック水晶発振器を発表など(2026.03.11)
- 高周波・RFニュース 2026年3月10日 IEEE Microwave MagazineはHF-VHF-UHF特集、Pythonの高周波ライブラリscikit-rfがv1.11.0に、Samsung Galaxy S26 Ultra分解動画、フジクラが4000心SWR/WTC製品化、Perasoの60GHzモジュールが軍用ドローン識別に採用など(2026.03.10)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/3/1-3/8(2026.03.08)
- MATLAB OnlineでAntenna ToolboxのantennaArrayDesigner機能を使って一行もスクリプトを書かずにパッチアンテナアレイを設計してSパラメータ、指向性などを計算する。1素子とちがって計算にはかなり時間がかかるのでとりあえず2素子のアレイで。(2026.03.09)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年3月11日 STMicroelectronicsが新UWBチップ発表、Ericssonが主導のVICTOR6G発足、Silicon LabsのBluetooth SoCがBANFのタイヤモニタリングシステムに採用、京セラが新しい差動クロック水晶発振器を発表など(2026.03.11)
- 高周波・RFニュース 2026年3月10日 IEEE Microwave MagazineはHF-VHF-UHF特集、Pythonの高周波ライブラリscikit-rfがv1.11.0に、Samsung Galaxy S26 Ultra分解動画、フジクラが4000心SWR/WTC製品化、Perasoの60GHzモジュールが軍用ドローン識別に採用など(2026.03.10)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/3/1-3/8(2026.03.08)
- MATLAB OnlineでAntenna ToolboxのantennaArrayDesigner機能を使って一行もスクリプトを書かずにパッチアンテナアレイを設計してSパラメータ、指向性などを計算する。1素子とちがって計算にはかなり時間がかかるのでとりあえず2素子のアレイで。(2026.03.09)
« 高周波・RFニュース 2026年2月27日 MWCバルセロナ2026に合わせ各社発表(QualcommのAIネイティブ6G, KeysightとEricssonのPre6G相互運用性、ローデ・シュワルツとNVIDIAのAI-RANのデジタルツイン, Intelなど)、Samsung Galaxy S26はQualcomm Snapdragon 8 Elite Gen 5採用 | トップページ | 木挽町のあだ討ちを観てきた。面白かった!本当に「木挽町のあだ討ち」だった。中盤まででこんな裏側かな?と思っていたらまだその上の話があって確かにミステリ。真相がわかった後の再現は同じところで皆笑ってカメ止めを思い出した。あと食べ物がとても美味しそう。 »





コメント