목록신경망 (28)
Broccoli's House
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 오차역전파법 : 역전파 및 예시 계산 그래프 - 계산 그래프(Computational Graph) : 계산 그래프란 계산 과정을 그래프로 나타낸 것이다. 그래프는 자료구조의 일종으로 여러 개의 노드(node)와 그 노드들을 잇는 선, 엣지(edge)로 표현된다. 덧셈 역전파 - z=x+y 수식을 계산 그래프로 나타내면 왼쪽 위와 같다. 우측은 좌측의 계산 그래프의 역전파이다. 계산 그래프의 최종 출력이 L이라하면, z가 L에 끼치는 영향력은 ∂L/∂z으로 표현된다. 마찬가지로, x가 최종 출력 L에 끼치는 영향력은 ∂L/∂x, y가 최종 출력 L에 끼치는 영향력은 ∂L/∂y이다. ∂L/∂x에 연쇄 법칙을 적용하면 ∂L/∂x는 ∂L/∂z에 ∂z/∂..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 오차역전파법 : 소개 오차역전파법 - 오차역전파법(Back Propagation) : 신경망 학습에서, 신경망의 가중치(weight)에 대한 손실 함수의 기울기를 구하기 위해 미분을 사용했다. 미분 계산은 단순하고 구현하기 쉽지만, 시간이 오래걸리는 단점이 존재한다. 즉 초기 가중치에서의 손실 함수를 계산하고 그것을 미분하여 다음 가중치 계산에 사용하는데, 뉴런이 많아져 각 노드의 매개변수(가중치, 편향)가 많아지면 그 모든 매개변수를 학습시키기란 매우 어렵다는 것이다. 이것을 효율적으로 하기 위한 것이 오차역전파 알고리즘이다. - 학습이란 각 뉴런의 매개변수(가중치, 편향)에 의해 계산된 최종 출력을 토대로 손실함수(데이터의 레이블과 실제 출력..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 신경망 학습 : 경사 하강법 경사법 - 경사법(Gradient Method) : 머신러닝 모델은 학습 시에 최적의 매개변수(가중치와 편향)를 찾는다. 최적이란, 손실 함수가 최솟값이 될 때의 매개변수 값이다. 따라서 기울기를 이용하여 손실 함수의 최솟값을 찾으려는 것이 바로 경사법이다. 일반적으로 기계 학습을 최적화하는데 사용되고, 특히나 신경망 학습에 많이 사용된다. - 손실함수의 첫 위치에서 기울기를 구한다. 기울기가 (+)이면 음의 방향으로, (-)이면 양의 방향으로 일정 거리만큼 이동한 다음, 그 위치에서의 기울기를 다시 구한다. 그리고 그것을 토대로 다시 일정 거리를 이동하는 것을 반복하여, 손실 함수의 값을 점차적으로 줄여나가는 것이 ..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 신경망 학습 : 손실 함수 손실 함수 - 손실 함수(cost function) : 손실 함수란 신경망이 학습할 수 있도록 해주는 지표이다. 머신러닝 모델의 출력값과 사용자가 원하는 출력값의 차이, 즉 오차를 말한다. 이 손실 함수 값이 최소화되도록 하는 가중치와 편향을 찾는 것이 바로 학습이다. 일반적인 손실 함수로 평균 제곱 오차나 교차 엔트로피 오차를 사용한다. 평균 제곱 오차 - 평균 제곱 오차(Mean Squared Error : MSE) : 계산이 간편하여 가장 많이 사용되는 손실 함수이다. 기본적으로 모델의 출력 값과 사용자가 원하는 출력 값 사이의 거리 차이를 오차로 사용한다. 그러나 오차를 계산할 때 단순히 거리 차이를 합산하여 평..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 신경망 학습 학습 - 학습(Learning) : 신경망의 각 노드들은 입력에 가중치를 곱하여 편향을 더한 값을 활성화 함수를 거쳐 출력한다. 학습이란, 신경망 모델의 출력이 사용자가 원하는 값에 수렴하도록 수많은 노드들이 가지고 있는 각각의 가중치와 편향들을 자동으로 획득하는 것을 말한다. 즉, 사용자가 원하는 출력과 모델의 출력이 동일시되거나 수긍할만한 오차에 수렴하는 가중치와 편향을 알아서 찾아가는 것이 바로 머신러닝의 학습이다. - 손실함수(cost function) : 손실 함수는 신경망이 학습할 수 있도록 해주는 지표이다. 사용자가 원하는 출력과 머신러닝 모델 출력 값의 차이 즉, 오차를 말한다. 일반적으로 이 손실 함수 값이 최소화되도..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 군집 알고리즘 : DBSCAN DBSCAN - DBSCAN(Density-Based Spatial Clustering of Applications with Noise) : DBSCAN은 밀도를 기반으로 하여 군집화하는 매우 유용한 군집 알고리즘이다. k-평균 군집이나 계층적 군집 알고리즘의 경우 데이터 간의 거리를 이용하여 클러스터를 나누는데에 반해, DBSCAN 알고리즘은 데이터 포인트가 세밀하게 몰려 있어 밀도가 높은 부분을 군집화하는 방식이다. - 먼저 DBSCAN 알고리즘은 특성 공간(Feature Space)에서 데이터가 밀집해있는 지역의 포인트를 찾는다. 이러한 지역을 특성 공간의 밀집 지역(Dense Region)이라 한다. 이러한 ..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 군집 알고리즘 : 병합 군집 병합 군집 - 병합 군집(Agglomerative Clustering) : 각각의 데이터 포인트를 하나의 클러스터로 지정하고, 지정된 개수의 클러스터가 남을 때까지 가장 비슷한 두 클러스터를 합쳐 나가는 알고리즘. 두 클러스터를 합쳐 나가는 방식에는 모든 클러스터 내의 분산을 가장 작게 증가시키는 두 클러스터를 합치는 방식(Ward), 클러스터 포인트 사이의 평균 거리가 가장 짧은 두 클러스터를 합치는 방식(Average), 클러스터 포인트 사이의 최대 거리가 가장 짧은 두 클러스터를 합치는 방식(Complete) 등이 있다. Ward 방식이 대부분의 데이터 세트에 알맞게 동작한다. - 초기에는 각 포인트가 하나의 클..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 군집 알고리즘 : k-평균 군집(k-means) 군집 - 군집(Clustering) : 군집은 데이터를 비슷한 것끼리 묶어 클러스터(Cluster)라는 그룹으로 나누는 작업이다. 군집 알고리즘의 목표는 한 클러스터 안의 데이터 포인트끼리는 매우 비슷하고, 다른 클러스터의 데이터 포인트와는 구분되도록 데이터를 나누는 것이다. 데이터 포인트들 간의 유사성(Similarity)을 비교하여 데이터를 나눈다. 분류 알고리즘과 비슷하게 군집 알고리즘은 각 데이터 포인트가 어느 클러스터에 속하는지 예측한다. - 유사성(Similarity) : 유사성의 실제 의미는 철학적인 문제이고, 직관적으로 아는 것이라 정의하기 힘들다. 데이터 포인트 사이의 유사성을 측정..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 비지도 변환 : PCA(주성분 분석) 비지도 변환 - 비지도 변환 : 비지도 학습을 사용하여 데이터를 변환한 것이다. 이렇게 데이터를 변환하는 이유는 주로 데이터를 시각화하거나, 데이터를 압축하거나, 지도 학습에 사용하기 위해 정보가 더 잘 드러나도록 하기 위해서이다. 비지도 변환에는 여러가지가 있으나 흔히 사용하는 알고리즘인 주성분 분석(Principal Component Analysis : PCA), 특성 추출에 널리 사용되는 비음수 행렬 분해(Non-negative Matrix Factorization : NMF)와 2차원 산점도를 이용하여 시각화 용도로 많이 사용하는 t-SNE(t-distributed Stochastic Neighbor ..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 비지도 학습 비지도 학습 - 비지도 학습(Unsupervised Learning) : 사용자가 알고 있는 출력 값이나 정보를 입력 값과 비교하여 학습하는 지도학습 알고리즘과는 다르게, 비지도 학습은 그러한 출력이나 정보 없이 학습 알고리즘을 가르쳐야 하는 모든 종류의 머신러닝을 가리킨다. 즉, 비지도 학습에서의 알고리즘은 입력 데이터만으로 데이터에서 지식을 추출할 수 있어야 한다. - 비지도 학습에는 데이터의 비지도 변환(Unsupervised Transformation)과 군집(Clustering)이 있다. 비지도 변환은 데이터를 새롭게 표현하여 사람이나 다른 머신러닝 알고리즘이 원래 데이터보다 쉽게 해석할 수 있도록 만드는 알고리즘이다. 따라..