[머 신 러 닝] 머 신 러 닝 노트 정리 11 - 신경 망 알고리즘 단순 구현

의 원리
[머 신 러 닝] 머 신 러 닝 노트 정리 10 - 신경 망 알고리즘
1. 비 선형 전환 방정식 (non - linear transformation function)
sigmoid 함수 (S 곡선) 는 activation function 으로 사 용 됩 니 다.
 1.1     (tanh)
 1.2      (logistic function)

2. 간단 한 신경 망 알고리즘 실현


#!/usr/bin/python # -*- coding:utf-8 -*- #     8x8     :0,1,2,3,4,5,6,7,8,9 import numpy as np from sklearn.datasets import load_digits from sklearn.metrics import confusion_matrix, classification_report from sklearn.preprocessing import LabelBinarizer from NeuralNetwork import NeuralNetwork from sklearn.cross_validation import train_test_split digits = load_digits() X = digits.data y = digits.target X -= X.min() # normalize the values to bring them into the range 0-1 X /= X.max() nn = NeuralNetwork([64, 100, 10], 'logistic') X_train, X_test, y_train, y_test = train_test_split(X, y) labels_train = LabelBinarizer().fit_transform(y_train) labels_test = LabelBinarizer().fit_transform(y_test) print "start fitting" nn.fit(X_train, labels_train, epochs=3000) predictions = [] for i in range(X_test.shape[0]): o = nn.predict(X_test[i]) predictions.append(np.argmax(o)) print confusion_matrix(y_test, predictions) print classification_report(y_test, predictions) 

실행 결과

좋은 웹페이지 즐겨찾기