본문 바로가기

파이썬5

4-2. 신경망 학습 4.4. 기울기 앞 절에서는 x0 와 x1 의 편미분을 변수별로 따로 계산했다. 가령 x0 = 3, x1 = 4 일 때 (x0 , x1) 양쪽의 편미분을 묶어 계산한다고 생각해보자. 위처럼 모든 변수의 편미분을 벡터로 정리한 것을 기울기(gradient)라고 한다. 기울기는 다음과 같이 구현할 수 있다. def numerical_gradient(f, x): h = 1e-4 #0.0001 grad = np.zeros_like(x) #x와 형상이 같은 zero 배열 생성 for idx in range(x.size): tmp_val = x[idx] # f(x+h) 계산 x[idx] = tmp_val + h fxh1 = f(x) # f(x-h) 계산 x[idx] = tmp_val - h fxh2 = f(x) g.. 2020. 3. 25.
4-1. 신경망 학습 4. 신경망 학습 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻한다. 4장에서는 신경망이 학습할 수 있도록 해주는 지표인 손실 함수를 다뤄본다. 손실 함수의 결괏값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습의 목표다. 이번 장에서는 손실 함수의 값을 가급적 작게 만드는 기법으로 함수의 기울기를 활용하는 경사법을 살펴본다. 4.1. 데이터에서 학습한다. 신경망의 특징은 데이터를 보고 학습할 수 있다는 점이다. 데이터에서 학습한다는 것은 가중치 매개변수의 값을 데이터를 보고 자동으로 결정한다는 뜻이다. 실제 신경망에서 매개변수를 수작업으로 정한다는 것은 불가능하다. 신경망 학습에 대해 살펴보고 파이썬으로 MNIST 데이터셋의 손글씨 숫자를 학습하는 코드를 구현해본.. 2020. 3. 16.
3-2. 신경망 3.4. 3층 신경망 구현하기 3층 신경망에서 수행되는, 입력부터의 출력까지의 처리(순방향 처리)를 구현하겠다. 넘파이의 다차원 배열을 사용한다. 3.4.1. 표기법 설명 3.4.2. 각 층의 신호 전달 구현하기 입력층에서 '1층의 첫 번째 뉴런'으로 가는 신호를 보겠다. 편향을 뜻하는 뉴런ⓛ이 추가됐다. 가중치를 곱한 신호 두 개와 편향을 합하면 다음과 같이 계산한다. 여기에서 행렬의 곱을 이용하면 1층의 '가중치 부분'을 간소화할 수 있다. 행렬들은 각각 다음과 같다. 넘파이의 다차원 배열을 사용해서 간소화된 식을 구현해본다. 입력 신호, 가중치, 편향은 적당한 값으로 설정한다. X = np.array([1.0, 0.5]) W1 = np.array([[0.1, 0.3, 0.5], [0.2, 0.4, .. 2020. 3. 9.
국토연구원 X 데이콘 주최 <국토도시 빅데이터 윈터스쿨>에 참여하다 2019년이 끝나갈 때 즈음, 흥미로운 해커톤 캠프를 발견했다. 국토연구원에서 주최한 공간 데이터 시각화 대회였다. 파이썬 데이터 분석에 관심이 있어 바로 참여했고, 초급반에 등록했다. 12월 20일 모두 한 자리에 모였을 때 데이콘의 데이터 사이언티스트 분이 OT를 시작하셨다. 내가 참여한 초급반은 이틀간 파이썬 라이브러리를 배우고 마지막 3일차에 해커톤을 진행하는 과정이었다. 대회를 개최한 국토연구원의 소개도 있었다. 과학기술정보통신부와 한국정보화진흥원의 사업의 일환으로 국토연구원은 2019년 빅데이터 플랫폼 및 센터 구축 사업(지역경제분야)를 진행하고 있다. 빅데이터를 사회 곳곳에서 만질 수 있게 하여 성장동력을 만드는 중이라고 한다. 마지막 날에는 해커톤 장소로 자리를 옮겼고 해커톤 데이터로는 제.. 2020. 1. 1.
한국과학창의재단 알락달락 교육기부를 마치며 처음 코딩 교육봉사를 한다고 했을 때, 그것도 인천까지 간다는 것을 들었을 때 부담이 컸다. 4주차 활동을 완료한 지금은 정말 좋은 경험을 만들었다고 생각한다. 작은 것을 알려줘도 스스로 이것저것 바꿔보는 학생들의 남다른 창의력은 멋집 그 자체였다. 최대한 눈높이를 맞춰보고자 bts나 세븐틴을 도우언해보았는데 아이들도 재밌는 시간으로 기억되면 좋겠다. '우와우와~' 하며 신기해하는 모습을 보면서 뿌듯했고, 그 순수함과 따뜻함에 나도 많이 배웠다. 나중에 다시 만나자. 그때 우리들 중 많은 사람이 코딩으로 좋은 세상을 만들고 있을거야. 2019. 5. 31.