본문 바로가기

머신러닝기초2

[비전공자용] [Python] 확률적 경사 하강법을 이용한 2층 신경망 미니배치 학습 구현 간단한 신경망 학습 구현을 위해 확률적 경사 하강법을 이용한 미니배치 학습 방법을 활용하는 예제입니다. 이번 글에서는 MNIST 데이터셋을 사용하여 학습을 수행할 거고 신경망은 은닉층이 1개인 2층 신경망 Two Layer Net 클래스를 정의하여 이용할 것입니다. (아래 코드는 Deep Learning from Scratch의 코드를 참고하였습니다.) 시작하기에 앞서 본 글에서 이용할 방법인 신경망 학습의 4단계 절차를 정리해봅시다. 이 포스트에서는 Stochastic gradient descent(SGD, 확률적 경사 하강법)을 이용할 예정입니다. (1) 미니배치 훈련 데이터 중 일부를 무작위로 가져오고 이렇게 선별된 데이터를 비니배치라 하며, 미니매치의 손실 함수 loss function값을 줄이는.. 2020. 7. 7.
[비전공자용] [Python] 머신러닝과 딥러닝 구분 머신러닝과 딥러닝 개념적 차이? (pc에 최적화되어있으니 pc버전으로 봐주시면 더 좋을 것 같습니다) 머신러닝과 딥러닝을 개념적으로 구분하기 위해 한 예를 들어서 단순하게 설명하려고 합니다. 기존에는 어떤 이미지를 인식하려면 처음부터 알고리즘을 설계했었을 것입니다. 개 사진을 보고 개라는 결과를 얻기 위해서는 사람들이 보통 개에 대해 알고 있는 특징인 귀가 2개 있고, 다리가 4개 있고 코가 있다 등등의 기준이 있어야 할 것입니다. 아주 어려웠겠지만, 처음에는 이런 기준을 바탕으로 알고리즘을 짜서 이미지 인식을 했을 것입니다. ------------> [ 사람이 설계한 알고리즘 ] ------------> 결과(개) ↓ 하지만 머신러닝이 도입되면서 이미지에서 특징 feature (입력 데이터의 중요한 정.. 2020. 7. 3.
반응형