일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 인공지능
- AI Winter
- Bayes Theorem
- Stack
- 심층학습
- 딥러닝
- 퍼셉트론
- 분산분석
- 인공지능 겨울
- 30 Day Challenge
- 편향
- 확률
- p 값
- 조건부 확률
- ANOVA
- 컴퓨터 조립
- knn
- 베이즈 정리
- LeetCode
- Bayes Rule
- 통계
- 컴퓨터
- p-value
- Neural Network
- 인공신경망
- AI
- Today
- Total
목록Machine Learning/인공신경망 (3)
군더더기 없는 기계학습 백과사전

전편에서 주어진 코드를 간략화하기 위해서 Numpy 패키지에서 행렬 연산 기능을 가져왔다. 이제 슬슬 여러 개의 뉴런층을 다루는 수준으로 나아가도록 하자. 우선의 배치(batch)의 개념부터 다뤄보도록 하겠다. 우선 배치 학습을 통한 모델 학습은 데이터를 몇 개로 나눠서 단순한 작업을 여러 코어에 나눠 효율적인 병렬 연산(parallel computing)을 수행하고자 하는 목적도 존재한다. 그러나 배치를 사용하는 또 다른 목적은 우리가 훈련시키고 있는 모델이 (그러니까 지금 우리가 만들고 있는 인공신경망이) 아직 관측한 적이 없는 데이터에 대한 올바른 예측을 수행하도록 도와주는 일반화(generalization) 작업이기도 하다. 여기서 모델을 일반화하는데 도움을 준다는 것은 무슨 뜻일까? 우리의 코드..

전편에서 기본적인 단위의 인공신경망을 단순한 파이썬 코드로 구현해봤다. 이제 좀 더 많은 양의 연산을 편리하게 처리하기 위해 행렬 연산 중 하나에 해당하는 점곱(dot product)을 코드에서 사용하는 방법을 보여주고자 한다. 이를 위해선 Numpy 패키지가 필요하다. 전편에서 구현한 인공신경망이다. 입력값 = [2.3, 5.6, 1.2, 2.4] 가중치1 = [3.1, -2.1, 8.7, -9.1] 가중치2 = [4.5, 2.1, -1.7, 3.4] 가중치3 = [2.3, -6.4, 2.1, -6.3] 편향1 = 2 편향2 = 3 편향3 = 1 출력값1 = 입력값[0]*가중치1[0] + 입력값[1]*가중치1[1] + 입력값[2]*가중치1[2] + 입력값[3]*가중치1[3]\ + 편향1 출력값2 = 입..

ANN(Artificial Neural Network) 많은 분들이 교과서에서 인공신경망에 대해서 많이 읽어보고 Keras 같은 프로그램으로 손쉽게 데이터를 집어넣고 직접 돌려보는 경험도 해봤을 것이라고 생각한다. 그러나 이에 만족하지 못하고 아예 처음부터 인공신경망을 완전히 짜서 프로그램이 수면 밑에서 어떻게 돌아가는지 '심층학습'을 하고자 하는 분들도 있을 것이라고 생각한다. 특히나 불안하게 별 이해 없이 자동으로 짜이는 코드를 돌리는 대신 직접 밑바닥부터 만들어 배우기 좋아하는 분들이 이런 부류에 속할 것이라고 생각한다. 일단 웹사이트들을 돌아봤지만 초보자에게 친절한 블로그는 없는 듯했다. 그냥 처음부터 Numpy나 클래스부터 꺼내 들고 코드 블록만 쭉 늘어놓은 경우가 대다수였다. 정말 미안하지만,..