高周波エンジニアのための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採用 | トップページ | 木挽町のあだ討ちを観てきた。面白かった!本当に「木挽町のあだ討ち」だった。中盤まででこんな裏側かな?と思っていたらまだその上の話があって確かにミステリ。真相がわかった後の再現は同じところで皆笑ってカメ止めを思い出した。あと食べ物がとても美味しそう。 »
「パソコン・インターネット」カテゴリの記事
- ゼロから作るDeep Learning 6 LLM編を買った。めちゃくちゃわかりやすい。事後学習がこんなに重要とは知らなかった。KVキャッシュって何やってるか等も。Interface誌の7月号特集が作りながら学ぶTransformer/LLMなので一緒に読みながらだとより理解が深まる。(2026.06.11)
- Gemma 4 QATがOllama経由で使えるようになっていた。そこでCodex(GPT-5.5)に、これまでいまいちだったローカルLLMでRF情報一週間分まとめて日本語で要約するアプリ(gemma4-26B-A4B QAT、DuckDuckGo Search、Flask使用)を作ってもらうと相当いい出来で使えそう。(2026.06.10)
- RF Weekly Digest (Gemini 3.5 Flash・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/31-6/7(2026.06.07)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/24-5/31(2026.05.31)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2026年6月12日 アンリツがAI対応のTensor VNA発表、Qualcommが5G NR NTN解説、iFixitがTrump phoneを分解・やっぱりHTC U24 Proとほぼ同じ、6G Worldの3GPPミーティング解説記事など(2026.06.12)
- ゼロから作るDeep Learning 6 LLM編を買った。めちゃくちゃわかりやすい。事後学習がこんなに重要とは知らなかった。KVキャッシュって何やってるか等も。Interface誌の7月号特集が作りながら学ぶTransformer/LLMなので一緒に読みながらだとより理解が深まる。(2026.06.11)
- 高周波・RFニュース 2026年6月11日 QorvoがXバンドレーダ用フロントエンドモジュール発表、3GPPがRel.21のタイムライン発表、NI(Emerson)が雑音指数測定のウェビナー開催、MIPI A-PHYのSerDesが4社で相互運用性確認、Menlo Microが高信頼性ミリ波スイッチ発表など(2026.06.11)
- 高周波・RFニュース 2026年6月10日 Microwave Magazineはチューナブルフィルタ特集、Antenna and Propagation Magazineは電磁波解析パート2、Atisが北米の5G-SAホワイトペーパー発行、NXPが新1チップミリ波レーダ発表(2026.06.10)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年6月12日 アンリツがAI対応のTensor VNA発表、Qualcommが5G NR NTN解説、iFixitがTrump phoneを分解・やっぱりHTC U24 Proとほぼ同じ、6G Worldの3GPPミーティング解説記事など(2026.06.12)
- 高周波・RFニュース 2026年6月11日 QorvoがXバンドレーダ用フロントエンドモジュール発表、3GPPがRel.21のタイムライン発表、NI(Emerson)が雑音指数測定のウェビナー開催、MIPI A-PHYのSerDesが4社で相互運用性確認、Menlo Microが高信頼性ミリ波スイッチ発表など(2026.06.11)
- 高周波・RFニュース 2026年6月10日 Microwave Magazineはチューナブルフィルタ特集、Antenna and Propagation Magazineは電磁波解析パート2、Atisが北米の5G-SAホワイトペーパー発行、NXPが新1チップミリ波レーダ発表(2026.06.10)
- Gemma 4 QATがOllama経由で使えるようになっていた。そこでCodex(GPT-5.5)に、これまでいまいちだったローカルLLMでRF情報一週間分まとめて日本語で要約するアプリ(gemma4-26B-A4B QAT、DuckDuckGo Search、Flask使用)を作ってもらうと相当いい出来で使えそう。(2026.06.10)
« 高周波・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採用 | トップページ | 木挽町のあだ討ちを観てきた。面白かった!本当に「木挽町のあだ討ち」だった。中盤まででこんな裏側かな?と思っていたらまだその上の話があって確かにミステリ。真相がわかった後の再現は同じところで皆笑ってカメ止めを思い出した。あと食べ物がとても美味しそう。 »





コメント