Это 4-й день моего участия в Gengwen Challenge, смотрите подробности мероприятия:Обновить вызов.
Эта статья представляет собой заметки о курсе машинного обучения г-на Ли Хунъи, портал курса?.
[Машинное обучение 2021] Прогноз количества зрителей на этом канале (Часть 2) — Введение в основные концепции глубокого обучения
Больше возможностей
В предыдущем разделе мы нашли более мощную функцию потерь Sigmoid Function, мы также можем использовать несколько функций, мы используем j для представления номера функции. Например, если необходимо учитывать первые 28 дней, j составляет от 1 до 28; если учитываются первые 56 дней, j составляет от 1 до 56. Чтобы превратиться в более гибкую функцию, вам нужно всего лишь заменить вещи в Sigmoid.
Представьте модель как вектор
Далее мы используем более интуитивный способ изобразить, что на самом деле делает эта формула. Мы учитываем только предыдущий день, предыдущие два дня и предыдущие три дня, поэтому j равно 1, 2 и 3; входные данные таковы, что x1 представляет количество зрителей в предыдущий день, а x2 и x3 представляют количество зрителей три дня назад соответственно. Из приведенной выше формулы видно, что каждый i представляет синюю функцию, то есть сигмовидную функцию.
Для этого за предыдущий день, т.е.j = 1
, формула в сигмовидных скобках может быть выражена как
Таким же образом могут быть выражены предыдущие два дня и предыдущие три дня.Для простоты мы представим числа в скобках более простым обозначением, обозначенным как r1, r2 и r3 соответственно. На данный момент обнаружено, что относительно простой и краткий метод записи может быть записан путем умножения матрицы на вектор. Умножьте x1, x2, x3 на разные веса, плюс разные смещения, то есть разные b получат разные r, мы можем снова упростить это, упростить до умножения матрицы и вектора, сложить вместе x1, x2, x3 вместе, это становится вектором x, складываем все w вместе в матрицу w, складываем b1, b2, b3 в вектор b, складываем r1, r2, r3 в вектор r, То есть можно получить третью, более лаконичную формулу .
Теперь все, что должна делать наша сигмовидная функция, можно упростить следующим образом. Нужно выразить r1, r2 и r3 с помощью сигмовидной функции соответственно, а затем получить a1, a2 и a3.
Затем выходные данные сигмоида умножаются на ci, а затем добавляются к b, чтобы получить окончательную функцию модели. Здесь следует отметить, что мы записываем c1, c2 и c3 вместе, чтобы вызвать вектор c. Чтобы умножить матрицу a, необходимо транспонировать вектор c. Здесь матрица 1x3 c транспонируется в c, и затем суммировать Умножьте матрицу 3x1 a.
На этом этапе давайте разберемся и получим окончательную формулу, представленную вектором.
Примечание:
x представляет функцию, то есть количество зрителей в предыдущий день, первые два дня, первые три дня и первые j дней в примере;
w, зеленый фон b, c, серый фон b — неизвестные параметры.
новая трилогия
Далее мы пересмотрим машинное обучение трилогии.
1. Найдите функцию
Мы выпрямляем все эти вещи в очень длинный вектор, вынимаем каждый столбец или каждую строку из w и складываем вместе длинный вектор, складываем вместе зеленый b, складываем вместе c и складываем вместе серый b. Вверх, этот длинный вектор равен обозначается символом θ. θ в совокупности относится ко всем нашим неизвестным параметрам. Таким образом, мы переписали первый шаг машинного обучения, то есть переопределили функцию с неизвестными параметрами.
2. Определите потери
В этой новой модели мы используем θ для представления всех неизвестных параметров, и наша функция потерь становится L (θ). Эта функция потерь должна задать вопрос, насколько плохой была бы θ, если бы она была определенным набором значений. Или насколько хорошей, метод расчета точно такой же, как и раньше, когда было всего два параметра. Сначала задайте набор значений θ, а затем введите функцию x, чтобы увидеть, какова оценка y, а затем рассчитайте разницу e между реальной меткой и всеми ошибками.Окончательная потеря.
3. Оптимизация
Следующим шагом является оптимизация.Его алгоритмом по-прежнему является градиентный спуск, который заключается в поиске набора θ.Этот θ может сделать наши потери как можно меньше.Набор θ, который может сделать потери наименьшими, называется θ.
Произвольно выберите начальное значение θ, а затем вычислите его дифференциал к L для каждого неизвестного параметра.Результатом вычисления является вектор, представленный g, называемый градиентом, который на китайском языке можно назвать вектором градиента. Этот вектор можно сократить, поместив перед буквой L перевернутый треугольник.
Далее нам нужно обновить наши параметры.Первоначально есть параметр с именем θ1, а верхний индекс 0 означает, что это начальное значение.Вычтите это θ10 из скорости обучения и умножьте его на дифференциальное значение, чтобы получить θ11, что означает, что θ1 был обновлен один раз, результат и т. д., все параметры могут быть обновлены, а векторное представление приведено ниже.
Обновите θ0 до θ1 в соответствии с градиентом, затем снова рассчитайте градиент, затем обновите θ1 до θ2 в соответствии с градиентом, снова рассчитайте градиент, чтобы обновить θ2 до θ3, и так далее. Пока Градиент, который мы не хотим делать, или вычисленный Градиент не является нулевым вектором, нет возможности обновить параметры.
Пакет и эпоха
На самом деле, когда мы делаем градиентный спуск, мы не используем все большие N фрагментов данных для расчета потерь, а случайным образом делим большие N фрагментов данных на пакеты данных, каждый из которых является пакетом.
Затем используйте только данные в одном пакете для расчета убытка, который здесь называется L1; рассчитайте градиент в соответствии с L1 и используйте этот градиент для обновления параметров; затем выберите следующий пакет для расчета L2, а затем обновите параметры; затем выполните следующий пакетный расчет L3, а затем рассчитайте градиент в соответствии с L3, чтобы обновить параметры.
Все пакеты рассчитываются один раз, называемым эпохой.Каждый параметр обновления называется обновлением.
Сбор терминов
английский | китайский язык |
---|---|
Batch | партия |
Epoch | период |