2022年6月号 Interface の「ゲートレベルから実装する機械学習」を試してみた その2

PennyLaneでアヤメのデータを2値分類する

機械学習でアヤメの分類を行います。

古典量子ハイブリッド

 

ステップ1:量子状態に符号化する部分を実装

古典ビットのデータを量子ビットのデータに符号化し、量子回路に入力します。

ここでは、振幅符号化を使用しています。

あやめのデータは4種類あります。

古典ビットを量子ビットに符号化する部分のコードは以下となります。

get_anglesは振幅符号化するための回転角を計算するメソッドです。

statepreparationは振幅符号化のメソッドです。

pennylaneは独自numpyを持っているため、それをimportし、使用します。

 

出力データはそれぞれ以下の内容となります。

x:入力データ

angles:符号化に利用するY回転ゲートの回転角

amplitude vector:符号化した結果

古典ビットを量子ビットに符号化

 

/* -----codeの行番号----- */