Теперь давайте протестируем нашу функцию на первом тренировочном примере, соответствующему виду крокодила, где: высота крокодила – 20, длина – 40. Не важно в чем будем измерять, в какой метрической системе. Самое близкое по условию это сантиметры. Но будем считать, что измеряем в условных единицах. Возьмём пример, где х=40
(длинна=40), и подставив в него значение нашего коэффициента А = 0,4, получим следующий результат:y =
Ax = (0,4) * (40) =16На выходе получили значение высоты y = 16
, а верный ответ y =20.Для того чтоб исправить положение и приподнять нашу линию, введем понятие ошибки Е
, с помощью следующей формулы:Е = целевое значение из таблицы – фактический результат
Следуя этой формуле:
Е = 20 – 16 = 4
Теперь давайте приподнимем нашу линию на 4 пункта выше и отобразим это на графике:
Ну и тут, как мы можем наблюдать, наша линия проходит через точку определяющую вид – крокодил, а нам надо чтобы линия лежала выше.
Решается эта проблема очень легко, давайте примем наши целевые значение чуть больше, положим высоту у = 21
, вместо у = 20. И снова пересчитаем ошибку с новыми параметрами:Е = 21 – 16 = 5
Отобразим новый результат на координатах:
В итоге имеем новую прямую с новым значением коэффициента крутизны. Найдя этот коэффициент, мы как раз и сможем построить нужную нам прямую, на всех значениях оси x (длины).
Для этого нам необходимо через наше значение ошибки Е
, найти искомое изменения коэффициента А. Чтоб это сделать, нам нужно знать, как эти две величины связаны между собой, тогда мы бы знали, как изменение одной величины влияет на другую.Начнем с линейной функции:
y
= AxОбозначим переменной T
– целевое значение (наше значение из таблицы). Если ввести в искомый коэффициент А, такую поправку как: А+А = искомое А.Тогда целевое значение можно определить, как:
T
= (А + А) хОтобразим последнее соотношение на графике:
Подставим эти значения в формулу ошибки Е = T – у
:Е = T – у = (А + А) х – Ах = Ax + (А) х – Ах = (А)х
Е = (А)х
Теперь зная, как ошибка Е
связана с А, нетрудно выяснить что:А = Е / х
Отлично! Теперь мы можем использовать ошибку Е
для изменения наклона классифицирующей линии на величину А в нужную сторону.Давайте сделаем это! При x = 40
и коэффициенте А = 0,4, ошибка E = 5, попробуем найти величину А:А
= Е/х = 5 / 40 = 0,125Обновим наше начальное значение А
:А = А+
А = 0,4 +0,125 = 0,525Получается новое, улучшенное, значение коэффициента А = 0,525
. Можно проверить это утверждение, найдя расчетное значение у с новыми параметрами:y
= А х = 0,525 * 40 = 21В точку!
Теперь давайте узнаем на сколько надо изменить коэффициент А
, чтоб найти верный ответ, для второй выборки из таблицы видов – жираф.Целевые значения жирафа – высота y = 40
, длина x = 20. Для того чтобы, разделительная линия не проходила через точку с параметрами жирафа, нам необходимо уменьшить целевое значение на единицу – y = 39.Подставляем x = 20
в линейную функцию, в которой теперь используется обновленное значение А=0,525:у =
Ax = 0,525 * 20 = 10,5Значение – у = 10,5
, далеко от значения y = 39.Ну и давайте снова предпримем все те действия, что делали для нахождения параметров разделяющей линии в первом примере, только уже для второго значения из нашей таблицы.
Е =
T – y = 39 – 10,5 = 28,5Теперь параметр А
примет следующее значение:А
= Е/х = 28,5 / 20 = 1,425Обновим коэффициент крутизны А
:А = А+
А = 0,525 +1,425 = 1,95Получим обновленный ответ:
y
= А х = 1,95 * 20 = 39То есть, при x = 20
, A = 1,95 и А = 1,425 – функция возвращает в качестве ответа значение 39, которое и является желаемым целевым значением.Представим все наши действия на графике:
Теперь мы наблюдаем, что линия разделила два вида, исходя из табличных значений. Но полученная нами разделяющая линия лежит гораздо выше её воображаемого центра, к которому мы стремимся:
Но и это легко поправимо. Мы добьемся желаемого результата сглаживая обновления, через специальный коэффициент сглаживания – L
, который часто называют как – скорость обучения.Суть идеи: что каждый раз обновляя А
, мы будем использовать лишь некоторую долю этого обновления. За счет чего, с каждым тренировочным примером, мы мелкими шагами будем двигаться в нужную нам сторону, и в конечном результате остановимся около воображаемой прямой по центру.Давайте сделаем такой перерасчет:
А
= L * (Е / X)Выберем L
=0,5 в качестве начального приближения. То есть, мы будем использовать поправку вдвое меньшей величины, чем без сглаживания.