본문 바로가기

데이터사이언스

(27)
딥러닝의 수학적 구성 요소 딥러닝에서의 데이터표현 텐서: 데이터를 위한 컨테이너, 임의의 차원 개수를 가지는 행렬의 일반화된 모습, 차원을 종종 축이라고 부름 스칼라(0D 텐서): 하나의 숫자만 담음, 축의 개수는 0 벡터(1D 텐서): 숫자의 배열을 벡터 또는 1D 텐서라고 부름, 하나의 축 행렬(2D 텐서): 벡터의 배열이 행렬 또는 2D 텐서, 2개의 축, 숫자가 채워진 사각 격자라고 생각할 수 있음 3D텐서와 고차원텐서 행렬들을 하나의 새로운 배려로 합치면 숫자가 채워진 직육면체 형태로 해석할 수 있는 3D텐서가 만들어짐 3D텐서들을 하나의 배열로 합치면 4D 텐서를 만드닌 식으로 이어짐 딥러닝에서는 보통 0D에서 4D까지 텐서를 다루며, 동영상 데이터는 5D 텐서까지 가기도 함 텐서의 예시 벡터 데이터: (samples,..
딥러닝의 필요성 기존 shallow 알고리즘의 한계 자연 데이터의 복잡성: 말, 시각 등은 계층적 구조를 지님 계층적 구조란 같은 수준의 객체들이 서로 관계를 가지면서 한 차원 높은 복잡도의 객체를 형성하는 구조 예) 분자 -> 세포 -> 조직 -> 유기체 기존 shallow 알고리즘들은 계층적 구조 데이터를 학습하기에는 그 구조가 지나치게 간단함 따라서 자연 데이터의 복잡성을 따라갈 학습 능력이 안됨 Deep learning의 필요성 보통 수집할 수 있는 것은 가장 상층인 level 1에 해당하는 데이터이고, 복잡한 자연 데이터를 학습하기 위해선 그에 상응하는 학습 능력을 갖춘 알고리즘이 필요함 1회 학습시키는 shallow 알고리즘보다 모델 여러개를 계층적으로 학습시키는 DL이 강력한 학습 능력을 보임 DL 발전 원..
머신러닝/딥러닝의 역사 확률적 모델링 통계학 이론을 데이터 분석에 응용하였음 나이브 베이즈 알고리즘 로지스틱 회귀 커널 방법 입력 데이터를 새로운 고차원 표현으로 매핑하여 분류하는 방법 서포트 벡터 머신(SVM) 초창기 신경망 1950년대 시작했으나 대규모 신경망을 훈련시킬 수 없었음 신경망 구조 Input layer: 입력 데이터를 받아들이며, 하나의 node가 하나의 속성을 표현 Output layer: 분류된 클래스 정보를 표현하며, 회귀모델의 계수 값과 같이 학습을 통해 알아내고자 하는 목적 속성을 도출 Hidden layer: Input layer에서 받은 정보를 처리하기 위한 nodes로 이루어져 있으며, 2개 이상의 layer로 구성될 수 있음 Learning: 입력 데이터가 어떻게 처리되고 어떤 모델을 도출할 것..
인공지능과 머신러닝 그리고 딥러닝 소개 인공지능 : 사람이 수행하는 지능적인 작업을 자동화 한 것 명시적인 규칙을 충분하게 만들어 지식을 다루면 인간 수준의 인공지능을 만들 수 있다는 접 동작 원리는 if-then-else로 이루어짐 규칙이 명확하지 않은 이미지 분류, 음성 인식, 언어 번역 등의 데이터에는 적합하지 않음 이를 대체하기 위한 방법이 머신 러닝임 머신러닝 : 프로그램화되는 것이 아닌 훈련(training)이 목적 작업과 관련된 많은 샘플을 제공하면 데이터에서 통계적 구조를 찾아 자동화하기 위한 규칙을 찾아냄 주어진 정보를 응용하여 스스로 규칙을 생성하고 귀납적 추론을 수행할 수 있는 시스템임 (영화 추천, 자연어 처리 등) 데이터에서 표현을 학습: 가능성 있는 공간을 사전에 정의하고, 피드백 신호의 도움을 받아 입력 데이터에 대..
연관규칙의 support와 confidence 연관규칙 변수들 간의 숨겨진 관계를 if-then rule 형태로 찾아낼 때 사용함 (독립과 종속변수의 구분이 없음) 모든 데이터가 범주형이라는 가정하에 진행되며, 일반적으로 수치자료에는 부적합함 Support 실제 거래 내역 데이터가 해당 규칙을 지지하는 정도로, 전체 거래 내역 데이터(m) 중에 X와 Y를 동시에 포함한 거래 내역의 비율로 계산 (m은 전체 거래 수) Confidence 실제 거래 내역 데이터에서 구할 수 있는 해당 규칙의 신뢰도(정확도)로, X를 포함한 거래내역 중 Y도 포함하는 비율로 계산 Example
K-means와 DBSCAN 비교 K-means clustering K개 군집의 중심좌표를 고려하여 각 객체를 가까운 군집에 배정하는 반복적 알고리즘 군집의 개수(K)오 초기 중심점에 따라서 결과가 달라짐 이상치가 전체 거리 평균값에 영향을 주어 이상치에 민감한 단점이 있음 이를 개선하기 위해 평균 대신 중간점(medoids)을 사용하는 K-medoids clustering 방법이 있음 DBSCAN (Density-Based Spatial Clustering of Applications with Noise) eps-neighbors와 minPts를 사용하여 군집을 구성 Eps-neighbors: 한 데이터를 중심으로 epsilone 거리 이내의 데이터들을 한 군집으로 구성 minPts: 한 군집은 minPts 보다 많거나 같은 수의 데이..
PCA의 목적함수와 제약조건 PCA (Principal Component Analysis) 입력 변수들로 구성된 축 공간을 소수의 새로운 축으로 구성된 공간으로 만들어 가는 과정 (차원 축소) 새로운 축은 입력 변수의 선형결합으로 만들고, 데이터의 변별력이 큰 순서대로 구함 데이터의 변별력이 작은 새로운 축은 무시할 수 있음 주성분 분석에서는 분산이 큰 순서대로 변수의 중요도가 정해진다고 가정함
차원의 저주와 해결방법 (feature selection, feature extraction) 차원의 저주 데이터보다 변수가 많을때 생기는 현상으로, 학습을 느리게 하고 과적합이 발생할 가능성이 높아짐 고차원으로 갈수록 전체 공간에서 데이터가 차지하는 영역이 매우 작아짐 예측을 위해 훨씬 많은 작업을 해야하고 과적합이 되어 저차원일때보다 예측이 불안정해짐 입력 변수의 수가 너무 많으면 잡음(noise)이 발생하여 분류 모형의 정확도 감소함 입력 변수 간에 상관관계가 있는 경우 다중공선성이 발생해 모형이 불안정해짐 차원축소의 중요성 차원 축소를 통해 모형의 복잡도를 낮춰 예측 모델의 성능을 개선할 수 있음 이를 통해 모형의 정확도를 높일 수 있고, 모델 학습 속도가 향상되며, 데이터 시각화가 쉬워짐 Feature selection 중요한 변수를 찾는 과정으로 데이터 속에 존재하는 중복되고 상관없는 ..