Сравнение алгоритмов обнаружения рака молочной железы с использованием логистической регрессии (LR) и искусственных нейронных сетей (ANN)

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

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

  1. Сравнение производительности логистической регрессии с несколькими сверточными нейронными сетями с различными гиперпараметрами.
  2. Производительность модели логистической регрессии: что такое точность и полнота? Насколько хорошо модель логистической регрессии справляется с точностью и полнотой?
  3. Производительность модели ANN: насколько хороша каждая модель с точки зрения точности по сравнению с количеством эпох?
  4. Сравнение всех моделей кривых точности-отзыва для определения общей производительности.

Используемый набор данных общедоступен через репозиторий машинного обучения Калифорнийского университета в Ирвине (UCI), собранный у 699 анонимных пациентов из диагностической базы данных рака молочной железы Висконсина, и был получен из больниц Университета Висконсина, Мэдисон, от доктора Уильяма Х. Вольберг.

Исследовательский анализ данных

Набор данных имеет 11 переменных (2 категориальных, 9 числовых) для каждого пациента. Две категориальные переменные: код образца и класс.

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

Давайте сначала исследуем общее распределение данных входных числовых переменных.

Столбец Класс — это наши значения истинности, т. е. значение 2 обозначает доброкачественную опухоль, а значение 4 — злокачественную опухоль. Но каково распределение доброкачественных и злокачественных опухолей в нашем наборе данных?

Примерно 2/3 нашего набора данных содержат доброкачественные случаи, а 1/3 — злокачественные. Это хорошее распределение для прогнозирования, поскольку наш набор данных не слишком сильно искажен в пользу любого случая.

Но как приведенное выше распределение классов соотносится с распределением входных данных? Ниже показаны гистограммы для всех 9 входных числовых переменных.

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

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

Каждый из 3 графиков выше имеет 2 входные переменные с самыми высокими средними различиями между доброкачественными и злокачественными опухолями. Обратите внимание, что существует линейное разделение между опухолями, которое в значительной степени отделяет злокачественные опухоли от доброкачественных. Другими словами, набор данных является линейно разделимым, если можно провести прямую линию, разделяющую классы (как показано выше). Это свойство делает этот набор данных идеальным кандидатом для логистической регрессии (объяснено в следующем разделе). Мы также видим четкую корреляцию: чем выше значение входной переменной, тем выше корреляция со злокачественностью опухоли. Но есть ли корреляция между самими входными переменными?

Чтобы ответить на этот вопрос, корреляционная матрица показана ниже.

Значения корреляции (Пирсона) между всеми возможными парами входных переменных показаны выше. Корреляция — это статистическая мера силы линейной связи между двумя переменными. Значения варьируются от -1 до 1 включительно, где -1 обозначает отрицательную корреляцию (если одна переменная увеличивается, другая уменьшается), 0 обозначает отсутствие связи, а +1 обозначает положительную корреляцию (если одна переменная увеличивается, другая увеличивается). . Обратите внимание, что все диагональные элементы имеют корреляцию +1, поскольку корреляция переменной с самой собой приводит к идеальной корреляции.

Обратите внимание, что самая высокая корреляция (0,91) имела место между однородностью формы клеток и однородностью размера ячеек. Если сравнить их гистограммы друг с другом, то можно увидеть, что они наиболее похожи среди всех распределений числовых переменных, а также имеют сходные средние значения как для доброкачественных, так и для злокачественных заболеваний (они различаются в пределах десятых долей для доброкачественных случаев, сотых для злокачественных). случаи). Учитывая это, совсем неудивительно, что эти две переменные оказались сильно коррелированы.

Логистическая регрессия и искусственные нейронные сети (ИНС)

Логистическая регрессия

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

В отличие от моделей линейной регрессии, которые создают линии наилучшего соответствия на основе минимизации разницы квадратов ошибок между прогнозируемыми и обучающими значениями, в моделях логистической регрессии используется сигмоидальная функция (определенная ниже), так что выход линейной функции hᵩ(x) находится между 0 и 1 включительно. То есть — учитывая нашу гипотезу hᵩ(x), 0 ≤ hᵩ(x) ≤ 1.

Сигмовидная функция и график показаны ниже:

Гипотеза линейной регрессии hᵩ(x) определяется как:

hᵩ(X) = Φ’X = Φ₀ + Φ₁x₁ + Φ₂x₂ + Φ₃x₃ + … (Eq. 1)

После применения сигмовидной функции:

Z = Φ’X

hᵩ(X) = сигмоид(Z)

hᵩ(X) = 1 / (1 + e^(-z))

hᵩ(X) = 1 / (1 + e ^ (-Φ’X)) (Eq. 2)

Наш прогноз линейной регрессии (ŷ) для 0 или 1 будет следующим:

ŷ = 1, if h(X) > 0.5

ŷ = 0, if h(X) < 0.5

Искусственные нейронные сети (ИНС)

И искусственные нейронные сети, и модели логистической регрессии основаны на концепции, известной как персептрон. Рассмотрим персептрон, показанный ниже:

Показанный выше персептрон имеет 3 входа (x₁, x₂, x₃) в нейрон, который имеет 1 выход (хотя в общем случае нейрон может иметь nколичество входов). Выход определяется как линейная комбинация входов, умноженная на W.

Выход = w₁*x₁ + w₂*x₂ + w₃*x₃, (для n = 3)

Предсказание персептроном проблемы бинарной классификации основано на том, выше или ниже порога выходные данные. (Обратите внимание, что в нашем разделе о логистической регрессии выше мы выбрали пороговое значение 0,5, но можно выбрать любое пороговое значение.)

Прогноз будет равен 0, если выходные данные больше порогового значения, и 1, если выходные данные ниже порогового значения. Это показано ниже:

Можно видеть, что логистическая регрессия аналогична персептрону, но с сигмовидной функцией, применяемой к гипотезе линейной регрессии. Но многие отношения и данные в реальном мире не всегда следуют линейным отношениям. Можем ли мы адаптировать идею персептрона для улавливания нелинейностей?

Здесь в игру вступают искусственные нейронные сети (ИНС). ИНС состоит из множества слоев, каждый из которых состоит из множества нейронов. Благодаря этой архитектуре ИНС имеют возможность изучать и моделировать сложные (нелинейные) отношения в данных.

Приведенная выше ИНС показывает, что информация течет только в одном направлении, слева направо. Входными данными являются переменные X слева. В нашем наборе данных входными данными являются 9 входных переменных (X₁, X₂,…, X₉). Входной слой является пассивным, поскольку он не изменяет данные, а просто передает ввод следующему слою (скрытому слою).

Скрытый слой умножает каждую переменную на вес W, выполняет суммирование и применяет функцию активации. На рисунке выше показана сигмовидная функция активации после операции суммирования.Функции активации в нейронной сети необходимы для учета возможных нелинейных взаимосвязей в данных. Без нелинейности наша модель пыталась бы соответствовать прямой линии наилучшего соответствия. В более сложных наборах данных это не даст точных прогнозов для данных с нелинейными отношениями. Обратите внимание, что в нашей ИНС мы использовали функцию активации ReLU (выпрямленная линейная единица, показанная ниже) для скрытых слоев и сигмовидную функцию активации для двоичных вероятностей в выходном слое (как показано выше).

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

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

Ошибка = (ŷ — y)², где ŷ = W*x + b (уравнение 3)

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

  1. Прямое распространение

Произвольно инициализируйте параметры W и b (в большинстве случаев b обычно устанавливается равным 0, поскольку b — это просто постоянное смещение). Вперед распространяйте условия, используя прямой путь (слева направо, как показано на рис. 9), и вычисляйте ошибки, используя функцию ошибки (уравнение 3), приведенную выше.

2. Обратное распространение

Обратно распространите и обновите параметры (W, b), используя приведенные ниже уравнения, где α = скорость обучения:

w* = w— α*(первая производная функции потерь по w)

b* = b - α*(первая производная функции потерь по w)

Скорость обучения α можно интуитивно рассматривать как размер обновления для параметра w. Обновление параметров w и b выше основано на выпуклости функции ошибки и исчислении, которое говорит нам, что первая производная функции равна 0 в минимуме. Поскольку функция ошибок выпукла, мы знаем, что существует глобальный минимум. Мы повторяем процесс обновления до тех пор, пока не будет достигнута сходимость, обеспечивающая минимальную ошибку.

Вышеупомянутое используется в искусственных нейронных сетях, с той разницей, что есть много слоев, где происходит прямое и обратное распространение, и есть функции активации. Для каждого слоя выполняется описанное выше и повторяется до сходимости. Каждый прогон нейронной сети — это эпоха. Обратите внимание, что выбор скорости обучения α может повлиять на сходимость, потому что возможно, что если скорость обучения α слишком высока, шаг обучения может прыгать вперед и назад по глобальному минимуму. С другой стороны, если α слишком мало, для достижения глобального минимума может потребоваться некоторое время. Поскольку скорость обучения определяется пользователем и может влиять на производительность модели, она считается гиперпараметром. Другие гиперпараметры, которые можно выбрать, обсуждаются ниже.

Гиперпараметры нейронной сети, которые следует учитывать:

  1. Количество нейронов в каждом слое — сколько нейронов будет на входном, скрытом(ых) слоях, выходном слое?
  2. Количество скрытых слоев — сколько слоев у вас будет между входным и выходным слоями?
  3. Функция активации — какую функцию активации вы будете использовать для скрытых слоев и выходного слоя?
  4. Эпохи — сколько эпох вы будете использовать для обучения своего тренировочного набора?
  5. Скорость обучения (α) – размер шага обучения (рассмотрено выше).
  6. Размер тренировочного набора и размер тестового набора — (обсуждается ниже)
  7. Показатель отсева — гиперпараметр, используемый для предотвращения переобучения. Какой процент нейронов будет выброшен для каждого слоя?
  8. Регуляризация — гиперпараметр, также используемый для предотвращения переобучения. Регуляризация уменьшает веса до 0, чтобы избежать переобучения в более сложную модель во время обучения модели.

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

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

Поскольку мы тренируемся в контролируемой среде обучения, можно использовать функцию ошибок. Функция ошибки реализована только на нашем обучающем наборе, поэтому нейронная сеть может вычислить ошибку (поскольку дано истинное значение) и обновить параметры. Данные в нашем наборе данных, которые не используются для обучения, называются нашим тестовым набором. Тестовый набор представляет собой невидимые данные и используется для проверки того, как наша нейронная сеть будет работать с новыми данными, т. Е. Наша модель не знает истинных значений. Сравнение предсказаний модели на нашем тестовом наборе с предсказаниями истинности дает нам точность модели. Точность модели будет показателем оценки при сравнении производительности наших нейронных сетей друг с другом. Для наших тестов мы использовали 90% данных в качестве наших обучающих данных, 10% в качестве тестовых данных.

Точность и полнота

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

Точность = истинные положительные результаты / (истинные положительные результаты + ложные положительные результаты) (уравнение 4)

Отзыв = истинные положительные результаты / (истинные положительные результаты + ложноотрицательные результаты) (уравнение 5)

Но что на самом деле означают приведенные выше уравнения? Графическое представление точности и отзыва показано ниже:

Precision отвечает на вопрос «Сколько из всех пациентов, у которых прогнозировался рак, у скольких он был на самом деле?».

Recall отвечает на вопрос «Сколько из всех пациентов, у которых действительно был рак, по прогнозам, были больны раком?».

В контексте обнаружения рака молочной железы (и медицинских состояний в целом) ложноотрицательный результат имеет гораздо большее значение, чем ложноположительный результат. Ложноотрицательный результат будет означать, что мы диагностировали у пациента нет рака, хотя на самом деле он есть! Это потенциально может привести к отсутствию дальнейшего тестирования и лечения, пока рак распространяется. С другой стороны, ложноположительный результат будет означать, что мы диагностируем у пациента рак, хотя на самом деле его нет. Дальнейшее тестирование может выявить правду о том, что у пациента нет рака. Из-за этого в данном случае полнота является более важной метрикой, чем точность. Но важно помнить, что важность полноты по сравнению с точностью зависит от контекста.

Производительность модели логистической регрессии и веса

Из уравнений 4 и 5 выше, чем меньше ложных срабатываний, тем выше точность. Чем меньше ложноотрицательных результатов, тем выше отзыв. Если нет ложноположительных или ложноотрицательных результатов (все прогнозы модели верны), то точность = полнота = 1. Этого очень трудно достичь с реальными данными, и существует компромисс между точностью и полнотой, т. е. увеличение единицы уменьшает другой. Чем ближе точность и полнота ближе к 1, тем лучше производительность модели. Ниже показана матрица точности и отзыва, а также матрица путаницы нашей модели логистической регрессии:

Обратите внимание, что тестируется только 43+3+2+22 = 70 случаев, а не исходные 699 случаев. Это связано с тем, что мы взяли 10% нашего набора данных (70 случаев) в качестве тестового набора и обучили наш алгоритм логистической регрессии на оставшихся 90% (629 случаев). Приведенные выше 70 случаев являются новыми тестами для нашего алгоритма и были ранее неизвестными данными.

Выше я выделил зеленым цветом точность и количество отзывов для доброкачественных (0) и злокачественных (1) случаев. Чтобы проверить, точность злокачественных новообразований = 22 / (22+3) = 0,88, отзыв злокачественных новообразований = 22 / (22+2) = 0,92 (аналогичная процедура для доброкачественных случаев). Это точность и производительность отзыва при пороговом значении по умолчанию 0,5, используемом при определении выходных данных (см. рис. 8 для справки). Хотя это полезная информация для порога по умолчанию, что, если мы хотим узнать компромисс между точностью и полнотой для всех пороговых значений? Здесь в игру вступают кривые точного отзыва.

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

Обратите внимание, что кривая точности-отзыва имеет ожидаемую форму высокой точности, низкой полноты в верхнем левом углу и постепенно уменьшается до низкой точности, высокой полноты в правом нижнем углу. На этом графике учитываются все пороговые значения, определяющие выходной прогноз. Точка безубыточности — это точка, в которой точность = отзыв. Увеличение площади под кривой точности-отзыва (что эквивалентно более высокой точке безубыточности) означает более высокую точность и полноту, что означает более высокую производительность модели. Могут ли наши нейронные сети сделать это? В следующем разделе мы узнаем!

В сторону о логистической регрессии

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

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

Производительность модели ANN

Наши модели нейронных сетей работают лучше наших моделей логистической регрессии? Или, если быть точным с математической точки зрения, имеют ли наши модели нейронных сетей более высокие точки безубыточности или они «выдвигают» кривые точности-отзыва так, что площадь под кривой увеличивается?

Начнем с определения гиперпараметров, используемых для модели нейронной сети 1. Они приведены ниже.

Наша функция активации для скрытых слоев — это ReLU с сигмоидой в нашем выходном слое. Сигмовидная функция выводит 2 вероятности: вероятность доброкачественности опухоли и вероятность злокачественности опухоли. Окончательный прогноз, сделанный алгоритмом, имеет более высокую вероятность. Мы использовали коэффициент отсева 20% для первого скрытого слоя и коэффициент отсева 10% для второго скрытого слоя, при этом скорость обучения α была установлена ​​​​на значение по умолчанию. Регуляризация не использовалась. Давайте оценим точность модели на наших обучающих и тестовых наборах более 400 эпох. Это показано ниже:

Возникает интересное поведение. Синяя линия — это наш тренировочный набор, оранжевая линия — наш тестовый набор. Точность тренировочного набора очень высока (почти 100%!) на нашем тренировочном наборе, в то время как точность нашего тестового набора составляет 92,8%. Это пример переоснащения. Хотя наша нейронная модель хорошо показала себя на нашем тренировочном наборе, переобучение нежелательно, потому что мы можем развертывать модели нейронных сетей в средах, где мы не всегда можем знать истинное значение. Нам нужна уверенность в предсказаниях нашей модели. Обратитесь к приведенной ниже диаграмме, показывающей 3 возможных случая соответствия модели в случаях классификации.

Крайний левый график показывает, где мы слишком тонко настроили нашу модель, чтобы разделить два класса. Эта модель не будет достаточно гибкой для точного прогнозирования новых данных. Крайний правый график представляет собой упрощение двух классов. В синей области слишком много оранжевых точек. Средний график, хотя и допускает некоторое межклассовое смешение, позволяет модели хорошо обобщать новые данные, чтобы повысить точность (примечание: приведенные выше графики являются двумерными в иллюстративных целях, чтобы показать границу классификации. На практике граница классификации n-мерный (где n≥3) и не может быть показан явно).

Мы видим, что наша модель хорошо обучена нашим тренировочным данным, поскольку наша точность близка к 100%. Как показано на рис. 20, может существовать компромисс, когда снижение производительности обучающей выборки может привести к увеличению производительности тестовой выборки.

Как объяснялось в нашем разделе о нейронных сетях, существует множество методов уменьшения переобучения. Эти изменения гиперпараметров реализованы в модели нейронной сети 2. Они приведены ниже:

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

Точность обучения снизилась с менее чем 100% по сравнению с моделью нейронной сети 1, но посмотрите на точность набора тестов. Мы добились увеличения производительности до 94,3% точности!

Несмотря на то, что точность нашего тестового набора повысилась до 94,3%, еще есть возможности для повышения процентной точности. Существует множество способов повысить нашу точность, и большинство из них связаны с гиперпараметрами нейронной сети. Возможные способы повышения точности обсуждаются ниже:

  • Скорость обучения (α) — см. график ниже, где мы построили функцию стоимости в зависимости от параметров θ (w, b). Помните, что наши параметры инициализируются случайным образом, поэтому наша начальная точка на рисунке 23 выбирается случайным образом. Чем меньше α, тем меньше размер шага. Наше значение α может быть слишком маленьким, и мы можем слишком медленно приближаться к глобальному минимуму. Это происходит в правой части сюжета. В конце концов мы можем достичь глобального минимума, но количество эпох будет очень велико. Если мы установим слишком малое количество эпох, мы можем остановить обучение до достижения глобального минимума, что приведет к снижению точности нашего тестового набора. С другой стороны, если наше α слишком велико, мы можем сделать слишком большой шаг во время обучения и сойтись на локальном минимуме. Это видно в левой части графика. Поскольку мы сошлись на локальном минимуме, параметры нашей модели будут менее оптимизированы, чем если бы мы сошлись на глобальном минимуме. В конце концов, α не должно быть слишком большим, чтобы сходиться к локальному минимуму, но и не слишком маленьким, чтобы никогда не достичь глобального минимума.

  • Сетевая архитектура. Если мы сравним сетевую архитектуру двух наших моделей нейронных сетей, мы увидим, что наша вторая модель имеет больше скрытых слоев и нейронов, чем первая модель. Не существует жесткого и быстрого правила, для которого архитектура даст наилучшую точность, т. е. нужно испытать, какие сетевые архитектуры работают лучше, методом проб и ошибок. Альтернативным и популярным методом является использование существующих общедоступных проверенных сетевых архитектур (например, LeNet5, VGGNet, ResNet) и их адаптация к вашему проекту.
  • Количество эпох и размер набора данных. Можно также повысить точность, работая с самими данными, т. Е. Собрав больше обучающих данных для обучения модели и увеличив количество эпох. Минусы этого подхода в том, что новые данные могут быть недоступны, а увеличение количества эпох происходит за счет увеличения времени обучения и увеличения вычислительных ресурсов.

В заключение сравним все 3 модели.

Сравнение всех моделей с использованием кривых Precision-Recall и точки безубыточности

В предыдущем разделе о моделях нейронных сетей мы видели, что модель 2 показала лучшие результаты по точности набора тестов по сравнению с моделью 1. Но как все 3 модели (логистическая регрессия, модель нейронной сети 1, модель нейронной сети 2) сравниваются друг с другом?

Вспомним из раздела «точность-отзыв», что чем дальше мы сдвигаем кривую «точность-отзыв», тем выше площадь и, следовательно, более производительная модель (поскольку модель имеет более высокие значения точности и полноты по отношению к заданному порогу). Ниже приведен график всех трех кривых точного отзыва.

Черная пунктирная линия показывает, где точность = отзыв, а красные кружки показывают точки безубыточности (где кривые точности-отзыва пересекаются с черной пунктирной линией). Точки безубыточности указаны ниже.

Эмпирическое правило заключается в том, что чем выше точка безубыточности, чем больше кривая точности-отзыва сдвинута в верхний правый угол, тем выше производительность модели. Из графиков и таблицы выше видно, что логистическая регрессия и модель нейронной сети 2 работают лучше, чем модель нейронной сети 1. Но означает ли это, что логистическая регрессия и модель нейронной сети 2 имеют одинаковую производительность?

Несмотря на то, что они имеют одинаковую точку безубыточности, мы можем видеть на рисунке 23, что кривая точности-отзыва для модели 2 (сплошная зеленая линия) в целом выше, чем для модели логистической регрессии (пунктирная оранжевая линия). Это означает, что модель нейронной сети 2 имеет лучшую общую производительность. И это имеет смысл, если мы сравним рисунок 5 и рисунок 20. Хотя набор данных в значительной степени линейно разделим, он не является строго линейно разделимым. Модель нейронной сети способна фиксировать небольшие нелинейные изменения границы классификации, что приводит к более высокой точности и полноте за счет увеличения сложности системы и вычислительных ресурсов.

Ключевые выводы

  1. Науку о данных следует рассматривать как инструмент, позволяющий лучше понять предмет. Вот почему экспертные знания в предметной области всегда будут желательны в любом приложении по науке о данных. Например, мы увидели высокую корреляцию между входными данными «Однородность формы ячейки» и «Однородность размера ячейки». Имеет ли это смысл, или наши данные могут быть повреждены? Эксперт в предметной области (SME) может помочь выбрать входную переменную и проверить достоверность данных и должен участвовать в каждом приложении по науке о данных.
  2. Линейная регрессия не требует больших вычислительных мощностей и хорошо работает в случаях, когда набор данных является линейно разделимым. Этот алгоритм не будет работать в наборах данных, которые не являются линейно разделимыми. Кроме того, линейная регрессия может указать, какие входные факторы приводят к наибольшей классификации, давая указания, какие переменные следует исследовать.
  3. ИНС могут фиксировать нелинейные отношения в наборе данных из-за функций активации, но существует опасность переобучения обучающему набору. Переобучение приведет к снижению производительности в тестовом наборе. В нашем примере эффекты переобучения были настолько пагубными, что более простой алгоритм логистической регрессии работал лучше, используя меньше вычислительных ресурсов.
  4. Гиперпараметры нейронной сети могут сильно повлиять на производительность ИНС. Выяснение оптимальных гиперпараметров обычно осуществляется путем проб и ошибок, но существуют существующие алгоритмы, которые могут ускорить поиск оптимальных гиперпараметров.
  5. Точность и полнота измеряют разные характеристики модели. Повышение точности приводит к уменьшению отзыва и наоборот. Знание того, какой из них является приоритетным, зависит от контекста, и именно поэтому эксперты в предметной области очень важны при применении науки о данных в любой отрасли.
  6. Точка безубыточности, равная 1, означает, что модель сделала идеальные прогнозы как по точности, так и по полноте. Чем ближе к 1 точка безубыточности для кривой точности-отзыва модели, тем лучше производительность модели. Хотя точки безубыточности между двумя моделями могут быть одинаковыми, это не обязательно означает, что две модели имеют одинаковую общую производительность. Более тщательное исследование кривой точности-отзыва по всем пороговым значениям дает более полную картину.
  7. Модели логистической регрессии могут работать так же хорошо, если не лучше, чем более сложные модели нейронных сетей. Это зависит от отношений в наборе данных. В этом случае наш исследовательский анализ данных показал, что данные в целом линейно разделимы, поэтому ожидалось, что логистическая регрессия будет работать хорошо. Если бы это было не так, мы бы увидели большую разницу в производительности между нейронными сетями и логистической регрессией.

Дополнительные вопросы:

  1. Из-за высокой корреляции (0,91) между переменными «Однородность формы ячейки» и «Однородность размера ячейки», использование обеих переменных в качестве входных данных может быть излишним. Могли бы мы добиться аналогичной производительности, используя любую из переменных в наших моделях нейронных сетей? Наш набор данных относительно невелик, но если бы у нас были ограниченные вычислительные ресурсы и большой набор данных, это могло бы быть желательным с точки зрения затрат/выгод.
  2. Как мы можем улучшить производительность модели? Какие существуют алгоритмы, облегчающие поиск оптимальных значений гиперпараметров?
  3. Существуют ли какие-либо другие гиперпараметры, которые используются в нейронных сетях?
  4. Какие другие функции активации используются помимо функции активации ReLU? И какие функции активации лучше всего подходят для каких ситуаций?
  5. Мой проект следовал общепринятой в литературе практике использования 90 % обучающих данных и 10 % для тестовых данных. Что произойдет вместо этого, если мы используем 50% для обучающих данных и 50% для тестовых данных? Как это разделение обучения и тестирования повлияет на наши выводы о производительности модели? Было бы лучше использовать разделение 50/50 для большего набора данных, состоящего из тысяч точек данных?

Рекомендации

Я хотел бы поблагодарить следующие ресурсы за помощь в подготовке этого поста.