Data Analysis/Machine Learning (5) 썸네일형 리스트형 CNN(Convolutional Neural Networks) 개요 : Feature Map - Zero Padding - Pooling - Fully Connected Layer 개념 CNN은 MLP의 한 범주로 볼 수 있으며, 일반적으로 시각적 개체(이미지, 비디오, 3D 개체 등) 또는 2D 텐서에 활용 됩니다. CNN은 특징추출을 거쳐 분류를 하는 프로세스를 거치게 되는데, 특징 추출 영역은 Filter를 사용하여 공유 파라미터 수를 최소화하면서 이미지의 특징을 찾는 Convolution Layer와 특징을 강화하고 모으는 Pooling 레이어로 구성되어 있습니다. 이후 분류기를 통해 Classification을 수행하게 됩니다. 각 단계별로 살펴보면 다음과 같은 순서로 진행을 하게 되는데요. 1. Feature Map 생성 우선 Input Image를 Convolution 하여 Feature Map을 생성합니다. 이때 Kenel이라고 부르는 필터를 거치면서 이미지의 특징을 추출.. 경사하강법 Batch/Stochastic/Mini-Batch Gradient Descent (BGD, SGD,MBGD) 경사하강법은 가중치를 업데이트 하면서 예측값과 실제값간의 차이를 줄여주기 위한 방법입니다. 앞선 포스팅에서 Adaline에 대해서 설명했는데, Adaline에서 손실함수를 사용하여 최적의 가중치를 찾게 되는데요. 손실함수 MSE 는 2차함수로 표현이 되고, MSE를 최소가 되는 지점을 찾기 위해 미분값을 이용해 값을 찾게 됩니다. 미분값을 이용한다는 것은 결국 기울기를 이용한다는 것이고, 기울기가 0이 되는 지점, 즉 Gradient 값이 0이 되는 지점을 찾는 것이 경사하강법의 기본개념이라고 할 수 있습니다. 최초의 가중치는 보통 랜덤한 값으로 설정을 하는데, 초기 가중치 값이 어디냐에 따라서 최소값까지 가는데 더 빠른 경로가 될 수도 있습니다. 그리고 최초 가중치에서 이동을 하는 폭도 중요한 파라메터.. 인공신경망 초기 모델, ADALINE(아달라인) 이해, 손실함수(Loss Function) MSE (Mean Squared Error) 신경세포의 초기 모델로 불리는 아달라인 ADALINE 은 스탠포드 대학의 버나드 위드로 Bernard Widrow 와그의 제자 테드 호프 Ted Hoff 가1960년에 개발한 모델입니다. ADALINE은 Adaptive Linear Neuron의 줄임말로 최적의 리니어 뉴런을 찾는것이라고 이해하면 될 것 같습니다. 퍼셉트론 모델의 경우에는 순입력 함수의 리턴값을 임계값을 기준으로 1과 -1로 분류를 합니다. Error라고 표현된 부분이 실제값과 예측값이 차이가 되고 이를 통해 w(가중치)를 업데이트 하게 됩니다. Adaline은 순입력함수의 리턴값과 실제 결과값(Error)의 오차가 최소화 되도록 가중치를 조정하게 됩니다. 이때 Gradient 방식을 사용해서 가중치를 업데이트 하게 됩니다. Percpt.. 딥러닝 Neural Network AND 함수, XOR 문제 해결 방법 딥러닝의 기초 개념에서 거론되는 것 중 하나가 바로 XOR 문제인데요. AND, OR 등은 Single Linear Separable 특성을 지니지만, XOR 문제에서는 조금 까다로워지기 시작합니다. 먼저 AND 함수를 가지고 살펴보면 다음과 같습니다. [AND 함수 분류] 먼저 하나의 퍼셉트론을 가지고 분류를 하게되면, 출력 S(y) = W1*X1 + W2*X2 + W0 활성화 함수의 Decision Boundary가 0을 경계로 변경되기 때문에, y=0으로 설정하게 되면 위와 같이 수식을 정리할 수 있습니다. 이걸 X1, X2 평면에 표시하게 되면, 다음과 같습니다. 이때 기울기는 "-W1 / W2" 가 되고, 절편(Intercept)는 "-W0 / W2"가 되게 됩니다. AND 와 OR, NOR 함.. 머신러닝(Machine Learning) 정의 및 지도학습,비지도학습,강화학습 1. Machine Learning (머신러닝) 정의 - Arthur Samuel (1959) : 머신러닝의 학술적 정의는 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야이다. - Tom Mitchell (1998) : 어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정하였을 때 경험E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업T와 성능측정P에 대해 경험E로 학습한것이다. - 인공지능의 한 분야이며 컴퓨터가 학습할 알고리즘을 개발하고 알고리즘이 적용된 모델을 구현하고, 구현된 모델을 통하여 컴퓨터가 스스로 학습할 수 있도록 해주는 것을 머신러닝이라고 할 수 있습니다. - 머신러닝은 Training Data를 통해 학습하여 알려진 속성을 기반으로 예측에 초점을 둡니.. 이전 1 다음