Июнь 2021 Ali Algorithm Post Interview Вопросы 6

интервью алгоритм

Это второй день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления

1. Общая функция потерь, общая функция активации, функция ELU. Вы понимаете?

Общие функции потерь: функция потерь 0-1, функция потерь абсолютного значения, логарифмическая функция потерь, квадратичная функция потерь, экспоненциальная функция потерь, функция потерь шарнира, функция потерь перекрестной энтропии и т. Д.

0-1 функция потерь

Функция потери абсолютного значения

логарифмическая функция потерь

квадрат функции потерь

Экспоненциальная функция потерь

функция потери шарнира

Функция кросс-энтропийных потерь

Общие функции активации: Sigmoid, Tanh, ReLU, Leaky ReLU.

Сигмовидная функция:

Функции:

Он может преобразовывать непрерывное действительное значение входа в выход от 0 до 1. В частности, если это очень большое отрицательное число, выход равен 0, если это очень большое положительное число, выход равен 1.

недостаток:

Недостаток 1: Градиент исчезает при обратном распространении градиента в глубокой нейронной сети Вероятность взрыва градиента очень мала, а вероятность исчезновения градиента относительно велика.

Недостаток 2: выход сигмоида не равен 0 (т.е. центрирован на нуле).

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

Тан функция:

Особенности: Решает проблему нецентрированности вывода сигмовидной функции, а скорость сходимости выше, чем у сигмовидной, однако проблема исчезновения градиента и проблема возведения в степень все еще существуют.

Функция ReLU:

Функции:

1. Функция ReLu использует порог для вывода зависимой переменной, поэтому ее вычислительная сложность будет ниже, чем у оставшихся двух функций (последние две функции являются экспоненциальными операциями).

2. Ненасыщение функции ReLu может эффективно решить проблему исчезающих градиентов и обеспечить относительно широкие границы активации.

3. Одностороннее подавление ReLU обеспечивает способность сети к разреженной экспрессии.

Ограничение ReLU: проблема гибели нейронов при его обучении.

Это связано с тем, что функция f(x)=max(0,x) приводит к тому, что отрицательный градиент устанавливается равным 0 при прохождении через блок ReLU, и после этого не активируется никакими данными, то есть градиент, протекающий через блок нейрон всегда равен 0, который не отвечает ни на какие данные. В реальном обучении, если скорость обучения установлена ​​слишком большой, необратимо погибнет более определенной доли нейронов, и градиент параметра не может быть обновлен, и весь процесс обучения завершится сбоем.

Дырявая функция ReLu:

Разница между LReLU и ReLU состоит в том, что при z

На основе этого появился параметризованный PReLU (Parametric ReLU). Основное отличие между ним и LReLU заключается в том, что частичный наклон отрицательной оси a используется в качестве обучаемого параметра в сети для обучения обратному распространению и совместной оптимизации с другими слоями сети с параметрами. В другом варианте LReLU добавлен механизм «рандомизации», а именно: в процессе обучения наклон a используется как случайная выборка, удовлетворяющая определенному распределению, которая затем фиксируется при тестировании. Random ReLU (RReLU) может в определенной степени играть роль регуляризации.

Функция ЭЛУ:

Функция ELU является улучшенной версией функции ReLU.По сравнению с функцией ReLU, когда вход отрицательный, он имеет определенный выход, и эта часть вывода также обладает определенной способностью защиты от помех. Это может устранить проблему умирания ReLU, но остаются проблемы с градиентным насыщением и экспоненциальными операциями.

2. Почему бы не использовать MSE для задач классификации, а использовать кросс-энтропию.

Основное выражение LR выглядит следующим образом:

Результат получения обновления градиентного спуска с использованием кросс-энтропии в качестве функции потерь выглядит следующим образом:

Сначала получите функцию потерь следующим образом:

Если мы используем MSE в качестве функции потерь, функция потерь и результат вывода будут следующими:

Используя функцию квадрата потерь, вы обнаружите, что скорость обновления градиента очень связана с градиентом самой функции sigmod. Градиент сигмод-функции в своей области определения не превышает 0,25. Это обучение будет очень медленным. Использование кросс-энтропии не произойдет.Его производная разница.Если ошибка большая, то обновление будет быстрее, а если ошибка маленькая, то обновление будет медленнее.Это то, что мы хотим.

При использовании сигмовидной функции в качестве вероятности положительной выборки и одновременном использовании квадрата потерь в качестве функции потерь построенная функция потерь является невыпуклой, ее непросто решить и легко получить ее локальное оптимальное решение. При использовании максимального правдоподобия целевой функцией является логарифмическая функция правдоподобия, а функция потерь — непрерывно дифференцируемая выпуклая функция высокого порядка относительно неизвестных параметров, что удобно для нахождения ее глобального оптимального решения. (О том, является ли она выпуклой функцией, получается из определения выпуклой функции. Для функции одной переменной ее производная второго порядка всегда неотрицательна. Для функции многих переменных ее матрица Гессе (The Матрица Гессе - это квадратная матрица, составленная из производных второго порядка функций многих переменных) Положительной определенности судить. Если матрица Гессе является полуположительно определенной матрицей)

3. Формула расчета F1score.

Чтобы рассчитать F1score, сначала рассчитайте Precision и Recall, формулы следующие:

4. Сравнение FM и SVM.

Самая большая разница между FM и SVM заключается в методе расчета весов при объединении признаков.

  • Перекрестные параметры бинарных признаков SVM независимы, в то время как перекрестные параметры бинарных признаков FM представляют собой два k-мерных вектора v_i, v_j, Перекрестные параметры не являются независимыми, но влияют друг на друга.
  • FM может выполнять оптимальное обучение в примитивной форме, в то время как нелинейный SVM на основе ядра обычно необходимо выполнять в двойственной форме.
  • Прогнозы модели FM не зависят от обучающих выборок, в то время как SVM связаны с частью обучающих выборок, то есть с опорными векторами.

Модель FM имеет два преимущества:

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

5. Случайность случайных лесов.

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

6. Вопрос по программированию: прыжокигра(leetcode55)

Идея: жадный алгоритм

Пройдите каждую позицию в массиве по очереди и поддерживайте самую дальнюю достижимую позицию rightMost в реальном времени.Обратите внимание, что текущая пройденная позиция i должна быть в пределах диапазона самой дальней достижимой позиции (то есть i

код показывает, как показано ниже:

class Solution:
    def canJump(self, nums: List[int]) -> bool:
        n = len(nums)
        rightMost = 0
        for i in range(n):
            if i <= rightMost:
                rightMost = max(rightMost, i + nums[i])
                if rightMost >= n-1:
                    return True
        return False

Временная сложность: O(n), где n — размер массива. Нужно только один раз получить доступ к массиву nums, всего n позиций.

Сложность пространства: O(1), дополнительные служебные данные не требуются.