извлечение функции активации из объекта MLPRegressor - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь уменьшить размерность, используя: https://www.cs.toronto.edu/~hinton/science.pdf

То, что это делает, - это создание автоэнкодера со средним слоем, состоящим из 2 узлов.

после тренировки, нейронная сеть «разрезается пополам», и мы просто распространяемся вперед, пока не получим 2D-данные. Мы можем подготовить это, и сделать KNN, и другие забавные вещи

Я использую sklearn, и могу пройти до обучения сети

from sklearn.neural_network import MLPRegressor
HLS = (4,2,4)
m_ann = MLPRegressor(hidden_layer_sizes=(HLS), max_iter=10**5, activation='relu')

m_ann.fit(X_train,X_train)

и я могу получить коэффициенты NN с m_ann.coefs_ и m_ann.intercepts_

Итак, я могу создать цикл, который выполняет умножение матриц вручную, сложение, затем написать свою собственную функцию relu и вызвать ее. НО я хотел бы применить любую активационную функцию, которую использует моя сеть (например, если пользователь тренируется с использованием линейной или сигмоидальной активации, я не хочу, чтобы ему приходилось менять какой-либо код)

Можно ли заставить MLPRegressor применить функцию активации к произвольным данным?

...