skqulacs.qnn.generation module#

class skqulacs.qnn.generation.QNNGeneretor(circuit: skqulacs.circuit.circuit.LearningCircuit, solver: skqulacs.qnn.solver.Solver, karnel_type: typing_extensions.Literal[gauss, exp_hamming, same], gauss_sigma: float, fitting_qubit: int)[source]#

Bases: object

quantum circuit learningを用いて生成モデルをやる

入力無し、出力される確率分布をテストデータの確率分布に近くするのが目的

入力は、データの配列.入力はビット列を2進表記することによる整数しか受け取らない。

fit_direct_distributionは、直接確率分布を入力する。

出力は、予想される確率分布を返す。

conving(data_diff: numpy.ndarray[Any, numpy.dtype[numpy.float64]]) numpy.ndarray[Any, numpy.dtype[numpy.float64]][source]#
cost_func(theta: List[float], train_scaled: numpy.ndarray[Any, numpy.dtype[numpy.float64]], _unused: List[Any] = []) numpy.ndarray[Any, numpy.dtype[numpy.float64]][source]#
fit(train_data: numpy.ndarray[Any, numpy.dtype[numpy.float64]], maxiter: Optional[int] = None) Tuple[float, List[float]][source]#
Parameters
  • train_scaled – trainの確率分布を入力

  • maxiter – scipy.optimize.minimizeのイテレーション回数

Returns

学習後のロス関数の値

Returns

学習後のパラメータthetaの値

fit_direct_distribution(train_scaled: numpy.ndarray[Any, numpy.dtype[numpy.float64]], maxiter: Optional[int] = None) Tuple[float, List[float]][source]#
predict() numpy.ndarray[Any, numpy.dtype[numpy.float64]][source]#

予想される確率分布を、np.ndarray[float]の形で返す。

Returns

Predicted distribution.

Return type

data_per