[머신러닝] 9. 머신러닝 라이브러리 비교
머신러닝 라이브러리
머신러닝을 공부하기 위해 지원하는 라이브러리들이 여러가지가 있다.
대표적인 라이브러리들을 알아보자.
- 라이브러리
- TensorFlow (구글이 만든 딥러닝[인공신경망] 라이브러리)
- Scikit-Learn
- PyTorch
- Keras
- Caffe2
- theano
라이브러리 비교
텐서플로우 | 사이킷런 | 파이토치 | 케라스 | |
---|---|---|---|---|
장점 | 텐서보드를 통해서 파라미터 변화 양상이나 DNN구조를 알 수 있습니다. | 탄탄한 학습 알고리즘을 가지고 있습니다. | 간단하고 직관적으로 학습 가능 | 배우기 쉽고 모델 구축하기 쉽다. |
단점 | 메모리 효율적사용X | 딥러닝 & 강화학습 다루지않음 | 텐서플로우에 비해 사용자 얕고 자료 많이 없음 | 오류가 발생할 경우 케라스문제인지 백엔드 문제인지 알 수 없음 |
- DNN (Deep Neural Network)
- 딥러닝
- 심층 신경망
머신러닝 라이브러리로는 ‘사이킷-런’
-
사이킷런 파이썬 라이브러리는 탄탄한 학습 알고리즘이 장점
-
딥러닝과 강화학습은 다루지 않음
- 파이썬 이외의 언어에서 사용 불가능
- 분류와 회귀, 클러스터링, 차원축소, 모델선택, 전처리에 대해 다양한 알고리즘 지원
딥러닝 라이브러리로는 ‘텐서플로우’
- 구글이 내놓은 딥러닝 라이브러리
- 배우기 조금 어렵지만, 성능과 확장성이 좋음
- 딥러닝에서 많이 사용하는 다양한 모델과 알고리즘이 들어 있음
- 파이썬 지원이 훌륭하며, 문서화 잘되어있음
- 텐서보드라고 하는 소프트웨어가 포함돼 있어 결과를 설명하는 데이터 플로우 그래프를 표시하고 이해쉬움
- RNN : 순환신경망
- DNN : 딥러닝
-
Python, C++, Go, Java, R 지원
- 할수 있는 것
- 이미지 인식
- 자연어 처리