Как обучить на ошибке? Здравствуйте
У меня есть 3 коэффициента. С помощью них производится вычисление одного параметра. Параметр должен стремиться к 300. В итоге я могу вычислить ошибку, на сколько не правильные коэффициенты: ошибка = 300 - парамет
Мне нужно подобрать коэффициенты с помощью машинного обучения. Сейчас сделал так, чтобы генерились данные в следующем формате:К1 К2 К3 ОШИБК
1 2 3 30
Где к1, к2 и к3 - коэффициенты.
И так 2000 строчек. Дальше я вызываю функцию, в которой генерирую новые коэффициенты на базе этой таблицы. И потом на базе этих коэффициентов опять получаю 2к данных, вызываю функцию и т.д. Таким образом произойдёт обучение, после N итераций, по сути, коэффициенты будут лучше.
В этой функции и весь вопрос - как лучше её сделать? Не знаю, что использовать даже из машинного обучения, не подскажите? Буду благодарен

21 Авг 2019 в 06:04
118 +1
0
Ответы
1

Здравствуйте! Для решения вашей задачи вы можете использовать метод градиентного спуска в машинном обучении. Этот метод позволяет оптимизировать параметры модели (в вашем случае - коэффициенты) путем минимизации ошибки.

Вы можете создать модель, которая принимает значения коэффициентов К1, К2, К3 и возвращает параметр, который должен стремиться к 300. Затем вы можете использовать функцию ошибки (например, Mean Squared Error) и градиентный спуск для обновления коэффициентов и минимизации ошибки.

Примерно так это может выглядеть на Python с использованием библиотеки TensorFlow:

import tensorflow as t
# Создание модел
model = tf.keras.Sequential(
tf.keras.layers.Dense(1, input_shape=(3,)
]
# Оптимизато
optimizer = tf.keras.optimizers.Adam(learning_rate=0.001
# Функция ошибк
def loss(target_y, predicted_y)
return tf.reduce_mean(tf.square(target_y - predicted_y)
# Обучение модел
for i in range(num_iterations)
with tf.GradientTape() as tape
predicted_y = model(X_train
current_loss = loss(y_train, predicted_y
gradients = tape.gradient(current_loss, model.trainable_variables
optimizer.apply_gradients(zip(gradients, model.trainable_variables)
# Получение коэффициенто
coefficients = model.get_weights()[0]

Обучив ваши данные с помощью этого метода, вы сможете получить оптимальные коэффициенты для вычисления параметра, который стремится к 300. Надеюсь, это поможет вам решить вашу задачу! Если у вас есть дополнительные вопросы, не стесняйтесь задавать.

20 Апр в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 581 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир