Галерея диаграмм связей Алгоритм машинного обучения, дерево решений линейной регрессии, примечания, интеллектуальная карта для самостоятельного изучения
Алгоритм машинного обучения, линейная регрессия, количество решений, примечания, самообучение, полное совместное использование! Содержание охватывает алгоритм K-ближайшего соседа, линейную регрессию, логистическую регрессию, дерево решений, ансамблевое обучение и кластеризацию.
Отредактировано в 2023-02-25 09:44:36A segunda unidade do Curso Obrigatório de Biologia resumiu e organizou os pontos de conhecimento, abrangendo todos os conteúdos básicos, o que é muito conveniente para todos aprenderem. Adequado para revisão e visualização de exames para melhorar a eficiência do aprendizado. Apresse-se e colete-o para aprender juntos!
Este é um mapa mental sobre Extração e corrosão de mim. O conteúdo principal inclui: Corrosão de metais, Extração de metais e a série de reatividade.
Este é um mapa mental sobre Reatividade de metais. O conteúdo principal inclui: Reações de deslocamento de metais, A série de reatividade de metais.
A segunda unidade do Curso Obrigatório de Biologia resumiu e organizou os pontos de conhecimento, abrangendo todos os conteúdos básicos, o que é muito conveniente para todos aprenderem. Adequado para revisão e visualização de exames para melhorar a eficiência do aprendizado. Apresse-se e colete-o para aprender juntos!
Este é um mapa mental sobre Extração e corrosão de mim. O conteúdo principal inclui: Corrosão de metais, Extração de metais e a série de reatividade.
Este é um mapa mental sobre Reatividade de metais. O conteúdo principal inclui: Reações de deslocamento de metais, A série de reatividade de metais.
Алгоритм машинного обучения, дерево решений линейной регрессии, примечания, интеллектуальная карта для самостоятельного изучения
Алгоритм K-ближайшего соседа
Принципы алгоритмов и API
Понятие и принцип алгоритма K-ближайшего соседа
концепция
Если большинство из k наиболее похожих (т.е. ближайших соседей в пространстве признаков) выборок выборки принадлежат к определенной категории, то выборка также принадлежит этой категории.
пространство объектов
Пространство, созданное с использованием всех объектов в качестве осей координат. В пространстве объектов каждая выборка представляет собой точку.
[Ключевые моменты] Принцип и этапы реализации
1. Рассчитайте расстояние между точкой в наборе данных известной категории и текущей точкой.
2. Расположите эти расстояния в порядке возрастания.
3. Выберите k точек с наименьшим расстоянием от текущей точки.
4. Подсчитать частоту встречаемости категории, в которой расположены первые k точек (найти моду K категорий)
5. Используйте категорию режима в качестве категории текущей точки.
API алгоритма K-ближайшего соседа
Введение в Scikit-learn
Инструменты машинного обучения, реализующие многочисленные алгоритмы машинного обучения.
API
sklearn.neighbours.KNeighborsclassfier(n_neighbours)
Расчет и оптимизация алгоритма
мера расстояния
Евклидово расстояние
Манхэттенское расстояние (блочное расстояние)
Расстояние Чебышева
Расстояние Минковского (расстояние Мина)
Нормализованное евклидово расстояние
косинусное расстояние
Расстояние Хэмминга
Длины строк равны
Рассчитать расстояние веревки
Расстояние Жаккара
расстояние между двумя наборами
Расстояние Махаланобис
Влияние выбора значения K на модель
Производительность недооснащения и переоснащения
ошибка аппроксимации
Ошибка модели на обучающем наборе
ошибка оценки
Ошибка модели на тестовом наборе
Недооснащение
Ошибка аппроксимации велика, а ошибка оценки велика. Грубо говоря, модель плохо работает как на обучающем, так и на тестовом наборе.
переоснащение
Ошибка аппроксимации невелика, но ошибка оценки велика. Грубо говоря, модель хорошо работает на обучающем наборе, но не на тестовом.
Значение K слишком мало
В значительной степени подвержены влиянию выбросов
Модель сложна, обладает высокой способностью к обучению и склонна к переобучению.
Значение K слишком велико
Влияние дисбаланса выборки велико
Модель проста, имеет слабую обучаемость и склонна к недостаточной подгонке.
кд дерево
введение в дерево kd
концепция дерева
корневой узел
Узлы только с дочерними узлами и без родительских узлов
внутренний узел
Узлы, имеющие дочерние узлы и родительские узлы
листовой узел
Узлы только с родительскими узлами и без дочерних узлов
Бинарное дерево
Дерево, имеющее не более двух раздвоенных узлов.
Роль дерева kd
Сократите количество вычислений расстояния выборки и быстро найдите ближайшую соседнюю точку.
Метод построения дерева кд
1. Случайным образом выберите объект, возьмите медиану этого объекта в качестве точки разделения, чтобы разделить данные на две равные части. Выбранный объект является разделительным элементом текущего узла, а медианная точка используется в качестве текущего узла. Для этого объекта точки, меньшие, чем медиана, классифицируются как левый узел, а точки, превышающие медиану, классифицируются как правый. узел;
2. Повторите первый шаг для данных в левом и правом узле соответственно;
3. Пока все образцы не будут размещены на узле
Как найти ближайшую точку в дереве kd
1. Сравните точку запроса M с характеристиками деления и соответствующей медианой каждого узла в дереве kd и продолжайте сравнение вниз, пока не достигнете листового узла. Запишите по порядку, как узлы прошли весь процесс search_path;
2. Узел в конце search_path — N, не удаляйте N, запишите расстояние между dist=M и N, ближайшее = N;
3. Выньте узел L из конца search_path, разделяющая ось этого узла — x, вычислите расстояние a от точки M до оси x, а затем обработайте его в двух случаях:
Если a<dist, то в диапазон исследования включаются все точки в пространстве на другой стороне, разделенном узлом L и текущей ближайшей точкой, вычисляются расстояния от всех точек диапазона исследования до точки M, ближайшая точка равна найдено, и точка записывается как ближайшая. Расстояние от этой точки до M равно dist, отбрасываем узел L и шаг заканчивается;
Если a>=dist, отбрасываем узел L и шаг завершается.
4. Повторяйте шаг 3, пока search_path не станет пустым;
5. Ближайшая — это точка, ближайшая к точке поиска, а ближайшее расстояние — это расстояние.
Дело 1
Введение в API набора данных scikit-learn
sklearn небольшой набор данных
API: load_* Например: load_iris()
sklearn большой набор данных
API: fetch_* Например: fetch_20newsgroups(sub_set='train')
Описание параметра: sub_set='train' указывает тип получаемого набора данных.
Введение в возвращаемое значение набора данных sklearn
Тип данных: datasets.base.Bunch (формат словаря)
данные: массив данных объекта
цель: массив меток (целевые значения)
Feature_names: имена функций
target_names: имена тегов
keys() получает все атрибуты (поля) словаря
Нарисуйте диаграмму рассеяния данных и найдите выбросы
sns.lmplot(col1, col2, данные, оттенок, fit_reg)
Разделение набора данных
x_train, x_test, y_train, y_test = trian_test_split(x, y, test_size)
Предварительная обработка объектов с использованием sklearn
Нормализованный
Недостатки нормализации: сильное влияние выбросов
API: MinMaxScaler (диапазон_функций)
Функция: Преобразование данных в диапазон от 0 до 1.
стандартизация
API:Стандарскалар()
Функция: преобразовать данные в среднее значение = 0, стандартное значение = 1.
Предсказание видов цветка ириса
Случай 2
Перекрестная проверка и поиск по сетке
Перекрестная проверка
Разделите обучающий набор поровну на N частей, возьмите другую часть в качестве проверочного набора, а другую часть в качестве обучающего набора, обучите и проверьте производительность модели и используйте среднее значение N раз производительности модели в качестве производительности модели. модель на этом обучающем наборе.
поиск по сетке
Найдите оптимальную комбинацию гиперпараметров
API
sklearn.model_selection.GridSearchCV(оценщик, param_grid, cv)
Предсказать место регистрации в Facebook
линейная регрессия
Введение в линейную регрессию
Математическая формула (математическая модель) линейной регрессии
h(w) = w1*x1 w2*x2 w3*x3 ... wn*xn b
Понятие гиперплоскости
n-1-мерная линейная связь в n-мерном пространстве называется гиперплоскостью в n-мерном пространстве.
API
sklearn.linear_model.LinearReгрессия()
Потери и оптимизация линейной регрессии
функция потерь
1. Функция потерь является функцией обучаемых параметров.
2. Чем меньше значение функции потерь, тем ближе прогнозируемое значение модели к истинному значению.
Метод оптимизации линейной регрессии
нормальное уравнение
Рассчитать оптимальные параметры напрямую
ПРИМЕЧАНИЕ. Применимо только к моделям линейной регрессии с потерей метода наименьших квадратов.
метод градиентного спуска
Постоянно перебирайте градиенты, чтобы найти оптимальные обучаемые параметры.
Общие методы оптимизации
Функция потерь Градиентный спуск — наиболее распространенный метод оптимизации модели.
метод градиентного спуска
Алгоритм полного градиентного спуска (FG)
Алгоритм стохастического градиентного спуска (SG)
Алгоритм стохастического среднего градиентного спуска (SAG)
Алгоритм мини-пакетного градиентного спуска (мини-пакет)
Прогноз цен на дом Кейс-Бостон
API оценки производительности регрессии: sklearn.metrics.mean_squared_error(y_true, y_pred)
API линейной регрессии для оптимизации нормальных уравнений: sklearn.linear_model.LinearRegrade()
Оптимизация линейной регрессии со стохастическим градиентным спуском: sklearn.linear_model.SGDRegressor()
Переоснащение и недостаточное оснащение
Недооснащение
Определение: модель плохо работает как на обучающем, так и на тестовом наборе.
Решение: увеличить сложность модели.
Увеличение количества характеристик данных
Добавить полиномиальные члены
переоснащение
Определение: модель хорошо работает на обучающем наборе, но не очень хорошо на тестовом наборе.
Решение: уменьшить сложность модели.
Очистите данные еще раз
Увеличьте объем обучающих данных
Регуляризация
Регуляризация L1: вы можете сделать некоторые значения W сразу равными 0, устранив влияние этой функции. Может использоваться для выбора функций.
Регуляризация L2: она может сделать некоторые W очень маленькими и близкими к 0, ослабляя влияние определенной функции.
Уменьшите количество функций
регуляризованная линейная модель
регрессия гребня
Линейная регрессия, регуляризация L2
Лассо возвращается
Регуляризация линейной регрессии L1
эластичная сеть
Линейная регрессия L1 L2
регрессия гребня
Линейная регрессия с регуляризацией L2
API: Ридж (альфа)
Сохранение и загрузка моделей
Сохраните: joblib.dump(оценщик, путь)
Загрузка: joblib.load(путь)
логистическая регрессия
Принципы логистической регрессии
Математическая модель: функция активации линейной регрессии (сигмовидная)
Роль функции активации: повышение способности нелинейной аппроксимации модели.
Функция потерь: потеря логарифмического правдоподобия
Метод оптимизации: градиентный спуск
API: sklearn.linear_model.LogisticRegrade()
Как оценивать модели классификации
API отчета об оценке классификации: классификация_report(y_true, y_pred, label, target_names)
ROC-кривая
ТПР = ТП / (ТП ФН)
ФПР = ФП / (ФП ТН)
Отрегулируйте порог, чтобы получить несколько точек (FPR, TPR) и нарисовать кривую ROC.
Индикатор AUC
Значение: случайным образом выберите пару положительных и отрицательных образцов, вероятность того, что оценка положительного образца больше, чем оценка отрицательного образца.
API: roc_auc_score(y_true, y_score), примечание: y_true должен использовать 0, 1 для обозначения ложных и положительных случаев.
Древо решений
Введение в алгоритм дерева решений
Дерево решений представляет собой древовидную структуру.
Каждый внутренний узел представляет собой оценку функции
Каждая ветвь представляет собой результат решения.
Каждый листовой узел представляет результат классификации.
Принцип дерева решений
Выбор признаков и основа разделения узлов дерева решений
энтропия
Мера «хаоса»
энтропия = -p1logp1 - p2logp2 ... pn*log(pn)
получение информации
Разница в энтропии до и после деления набора данных по определенному признаку
Прирост информации = вход(до) - вход(после)
Чем больше прирост информации, тем лучше метод классификации этого признака.
скорость получения информации
Показатель получения информации/отдельной информации
Мера информации разделения = энтропия, рассчитанная на основе вероятности появления каждой категории признака.
Джини прирост
Значение Джини: вероятность того, что две выборки, случайно выбранные из набора данных D, будут иметь противоречивые целевые значения (метки).
Чем меньше значение Джини, тем выше чистота набора данных.
Прирост Джини = Значение Джини (до) – Значение Джини (после)
Чем больше прирост значения Джини, тем лучше этот метод деления.
Шаги по построению дерева решений
1. Начните рассматривать все образцы в целом
2. Просмотрите каждый метод сегментации каждого признака и найдите лучшую сегментацию (на основе прироста информации, скорости прироста информации и прироста значения Джини).
3. По оптимальному методу деления разделить все выборки на две части N1 и N2, то есть две ветви.
4. Продолжайте шаги 2–3 для N1 и N2, пока каждый узел не станет достаточно «чистым».
В соответствии с различными принципами выбора и разделения узлов дерево решений делится на
Дерево решений ID3: получение информации
C4.5 Схема принятия решений: скорость получения информации
Дерево решений CART: прирост значения Джини (или индекс Джини)
обрезка тележки
Цель: Уменьшить количество узлов дерева решений -> Уменьшить сложность дерева решений -> Предотвратить переобучение дерева решений.
метод
Предварительная обрезка: обрезка при создании дерева решений.
Минимальное количество выборок, содержащихся в каждом узле, например 10. Если общее количество выборок в узле меньше 10, классификация выполняться не будет.
Укажите высоту или глубину дерева, например максимальная глубина дерева 4
Если энтропия указанного узла меньше определенного значения, он больше не будет делиться.
Пост-обрезка: обрезка после создания дерева решений.
Метод аналогичен предварительной обрезке.
Разработка функций: извлечение функций
Извлечение функций словаря
sklearn.feature_extraction.DictVectorizer(sparse=True)
Примечание. Этот метод автоматически one_hot кодирует дискретные данные.
Извлечение текстовых объектов
количество вхождений слов
sklearn.feature_extraction.text.CountVectorizer(stop_words=[])
Извлечение текстовых объектов Tf-idf
TF: частота слов
Относится к частоте появления данного слова в документе.
IDF: обратная частота документов
Разделите общее количество документов на количество документов, содержащих это слово, а затем возьмите десятичный логарифм частного, чтобы получить
ТФ-ИДФ
ТФ-IDF = ТФ*IDF
Функция: оценка важности слова для набора документов или документа в корпусе.
API:sklearn.feature_extraction.text.TfidfVectorizer(stop_works)
Примечание. Чтобы извлечь признаки из китайских статей, сначала необходимо выполнить сегментацию слов.
Заикающееся причастие: jieba.cut.
Кейс: Прогноз выживания пассажиров Титаника
API дерева решений: sklearn.tree.DecisionTreeClassifier(criterion='gini', max_length=None,random_state=None)
Визуализация дерева решений: sklearn.tree.export_graphviz()
Подведем итог
Преимущества деревьев решений: простота, интерпретируемость и наглядность.
Недостатки деревьев решений: легко переобучиться.
Решение
обрезка
случайный лес
Ансамблевое обучение
Введение в алгоритмы ансамблевого обучения
Создавайте несколько классификаторов/моделей, каждый из которых обучается и делает прогнозы независимо. Эти прогнозы в конечном итоге объединяются в комбинированный прогноз, который, следовательно, лучше, чем любой прогноз по одной классификации.
повышение -> недостаточное оснащение
бэггинг -> переобучение
Обучение ансамблю мешков
Принцип: создавайте несколько моделей параллельно, и они будут независимы друг от друга.
1. Выборка: выборка N фрагментов данных со случайной заменой.
2. Обучение. Используйте N фрагментов данных для изучения N различных моделей.
3. Интеграция. При равном голосовании N моделей окончательным результатом будет та, которая наберет наибольшее количество голосов.
случайный лес
Что такое случайный лес: дерево решений по пакетированию
API:sklearn.ensemble.RandomForestClassifier(n_estimators, max_eep)
преимущество
Оба метода могут повысить точность обобщения примерно на 2% по сравнению с исходным алгоритмом.
Простой, удобный и универсальный
Принцип усиления интеграции: несколько моделей строятся последовательно, и на модель, построенную позже, влияет модель, созданная ранее.
1. Инициализируйте обучающие веса, сделайте веса равными и обучите первого обучающегося (модель).
2. Рассчитайте частоту ошибок учащегося в данных обучения.
3. Рассчитайте вес обучающегося, исходя из частоты ошибок.
4. Измените вес данных обучения в соответствии с весом учащегося.
5. Повторите шаги 1–4 м раза.
6. Взвешенное голосование по результатам m моделей для получения окончательного результата.
кластеризация
Введение в алгоритмы кластеризации
Алгоритм кластеризации — это типичный алгоритм обучения без учителя, который в основном используется для автоматической классификации похожих выборок по категориям.
Самая большая разница между алгоритмами кластеризации и алгоритмами классификации: алгоритмы кластеризации — это алгоритмы обучения без учителя, а алгоритмы классификации — это алгоритмы обучения с учителем.
Первоначальное использование API алгоритма кластеризации
sklearn.cluster.KMeans(n_clusters=8)
Метод прогнозирования: вызовите fit_predict(X), чтобы получить результаты классификации.
Процесс реализации алгоритма кластеризации (принцип)
1. Случайным образом выбрать K выборок в качестве центров K категорий;
2. Рассчитайте расстояние от всех образцов до центра;
3. Какая категория выборки ближе всего к центру;
4. После разделения K категорий пересчитать координаты центра. Метод расчета заключается в том, что в качестве соответствующих координат нового центра используется среднее значение каждого значения признака выборок в категории;
5. Повторяйте шаги 2, 3 и 4 до тех пор, пока координаты центра не перестанут меняться.
Оценка модели для кластеризации
Сумма квадратов ошибок: сумма квадратов расстояний (евклидово расстояние) всех выборок до соответствующего центра категории.
Метод «локтя»: когда скорость снижения внезапно замедляется, это считается лучшим значением k.
Коэффициент силуэта SC: значение [-1, 1]. Чем больше значение, тем лучше. Если это отрицательное значение, выборка может быть классифицирована неправильно.
Коэффициент CH: чем выше показатель s, тем лучше эффект кластеризации.
Оптимизация алгоритма
Алгоритм Canopy с начальной кластеризацией
K-средства
Двудольные k-средства
ИЗОДАТА
ядро kmeans
Мини-партия K-Means
Уменьшение размерности объекта
Выбор функции
Удалить функции с низкой дисперсией
Коэффициент корреляции Пирсона
Коэффициент корреляции Спирмена
Анализ главных компонентов PCA
Кейс: изучение предпочтений пользователя в отношении категорий товаров и уменьшение размерности.