tf.contrib.kernel_methods.RandomFourierFeatureMapper
Класс, реализующий отображение случайных функций Фурье (RFFM) в TensorFlow.
tf.contrib.kernel_methods.RandomFourierFeatureMapper(
input_dim, output_dim, stddev=1.0, seed=1, name=None
)
Отображение RFFM используется для приближения гауссова (RBF) ядра:
Реализация RFFM основана на следующей статье: "Случайные функции для масштабируемых машин с ядром" Али Рахими и Бена Рехта. (ссылка: https://people.eecs.berkeley.edu/~brecht/papers/07.rah.rec.nips.pdf)
Отображение использует матрицу \(\Omega \in R^{d x D}\) и вектор смещения \(b \in R^D\), где \(d\) — размерность входа (количество входных признаков), а \(D\) — размерность выхода (то есть размерность пространства признаков, к которому отображается вход). Каждый элемент \(\Omega\) случайным образом выбирается из (масштабированного) гауссова распределения, а каждый элемент \(b\) — независимо и равномерно из [0, \(2 * \pi\)].
Для одного входного вектора признаков \(x \in R^d\) его RFFM определяется как:
где \(cos\) — поэлементная функция косинуса, а \(x, b\) представлены как строчные векторы. В упомянутой статье показано, что линейное ядро векторов, отображенных RFFM, приближает гауссово ядро исходных векторов.
| Аргументы | |
|---|---|
input_dim | Размерность (количество признаков) тензоров, которые необходимо отобразить. |
output_dim | Размерность выхода отображения. |
stddev | Стандартное отклонение гауссова ядра, которое нужно приблизить. Ошибка классификатора, обученного с помощью этого приближения, очень чувствительна к этому параметру. |
seed | Целое число, используемое для инициализации параметров (\(\Omega\) и \(b\)) отобразителя. Для воспроизводимых последовательностей при различных вызовах объекта отобразителя (например, для обеспечения согласованного отображения как при обучении, так и при оценке/выводе, если они происходят в разных вызовах), установите это значение в одно и то же целое число. |
name | Имя объекта отобразителя. |
| Атрибуты | |
|---|---|
input_dim | |
name | Возвращает имя экземпляра RandomFourierFeatureMapper. Если имя, предоставленное в конструкторе, равно |
output_dim | Возвращает размерность выхода отображения. |
Методы
map
map(
input_tensor
)
Отображает каждую строку входного тензора с использованием случайных функций Фурье.
| Аргументы | |
|---|---|
input_tensor | Tensor содержащий входные признаки. Его форма — [размер_пакета, self._input_dim]. |
| Возвращаемое значение | |
|---|---|
Tensor формы [размер_пакета, self._output_dim], содержащий отображенные с помощью RFFM признаки. |
| Исключения | |
|---|---|
InvalidShapeError | если форма input_tensor не соответствует ожидаемой размерности входа. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/kernel_methods/RandomFourierFeatureMapper