본문 바로가기

Machine Learning47

ML #6 : 머신러닝 지도학습 기본 개념 (분류, 예측) 지도학습 이란?지도학습이란, 컴퓨터에게 어떤 것이 맞는 답인지를 지정해줌으로써 모델을 생성했을 때, 컴퓨터는 지정해 준 답과 비슷한 것을 판단해서 맞는 것이 무엇인지 판단하게 됩니다. 맞는 답이란 목적 값인 Target Value 입니다. 지도학습을 위해서는 세가지를 따져봐야 합니다. 무엇을 분석할 것인지, 분석을 위한 준비 사항은 무엇인지에 대해 정의되어야하며, 머신러닝에 사용하기 위한 데이터 준비가 필요합니다. 학습을 위한 데이터는 최대한 정답에 가까운 데이터가 필요합니다. 지도학습의 방법에는 크게 분류(Classification)와 예측(Regression)이 있습니다. 예측은 Continuous Value가 목적 값이며, 분류는 Ordinal Data가 목적 값으로 머신러닝을 수행합니다. 간단하게.. 2020. 4. 10.
ML #5 : 머신러닝 데이터 샘플링 방법과 필요성 (확률적, 비확률적 샘플링) 데이터 샘플링 필요성머신러닝에서 입력 데이터가 많아지면 처리 속도가 느려지게 됩니다. 그렇기 때문에 머신러닝의 처리 속도를 빠르게 하기 위해서 대표되는 데이터로 최적화한 후에 머신러닝을 수행한다면 머신러닝의 학습 속도가 빨라집니다. 그렇다면 어떻게 해야 필요한 데이터만 사용할 수 있도록 데이터를 축소할 수 있는지 알아보겠습니다. 데이터 샘플링이란?데이터를 일부 정리해서 최적의 입력 데이터로 만드는 과정입니다. 데이터 샘플링을 예로 들자면 한 피자집의 작년 수익을 분석하기 위해 '일' 단위의 매출을 사용하는 것보다는 '월' 단위의 매출을 사용함으로써 머신러닝의 처리 속도를 빠르게 해줄 수 있습니다. 이와 같이 최적의 데이터를 만들에 내는 작업이 필요합니다. 데이터 샘플링 방법에는 확률적 샘플링, 비확률적 .. 2020. 4. 7.
ML #4 : 머신러닝 데이터 준비 방법 (데이터 누락 값 처리, 정규화, 분할) 데이터 준비 필요 이유머신러닝에 활용하기 위한 데이터는 다양한 환경에서 수집되기 때문에 다양한 문제점이 발생합니다. 불완전한 데이터, 손상된 데이터, 일치하는 값이 없는 데이터 등 문제점이 있는 데이터가 수집되게 되는데 데이터의 품질이 나쁘면 머신러닝의 수행 결과도 나빠지게 됩니다. 즉, 머신러닝 결과를 통해 우수한 예측 시스템을 만들려면 데이터가 우수해야 합니다. 따라서, 좋은 데이터를 얻기 위한 데이터 준비가 필요합니다. 머신러닝을 위한 좋은 데이터는 아래와 같습니다. - 머신러닝 목적에 맞는 데이터- 손상되지 않은 데이터- 충돌하는 레코드가 없는 데이터- 누락 값이 없는 데이터- 충분한 양의 데이터 데이터 준비 절차우수한 품질의 입력 데이터를 위해 데이터 정리, 데이터 변환, 데이터 감소, 데이터 .. 2020. 4. 6.
ML #3 : 머신러닝 과적합 판단 기준과 일반화 방법 (정규화, 검증) 과적합란?일반적으로 과적합이란 만들어진 모델이 지나치게 복잡하여 학습 데이터에 대해서는 올바른 결과를 출력하지만 실제 데이터가 입력되었을 때 올바른 결과를 출력하지 못하는 것을 말합니다. 머신러닝에서 데이터가 너무 많다고해서 좋은 것만은 아닙니다. 학습 알고리즘은 적절한 수준을 유지할 필요가 있습니다. 즉, 만들어진 모델이 지나치게 단순하거나 지나치게 복잡하다면 실제 데이터가 입력되었을 대 정확한 출력을 기대하기 어렵다는 것입니다. 동일한 학습데이터로 학습된 3개의 모델을 비교해본다면 위와 같습니다. 모델 1은 너무 단순화 되어있고 모델 3은 과적합이 되어 있습니다. 위에서 설명한 바와 같이 학습데이터에 대해서는 정확한 결과를 출력하지만, 실제 데이터에 대해서는 부정확한 결과를 출력합니다. 모델 2와 같.. 2020. 4. 5.
ML #2 : 머신러닝 수행 절차 (데이터 수집, 전처리, 학습, 평가) 머신러닝 수행 절차머신러닝은 데이터로부터 모델을 만드는 단계와 만들어진 모델을 적용하는 단계로 나눌 수 있습니다. 모델을 만드는 단계는 예를 들자면 고양이가 있는 사진으로 고양이를 판별하는 모델을 만드는 단계를 말합니다. 만들어진 모델을 적용한는 단계는 말그대로 새로운 데이터가 들어왔을 때 결과를 내주는 단계입니다. 예를 들자면, 새로운 고양이 사진으로 고양이인지 아닌지를 판별하는 단계입니다. 데이터로부터 모델을 만드는 단계를 조금 더 세분화하면 아래 4단계로 나눌 수 있습니다. 데이터 수집은 말그대로 고양이가 포함된 사진 혹은 고양이가 포함되지 않은 사진을 수집하는 단계입니다. 데이터 전처리는 수집된 데이터를 학습하기에 적당한 데이터로 전처리하는 단계입니다. 이후에 데이터를 학습시키고 모델을 만들고 만.. 2020. 4. 4.
ML #1 : 머신러닝의 역사와 종류, 용어 정리하기! (AI, 딥러닝, 한계) 머신러닝 역사머신러닝이라는 용어는 1959년에 아서 사무엘 (Arthur Samuel)의 논문에서 최초로 아래와 같이 정의되었습니다. 이후에 머신러닝에 대한 수많은 연구가 진행되었고 발전에 발전을 거듭하다가 침체기에 빠지고 21세기에 와서야 빛을 발한 기술입니다. 머신러닝이란, 명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야 머신러닝은 최근에 주목을 받게 되었습니다. 물론, 이전의 역사가 주목받기 시작한 역사보다 훨씬 깁니다. Neural Net이 처음 만들어졌고, XOR 논리를 해결하기 위해 다층 신경망이 개발되었고 딥러닝 모델이 만들어졌지만 컴퓨팅 파워와 테크닉의 부재로 딥러닝 모델을 학습 시키지 못해서 인공지능의 겨울이 찾아왔다가 Weight와 Bias의.. 2020. 4. 1.
통계 분석 #11 : 군집분석의 개념, 유형, 종류선택 with R (k-means clustering) 군집분석 이란?군집분석은 동일한 성격을 가진 여러 개의 그룹으로 대상을 분류하는 것을 말합니다. 군집화 혹은 군집분석이라고 말하는 분석 방법은 대상 개체를 유사하거나 서로 관련있는 항목끼리 묶어서 몇 개의 집단으로 그룹화하거나, 각 집단의 성격을 파악함으로써 데이터 전체의 구조에 대한 이해를 돕고자하는 탐색적 분석방법 입니다. 통계 분석 #7 : 회귀모델 적합도 평가 방법 with R 통계 분석 #8 : 교차 유효성 검사 Cross-Validation with R통계 분석 #9 : 혼동행렬 개념 및 성능 평가 방법 with R 통계 분석 #10 : 머신러닝 분류회귀, ROC 곡선의 개념 군집분석의 특징군집 분석은 종속변수에 대한 독립변수의 영향과 같이 사전에 정의된 특수한 목적이 없으며, 데이터 자체에 .. 2020. 3. 29.
통계 분석 #10 : 머신러닝 분류회귀, ROC 곡선의 개념과 모델 평가 방법 머신러닝의 분류를 평가할 때, Receiver Operation Characteristic (ROC) 곡선과 ROC 곡선의 결과 값인 Area Under Curve (AUC) 값으로 머신러닝 모델의 성능을 평가할 수 있습니다. 이때의 데이터는 범주형 데이터입니다. ROC 곡선은 혼동행렬의 민감도와 특이도를 Plot 함으로써 구할 수 있습니다. 오늘 포스팅에서는 머신러닝 분류 모델의 평가 방법인 ROC 곡선과 AUC에 대해 포스팅 정리해보겠습니다. ROC 곡선이란?ROC 곡선은 분류 모델의 성능 평가 방법입니다. 이는 2차 세계대전 당시 수신된레이더 신호에서 전투기를 찾으려는 미국의 레이더 연구에서 탄생한 개념입니다. 이는 두개의 범주를 가지고 있는 분 모형의 성능을 평가하기 위한 그래프 입니다. 민감도(.. 2020. 3. 28.
통계 분석 #9 : 혼동행렬 개념 및 성능 평가 방법 with R (Confusion Matrix) 컨퓨전 매트릭스 개념컨퓨전 매트릭스란, 머신러닝 or 통계학적 방법이 사용된 분류 모델에서 알고리즘의 성능을 보기 쉽게 시각화하는 테이블 형태의 레이아웃 입니다. 분류 모델에 의한 분류 예측이 실제와 같은지 다른지를 표시하고 이를 평가하는 방법입니다. 컨퓨전 매트릭스는 혼동행렬이라고도 불리며 모델을 만들 때 모델이 얼마나 정확한 결과를 계산하는지 객관적으로 측정할 수 있습니다. 통계 분석 #5 : 집단 간 평균 비교, ANOVA 분산분석의 정의 및 가정통계 분석 #6 : 범주형 자료 분류 방법, 로지스틱 회귀분석 with R통계 분석 #7 : 회귀모델 적합도 평가 방법 with R (잔차, 결정계수, F, T)통계 분석 #8 : 교차 유효성 검사 Cross-Validation with R 컨퓨전 매트릭스.. 2020. 3. 28.
통계 분석 #8 : 교차 유효성 검사 Cross-Validation with R 교차 유효성 검사는 Cross Validation 이라고 합니다. 주어진 데이터의 일부를 학습시켜 모델을 생성하고 나머지 데이터는 모델을 검증하는데 사용합니다. 회귀 모델이나 머신러닝 모델을 만드는 목적은 예측에 있습니다. 모델을 생성하고 예측이 얼마나 잘 맞는지를 확인해야하는데, 일부의 데이터로 모델을 학습시키고 일부의 데이터는 학습될 모델을 검증하는데 사용한하면 예측의 정확도가 좋은 모델을 만들 수 있습니다. 한마디로, 데이터를 나눠서 모델을 만들고 검증하는 방법입니다. 통계 분석 #3 : 상관분석 정의, 상관계수 해석 기준 with R통계 분석 #4 : 변수 간 인과관계, 회귀분석의 정의 및 단계 with R통계 분석 #5 : 집단 간 평균 비교, ANOVA 분산분석의 정의 및 가정통계 분석 #6 .. 2020. 3. 26.