인공신경망 정보 : https://techblog-history-younghunjo1.tistory.com/73
[ML] ANN(Artificial Neural Network) 인공신경망
※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 저번 포스팅에서 다루었던 주
techblog-history-younghunjo1.tistory.com
Perceptron
https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Perceptron.html
sklearn.linear_model.Perceptron
Examples using sklearn.linear_model.Perceptron: Out-of-core classification of text documents Out-of-core classification of text documents, Comparing various online solvers Comparing various online ...
scikit-learn.org
# 인공신경망 : 단층 신경망 (뉴런 또는 노드 1개) - Perceptron
# input data * 가중치의 합에 대해 임계 값(활성화함수)을 이항분류가 가능
import numpy as np
from sklearn.linear_model import Perceptron
from sklearn.metrics import accuracy_score
feature = np.array([[0,0],[0,1],[1,0],[1,1]])
print(feature)
#label = np.array([0,0,0,1]) # and
label = np.array([0,1,1,1]) # or
#label = np.array([0,1,1,0]) # xor : 하나의 node로는 불가능하다. acc가 0.5밖에안나온다
ml = Perceptron(max_iter=100, eta0=0.1).fit(feature,label)
# max_iter => epoch 수 (학습 수) # eta0 는 학습률(learning late)
print(ml)
pred = ml.predict(feature)
print('pred:',pred)
print('acc:',accuracy_score(label,pred))
단층 신경망(하나의 노드)은 xor이 불가능하다.
MLP 다층신경망
# MLP : 다층신경망 - 선형 / 비선형 분류가 가능
import numpy as np
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import accuracy_score
feature = np.array([[0,0],[0,1],[1,0],[1,1]])
print(feature)
#label = np.array([0,0,0,1]) # and
#label = np.array([0,1,1,1]) # or
label = np.array([0,1,1,0]) # xor 0.5
# ml = MLPClassifier(hidden_layer_sizes=30, activation = 'relu',
# solver='adam', learning_rate_init = 0.01).fit(feature, label)
ml = MLPClassifier(hidden_layer_sizes=(10,10,10), activation = 'relu',
solver='adam', learning_rate_init = 0.01).fit(feature, label)
print(ml)
pred = ml.predict(feature)
print('pred:',pred)
print('acc:',accuracy_score(label,pred))
MLPClassifier은 sklearn의 neural_network에 있고 Perceptron은 sklearn의 linear_model에 있다.
hidden_layer_sizes를 바꾸면서 확인한다.
https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html
sklearn.neural_network.MLPClassifier
Examples using sklearn.neural_network.MLPClassifier: Classifier comparison Classifier comparison, Compare Stochastic learning strategies for MLPClassifier Compare Stochastic learning strategies for...
scikit-learn.org
'데이터분석 > 데이터분석' 카테고리의 다른 글
지도학습(K-NN) 과 비지도학습(K-Means) 비교 (0) | 2022.05.16 |
---|---|
군집 분석(Clustering) (0) | 2022.05.16 |
K-NN (K -Nearest Neighbor) (0) | 2022.05.16 |
나이브 베이즈 (0) | 2022.05.16 |
주성분 분석(PCA) (0) | 2022.05.14 |