개발자
바이어스는 학습에 중요한 역할을 한다. 바이어스를 통해 액티베이션 함수를 좌우로 움직일 수 있어, 더욱 좋은 학습을 시킬 수 있다. 바이어스가 없는 간단한 예를 보자. 하나의 입력(x)에 가중치(w0)을 곱하고 엑티베이션 함수(예. 시그노이드 함수) 를 통과해 결과 값을 만드는 네트워크다. 여러 w0 값에 따라 이 네트워크를 함수로 그리면, 아래와 같은 그림이 된다. 가중치 w0 값에 따라 네트워크의 가파른 정도가 결정된다. 그런데, 만약 x=2 일 때, 결과 값 0이 나오는 네트워크를 만드려면 어떻게 해야할까? 단순히 w0 값을 바꿔가며 가파른정도를 수정하는 것으로는 불가능할 것이다. 이 때 바이어스가 있으면 해결된다. 바이어스 값을 통해 네트워크 전체를 우측으로 옮길 수 있기 때문이다. 그럼 w0 네..
본 개발환경 구축은 OS X EI Capitan 버전 10.11.6 진행했습니다. pyenv 파이썬 버전 관리도구한 로컬에 여러 파이썬 버전을 간편히 설치 가능언제든지 사용중인 파이썬 버전을 다른 버전을 변경 가능pyenv 설치 1. Homebrew 로 pyenv를 설치합니다. Homebrew가 없다면 $ brew update $ brew install pyenv 2. 환경변수를 지정합니다. (PYENV_ROOT, $PYENV_ROOT/bin) $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 3. "pyenv init" 을 쉘에 추..
O 분할 정복 기법- 분할 정복순서설명Step 1. Divide문제를 작은 문제로 쪼갠다.Step 2. Conquer문제가 풀 수 있을 만큼 작아지면 문제를 직접 풀고, 그렇지 않으면 문제를 재귀로 푼다. - 구현function F(x): if F(x)의 문제가 간단 then: return F(x)을 직접 계산한 값 else: x를 y1, y2로 변환 F(y1)과 F(y2)를 호출 return F(y1), F(y2)로부터 F(x)를 구한 값 - Merge Sort (예제1)• 과정순서설명Step 1. Divide배열을 절반으로 나눠 서브배열 2개를 만든다.Step 2. Conquer서브배열이 충분히 작으면, 정렬하고 그렇지 않으면 재귀로 정렬한다.Step 3. Combine정렬된 서브배열을 하나의 정렬된..