Прогнозирование с жестким ограничением не удалось во время обучения данных с жестко ограниченными целевыми значениями для контролируемого изучения иврита - PullRequest
0 голосов
/ 21 февраля 2020

Вариант алгоритма - алгоритм Дельта / Уидроу-Хоффа. Тренер не получает желаемых весов, когда прогнозирование жестко ограничено

    for _ in range(num_epochs=200):
        if(learning == "delta"):
            a = self.predict(X) // Predict gives output that is hard limited

        for i in range(0,X.shape[1],batch_size):
            start and end identified according to batch size
            x = np.dot(y[:,start:end]-a[:,start:end],np.linalg.pinv(X[:,start:end]))
            self.set_weights(self.weights + alpha*x)

Тестирование Я создал набор данных, рандомизированные веса, создал выходные данные из веса, и использовали те же выходные данные и оригинал, чтобы получить обратно веса = случайные веса

количество эпох = 200 batch_size = 10 dataset_length = 100

Лучший результат, который я смог построить, был равен 0,2 % on np.testing.assert_array_almost_equal () функция, получая в результате линейного преобразования в отличие от жесткого ограничения в поезде. Вне поезда я снова и снова буду жестко ограничивать.

Запуск одного и того же кода в линейном преобразовании повсюду, начиная с получения выходных данных для рандомизированных весовых коэффициентов и прогнозирования весовых коэффициентов на основе входных и сгенерированных выходных данных. Дает мне очень точные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...