ТОП просматриваемых книг сайта:
Введение в машинное обучение. Равиль Ильгизович Мухамедиев
Читать онлайн.Название Введение в машинное обучение
Год выпуска 2023
isbn
Автор произведения Равиль Ильгизович Мухамедиев
Издательство Автор
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(hidden_layer_sizes = [15, 15,],
alpha = 0.01,random_state = 0,
solver='adam').fit(X_train, y_train)
Обучение нейронной сети может занять несколько минут. Затем можно оценить качественные показатели классификатора командами:
predictions=clf.predict(X_test)
print('Accuracy of NN classifier on training set: {:.2f}'
.format(clf.score(X_train, y_train)))
print('Accuracy of NN classifier on test set: {:.2f}'
.format(clf.score(X_test, y_test)))
print(classification_report(y_test,predictions))
matrix = confusion_matrix(y_test, predictions)
print('Confusion matrix on test set\n',matrix)
Значение accuracy может быть примерно следующим:
Accuracy of NN classifier on training set: 0.89
Accuracy of NN classifier on test set: 0.86
Изменяя количество нейронов в слоях сети и параметр регуляризации alpha (например, hidden_layer_sizes = [75, 75], alpha = 0.015), можно несколько улучшить результат:
Accuracy of NN classifier on training set: 0.91
Accuracy of NN classifier on test set: 0.88
Примечание. Программу данного раздела MLF_MLP_Fashion_MNIST_001.ipynb можно получить по ссылке – https://www.dropbox.com/s/ryk05tyxwlhz0m6/MLF_MLP_Fashion_MNIST_001.html?dl=0
2.9. Алгоритм k ближайших соседей (k-Nearest Neighbor – k-NN)
Алгоритм [[58], [59]] основан на подсчете количества объектов каждого класса в сфере (гиперсфере) с центром в распознаваемом (классифицируемом) объекте. Классифицируемый объект относят к тому классу, объектов у которого больше всего в этой сфере. В данном методе предполагается, что веса выбраны единичными для всех объектов.
Если веса не одинаковы, то вместо подсчета количества объектов можно суммировать их веса. Таким образом, если в сфере вокруг распознаваемого объекта 10 эталонных объектов класса А весом 2 и 15 ошибочных/пограничных объектов класса Б весом 1, то классифицируемый объект будет отнесен к классу А.
Веса объектов в сфере можно представить как обратно пропорциональные расстоянию до распознаваемого объекта. Таким образом, чем ближе объект, тем более значимым он является для данного распознаваемого объекта. Расстояние между классифицируемыми объектами может рассчитываться как расстояние в декартовом пространстве (эвклидова метрика), но можно использовать и другие метрики: манхэттенскую (Manhattan), метрику Чебышева (Chebyshev), Минковского (Minkowski) и др.
В итоге метрический классификатор можно описать так:
где w(i, u) – вес i-го соседа распознаваемого объекта u; a(u;Xl) – класс объекта u, распознанный по выборке Xl.
Радиус гиперсферы может быть как фиксированным, так и изменяемым, причем в случае с изменяемым радиусом радиус для каждой точки подбирается так, чтобы количество объектов в каждой сфере было одинаковым. Тогда при распознавании в областях с разной плотностью выборки количество «соседних» объектов (по которым и происходит распознавание) будет одинаковым. Таким образом, исключается ситуация, когда в областях с низкой плотностью не хватает данных для классификации.
В целом это один из самых простых, но часто неточных алгоритмов классификации. Алгоритм также отличается высокой вычислительной сложностью. Объем вычислений при использовании эвклидовой метрики пропорционален
59
K-Nearest Neighbors algorithm. – http://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm (2012-07-05).