목록딥러닝 (42)
Broccoli's House
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 3층 신경망 구현 신호 전달 구현 - 입력층(Input Layer, 0층)은 2개, 첫 번째 은닉층(First Hidden Layer, 1층)은 3개, 두 번째 은닉층(Second Hidden Layer, 2층)은 2개, 출력층(Output Layer, 3층)은 2개의 노드로 구성된 3층 신경망이다. (1) 입력층에서 1층으로의 신호 전달 - 가중치 계산X = np.array([1.0, 0.5]) # 입력값 W1 = np.array([[0.1, 0.3, 0.5], [0.2, 0.4, 0.6]]) # 가중치(weight) B1 = np.array([0.1, 0.2, 0.3]) # 편향(bias) A1 = np.dot(X, W1) + B1 # X와 ..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 활성화 함수 활성화 함수 - 활성화 함수(Activation Function) : 퍼셉트론 알고리즘에서, 입력 신호에 가중치를 곱한 값을 임계치와 비교하여 그보다 크면 1을, 작으면 0을 반환한다. 이 때 임계치와 비교하여 0또는 1을 출력하는 함수를 활성화 함수라한다. 즉, 활성화 함수란 입력 신호의 총합을 출력 신호로 변환하는 함수이다. 입력 신호의 총합이 활성화를 일으키는지 정하는 역할을 한다. 다음은 입력 신호의 총합 a를 출력 신호 y로 변환하는 활성화 함수 h이다. 계단 함수 - 계단 함수(Step Function) : 임계치를 경계로 출력이 바뀌는 함수이다. 즉, 0을 경계로 출력이 0에서 1, 또는 1에서 0으로 바뀌는 함수이다. ..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 신경망(Neural Network) 신경망 - 인공 신경망(Artificial Neural Network) : 머신러닝에서 생물의 중추 신경계, 그 중에서도 뇌에서 영감을 얻은 통계학적 학습 알고리즘이다. 인공 뉴런(노드)이 서로 연결되어 네트워크를 형성하고, 각각의 뉴런이 학습을 통해 가중치를 변화시켜 문제 해결 능력을 가지는 모델 전반을 가리킨다. - 퍼셉트론 알고리즘의 경우, 복잡한 함수를 표현할 수는 있지만 가중치를 설정하는 작업은 사람이 수동으로 해야한다. 그러나 신경망은 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습하는 능력을 가지고 있다. - 신경망은 입력 신호가 들어가는 입력 노드가 층을 이루고 있는 입력층(Input L..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 퍼셉트론 : XOR 게이트 XOR 게이트 - XOR 게이트(Exclusive-OR) : 배타적 논리합. 입력이 같을 때는 0을, 입력이 다르면 1을 출력한다. x1x2y 000 101 011 110 - 퍼셉트론은 직선으로 나뉘는 두 영역을 만든다. 직선으로 나뉜 한쪽 영역은 1을 출력하고, 다른 한쪽은 0을 출력한다. 그러나 XOR 게이트의 경우 직선 하나로 영역을 나누는 것은 불가능하다. 따라서 선형 영역으로는 불가능하고, 곡선으로 나누는 비선형 영역에서는 가능하다. 즉, 단층 퍼셉트론으로는 비선형 영역을 분리할 수 없는 것이다. 다층 퍼셉트론 - 다층 퍼셉트론(Multi-Layer Perceptron) : 여러 개의 퍼셉트론을 층으로 쌓아 만..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 퍼셉트론 : 단순 논리 회로 AND 게이트 - AND 게이트는 두 입력이 모두 1일 때만 1을 출력하고, 그 외에는 0을 출력한다. x1x2y 000 100 010 111 def AND(x1, x2) : x = np.array([x1, x2]) w = np.array([0.5, 0.5]) b = -0.7 tmp = np.sum(w*x)+b # 퍼셉트론의 연산값을 저장 if tmp
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 퍼셉트론 알고리즘 퍼셉트론 - 퍼셉트론(Perceptron) : 신경망(딥러닝)의 기원이 되는 알고리즘이다. 다수의 신호를 입력으로 받아 각 노드의 가중치(w)와 입력 값을 곱한 것을 모두 더한 값이 활성 함수에 의해 판단된다. 그 값이 임계치보다 크면 1이 출력되고 작으면 0이 출력된다. - 퍼셉트론은 복수의 입력 신호 각각에 고유한 가중치를 부여한다. 가중치는 각 신호가 결과에 주는 영향력을 조절하는 요소로 작용한다. 그러므로, 가중치가 크다면 해당 신호가 그만큼 더 중요하다는 것을 뜻한다. 가중치와 편향 도입 - 임계치(θ)를 0으로 두기 위하여 편향(bias, b)을 도입한다. 즉, 퍼셉트론은 입력 신호에 가중치를 곱한 값과 편향을 합하여..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 지도 학습 알고리즘 : 나이브 베이즈 나이브 베이즈 분류기 - 나이브 베이즈(Naive Bayes) 분류기 : 데이터의 각 특성을 개별로 취급하여 매개변수를 학습하고, 각 특성에서 클래스 별로 통계를 단순하게 취합한다. 선형 모델과 매우 유사하나 로지스틱 회귀(Logistic Regression)나 선형 SVC보다 훈련 속도가 빠르고, 일반화 성능은 조금 뒤쳐진다. 데이터의 특성들이 각각 독립적이고 동등하게 중요하다는 'Naive(순진한)' 가정이 들어간다. 그러나 실제 문제에서 모든 특성이 동등하게 중요하지 않는 경우가 많다. - Ex) 어떠한 병에 걸릴 확률이 1%, 걸리지 않을 확률이 99%, 그 병에 대한 검사를 할 확률이 20%, 검사하..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 지도 학습 알고리즘 : 선형 모델 선형 모델 - 선형 모델은 입력 특성에 대한 선형 함수를 만들어 출력을 예측한다. 회귀의 선형 모델- 일반화된 예측 함수 : y = wx+b (w : 가중치, b : 편향)- 회귀를 위한 선형 모델은 특성이 하나일 때는 직선, 두 개일 때는 평면이 된다. - 예측 값 y가 각 특성들의 선형 조합이라는 것은 비현실적인 가정일 수 있다. 그러나 이것은 1차원 데이터에서 생각할 수 있는 편견이다. 특성이 많은 데이터 세트, 특히나 훈련 데이터보다 특성이 더 많은 경우에는 어떤 예측 값 y도 완벽하게 선형 함수로 모델링할 수 있다. - 회귀를 위한 선형 모델은 다양하다. 각 모델들은 훈련 데이터로부터 매개 변수 w와 b..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 지도 학습 알고리즘 : k-최근접 이웃 k-최근접 이웃 - k-최근접 이웃(k-Nearest Neighbors) 알고리즘은 가장 간단한 머신러닝 알고리즘으로써, 훈련 데이터 세트를 저장하는 것이 모델을 만드는 과정의 전부이다. 새로운 데이터 포인트가 주어지면 알고리즘이 훈련 데이터 세트에서 가장 가까운 데이터 포인트, '최근접 이웃'을 찾는다. 이때, k는 찾고자 하는 최근접 이웃의 개수를 뜻한다. k-최근접 이웃 분류- k-최근접 이웃 분류 : 알고리즘이 가장 간단하도록 k가 1인 경우, 가장 가까운 훈련 데이터 포인트 하나를 최근접 이웃으로 찾아 출력 예측에 사용한다. k가 2 이상일 때는 더 많은 이웃을 가지고 있는 클래스가 출력이 된다. ..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 지도 학습 지도 학습 - 지도 학습은 입력과 출력에 대한 데이터 세트가 있고, 주어진 입력으로부터 출력을 예측하고자할 때 사용한다. 지도 학습에는 분류와 회귀가 있다. 분류와 회귀 - 분류(Classification) : 분류는 미리 정의된 클래스 레이블 중 하나를 예측하는 것이다. 입력은 여러 개일 수 있지만 나올 수 있는 출력의 수는 정해져있고, 예측하고자 하는 클래스(출력) 사이에는 어떠한 연속성도 존재하지 않는다. 즉, 앞서 보았던 붓꽃의 품종 분류 예제가 에 대한 문제가 된다. 분류는 두 개의 클래스로만 분류하는 이진 분류와 셋 이상 여러개의 클래스로 분류하는 다중 분류로 나뉜다. - 회귀(Regression) : 회귀는 연속적인 숫자,..