* 인공지능 vs. 머신러닝 vs. 딥러닝
- 인공지능(Artificial Intelligence): 말 그대로 인공적으로, 컴퓨터를 통해 지적 능력을 구현하는, 좀 더 개념적인 단어를 의미
- 머신러닝(Machine Learning): 컴퓨터가 '학습'을 통해 스스로 그 성능을 향상 시키는 방법론
- 딥러닝(Deep Learning): 인간의 뉴런을 모티브로 한 '인공신경망' 방식을 바탕으로 컴퓨터를 학습시키는 것
* 인공 신경망(Artificial Neural Network)
- 인간의 뇌를 기반으로 한 추론 모델
- 신경망은 가중치를 반복적으로 조정하며 학습
- 뉴런은 링크로 연결되어 있고, 각 링크에는 수치적인 가중치가 있음
- 인공 신경망은 신경망의 가중치를 초기화하고 훈련 데이터를 통해 가중치를 갱신하여 신경망의 구조를 선택하고, 활용할 학습 알고리즘을 결정한 후 신경망을 훈련시킴
- 인공신경망: 여러 뉴런이 서로 연결되어 있는 구조의 네트워크. 각 층들은 '노드'들로 구성
- 입력층(input layer)을 통해 학습하고자 하는 데이터를 입력 받음
- 입력된 데이터들은 여러 단계의 은닉층(hidden layer)을 지나면서 처리가 이루어져 출력층(output layer)을 통해 최종 결과가 출력됨
- ANN의 문제점
1) 학습과정에서 파라미터의 최적값을 찾기 어렵다
2) Overfitting(과적합)에 따른 문제
3) 학습시간이 느리다
* 인공신경망 코딩하기
1. 분류 예측 (MLPClassifier)
from sklearn.neural_network import MLPClassifier
nn_model = MLPClassifier(random_state = 0, alpha = 0.001, hidden_layer_sizes = [50])
2. 회귀 예측 (MLPRegressor)
from sklearn.neural_network import MLPRegressor
nn_reg_model = MLPRegressor(random_state = 0, alpha = 1, max_iter = 1000, hidden_layer_sizes = [50, 50])
참고) MLPRegressor의 하이퍼파라미터를 자세히 알고싶다면?
https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPRegressor.html
<사진, 자료 출처>
https://ko.wikipedia.org/wiki/%EC%8B%A0%EA%B2%BD_%EC%84%B8%ED%8F%AC
'Python > Deep Learning' 카테고리의 다른 글
[Python DL]그래디언트 부스팅(Gradient Boosting)_Classifier, Regressor (0) | 2023.01.27 |
---|---|
[Python DL]랜덤포레스트(Random Forest)_Classifier, Regressor (2) | 2023.01.25 |
[Python DL]앙상블(Ensemble)-보팅, 배깅, 부스팅 & VotingClassifier, VotingRegressor (0) | 2023.01.25 |
[Python DL]DNN, CNN, RNN & keras.models.Sequential() (0) | 2023.01.24 |