5) Как обучить модель машинного обучения. 4 шага для начинающих в плане обучения



Обучение Модели не так просто, как выглядит. Модель помогает нам предсказать некоторый результат (y). В настоящее время у нас есть много библиотек или фреймворков, которые упрощают наш код, мы можем решить очень сложную проблему, вызвав только простую функцию. Но в бэкенде огромное количество кода. Сегодня в этой статье мы углубимся в модель, что сделает наше понимание более ясным. В простейшей модели есть 4 шага обучения

  1. Найдите результат, используя функцию f(x)
  2. найти потери (ошибка одной точки данных) и стоимость (ошибка полного набора данных)
  3. Примените Gradient Decent (или любой другой алгоритм оптимизации), чтобы получить правильные веса и минимизировать потери.
  4. Снова вычислите f (x) и повторите шаги до завершения итераций (эпох).

Так работает каждая модель. Это простые шаги, которым следует каждая модель, а остальные вещи будут зависеть от выбора в соответствии с проблемой, например, применение функций активации и т. д.

Выбор функции потерь:

Выбор функции потерь также зависит от проблемы. Например, если вы решаете такую ​​задачу, как бинарная классификация, то функция потерь BinaryCrossentropy() будет предпочтительнее, а если вы решаете задачу для прогнозирования чисел вместо категорий, тогда вы можете используйте функцию потерь MeanSquaredError(). У нас также есть другие функции потерь, но эти функции потерь являются основным типом в нейронной сети.

Формулы:

У нас также есть хорошая новость: если вы используете любую библиотеку или фреймворк, например tensor flow, вам не нужно писать код с нуля. Тензорный поток имеет встроенные функции, которые сделают это за вас в одной строке кода.

#to use Mean square error
from tensorflow.keras.losses import MeanSquaredError
# to use binary cross entropy
from tensorflow.keras.losses import BinaryCrossentropyOptimization Algorithm

Алгоритм оптимизации:

Алгоритм оптимизации помогает нам уменьшить потери и повысить точность модели. В большинстве случаев в модели обучения мы используем градиентный спуск в качестве алгоритма оптимизации. Здесь Gradient Decent использует обратное распространение (это также огромная тема, которую мы обсудим в любой другой статье) для прогнозирования правильных весов в соответствии с выходными данными. Давайте увеличим глубину градиента прилично. Мы обеспечиваем приличную скорость обучения для градиента, что помогает получить для него прыжок. Я расскажу о градиенте в любой другой статье с обратным распространением, а пока, как новичку, этого достаточно, чтобы наши концепции оставались ясными. В тензорном потоке мы используем функцию подгонки, чтобы получить правильные веса для модели.

#to use Gradient Decent with learning rate of 0.1
tf.keras.optimizers.SGD(learning_rate=0.1)

#alternative of gradient decent (passing parameter like below will be same as learning_rate=0.001)
optimizer=tf.keras.optimizers.Adam(0.001)

#here epochs are the number of iterations to get right weight.
model.fit(x,y,epochs=100) 

Функция активации

Выбор функции также зависит от проблемы. Существует несколько функций активации, но наиболее часто используемыми функциями потерь являются 3, такие как сигмоид, relu и SoftMax. Использование их указано ниже

  1. Если вы работаете с задачей бинарной классификации, то функция сигмовидная активация будет предпочтительнее.
  2. если вы используете задачу регрессии, вы можете использовать линейную функцию активации. (Здесь мы не используем никакую функцию активации, поэтому используем только формулу модели и этого достаточно).
  3. Если нам нужны положительные значения, мы используем функцию активации Relu. Мы используем это в скрытых слоях большую часть времени. Это помогает модели обучаться быстрее, чем сигмоида, с использованием скрытых слоев.
  4. Функция активации SoftMax является расширением сигмоида, если у вас есть проблема с множественной классификацией, тогда SoftMax будет предпочтительнее.

Некоторые функции активации:

Вы также можете исследовать дополнительные функции активации. На данный момент этого достаточно, и в следующих статьях мы поймем еще кое-что новое.