Решение задачи классификации. Логистическая регрессия
Заказать уникальную курсовую работу- 21 21 страница
- 4 + 4 источника
- Добавлена 01.04.2023
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Введение 2
1. Необходимые инструменты 4
2. Постановка задачи классификации 6
3. Вероятностное обоснование 8
4. Обучение модели 9
5. Регуляризация 10
6. Предсказание с помощью логистической регрессии 11
7. Мультиномиальная логистическая регрессия 13
8. Практическая часть 15
Заключение 16
Список литературы 17
Приложение 1. 18
Приложение 2. 20
Приложение 3. 21
Пусть , тогда вероятность принадлежности -го объекта к каждому из классов:(8)Это выражение может быть записано через функцию softmax, которая является прямым обобщением функции :(9)Таким образом, общее количество параметров равно . Классификация по модели проводится аналогично модели бинарной классификации – выбирается класс с наибольшим значением функции softmax. При этом в некоторых задачах полезным будет вывести несколько классов с наибольшей вероятностью и дать пользователю выбрать из них наилучший экспертной оценкой. Пример решения классификации с 3 классами с помощью модели мультиклассовой логистической регрессии представлен на рисунке 3.Рисунок 3. Решение задачи классификации с 3 классами.Практическая частьЗаключениеВ ходе выполнения работы была изучена важная проблема машинного обучения – задача классификации объектов. Подробно разобран один из наиболее популярных подходов – модель логистической регрессии. Было разобрано вероятностное обоснование модели, способы борьбы с переобучением и рассмотрен обобщенный случай логистической регрессии для задачи с несколькими классами. На языке python с помощью библиотеки sklearn были реализовано обучение моделей для классификации объектов.Список литературыИнтернет ресурс scikit-learnURL: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html(дата обращения 17.02.2023).Bishop, Christopher M. Pattern Recognition and Machine Learning. New York :Springer, 2006.Интернет ресурс habr.com URL: https://habr.com/ru/company/io/blog/265007/(дата обращения 17.02.2023).К.В. Воронцов Курс “Машинное обучение” 2019, URL: https://www.youtube.com/watch?v=VBmfuf11N-M(дата обращения 17.02.2023)Приложение 1.Листинг программы 1.import matplotlib.pyplot as pltimport numpy as npfrom scipy.special import expitfrom sklearn.linear_model import LinearRegression, LogisticRegressionxmin, xmax = -5, 5n_samples = 100np.random.seed(0)X = np.random.normal(size=n_samples)y = (X > 0).astype(float)X[X > 0] *= 4X += 0.3 * np.random.normal(size=n_samples)X = X[:, np.newaxis]clf = LogisticRegression(C=1e5)clf.fit(X, y)plt.figure(1, figsize=(4, 3))plt.clf()plt.scatter(X.ravel(), y, label="example data", color="black", zorder=20)X_test = np.linspace(-5, 10, 300)loss = expit(X_test * clf.coef_ + clf.intercept_).ravel()plt.plot(X_test, loss, label="Logistic Regression Model", color="red", linewidth=3)ols = LinearRegression()ols.fit(X, y)plt.plot( X_test, ols.coef_ * X_test + ols.intercept_, label="Linear Regression Model", linewidth=1,)plt.axhline(0.5, color=".5")plt.ylabel("y")plt.xlabel("X")plt.xticks(range(-5, 10))plt.yticks([0, 0.5, 1])plt.ylim(-0.25, 1.25)plt.xlim(-4, 10)plt.legend( loc="lower right", fontsize="small",)plt.tight_layout()plt.show()Приложение 2.Листингпрограммы 2.from sklearn import datasets, neighbors, linear_modelX_digits, y_digits = datasets.load_digits(return_X_y=True)X_digits = X_digits / X_digits.max()n_samples = len(X_digits)X_train = X_digits[: int(0.9 * n_samples)]y_train = y_digits[: int(0.9 * n_samples)]X_test = X_digits[int(0.9 * n_samples) :]y_test = y_digits[int(0.9 * n_samples) :]knn = neighbors.KNeighborsClassifier()logistic = linear_model.LogisticRegression(max_iter=1000)print("KNN score: %f" % knn.fit(X_train, y_train).score(X_test, y_test))print( "LogisticRegression score: %f" % logistic.fit(X_train, y_train).score(X_test, y_test))Приложение 3.Листингпрограммы 3import matplotlib.pyplot as pltfrom sklearn.linear_model import LogisticRegressionfrom sklearn import datasetsfrom sklearn.inspection import DecisionBoundaryDisplayiris = datasets.load_iris()X = iris.data[:, :2] Y = iris.targetlogreg = LogisticRegression(C=1e5)logreg.fit(X, Y)_, ax = plt.subplots(figsize=(4, 3))DecisionBoundaryDisplay.from_estimator( logreg, X, cmap=plt.cm.Paired, ax=ax, response_method="predict", plot_method="pcolormesh", shading="auto", xlabel="Sepal length", ylabel="Sepal width", eps=0.5,)plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolors="k", cmap=plt.cm.Paired)plt.xticks(())plt.yticks(())plt.show()
1. Интернет ресурс scikit-learn URL: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
(дата обращения 17.02.2023).
2. Bishop, Christopher M. Pattern Recognition and Machine Learning. New York :Springer, 2006.
3. Интернет ресурс habr.com URL: https://habr.com/ru/company/io/blog/265007/
(дата обращения 17.02.2023).
4. К.В. Воронцов Курс “Машинное обучение” 2019, URL: https://www.youtube.com/watch?v=VBmfuf11N-M
(дата обращения 17.02.2023)
Вопрос-ответ:
Что такое логистическая регрессия?
Логистическая регрессия - это метод классификации, который использует логистическую функцию для предсказания вероятности принадлежности объекта к определенному классу.
Какие инструменты необходимы для решения задачи классификации с помощью логистической регрессии?
Для решения задачи классификации с помощью логистической регрессии, необходимо использовать инструменты для обработки данных, вычисления вероятностей, оптимизации параметров модели и оценки ее качества.
Как формулируется задача классификации при использовании логистической регрессии?
Задача классификации с помощью логистической регрессии заключается в том, чтобы построить модель, которая будет предсказывать вероятность принадлежности объекта к каждому из классов на основе его признаков.
Как осуществляется обучение модели логистической регрессии?
Обучение модели логистической регрессии происходит путем настройки параметров модели с использованием метода максимального правдоподобия или градиентного спуска.
Что такое регуляризация в логистической регрессии?
Регуляризация в логистической регрессии - это метод добавления штрафа за сложность модели, что помогает бороться с проблемой переобучения и улучшает обобщающую способность модели.
Какие инструменты необходимы для решения задачи классификации с помощью логистической регрессии?
Для решения задачи классификации с помощью логистической регрессии необходимы следующие инструменты: библиотека NumPy для работы с массивами данных, библиотека pandas для загрузки и предобработки данных, библиотека scikit-learn для обучения модели логистической регрессии, и библиотека matplotlib для визуализации результатов.
Как поставить задачу классификации?
Постановка задачи классификации заключается в разделении объектов на заранее определенные классы. Например, это может быть задача определения, является ли электронное письмо спамом или не спамом. Входные данные в задаче классификации представляют собой набор признаков, а выходные данные - метки классов.
Каким образом логистическая регрессия обосновывает вероятностный подход в задаче классификации?
Логистическая регрессия использует логистическую функцию для преобразования линейной комбинации признаков в вероятность принадлежности к классам. Это позволяет интерпретировать выход модели как вероятности принадлежности объекта к каждому из классов. Данный вероятностный подход обосновывает логистическая регрессия в задаче классификации.
Как происходит обучение модели логистической регрессии?
Обучение модели логистической регрессии происходит путем минимизации функции потерь, такой как логистическая функция потерь, с использованием методов оптимизации, например, градиентного спуска. Модель обучается на обучающем наборе данных, где для каждого объекта известны значения признаков и метка класса. Цель обучения - найти оптимальные веса модели, которые минимизируют функцию потерь и обеспечивают хорошую точность предсказаний.