본문 바로가기

전체 글

(10)
[머신러닝] 군집화(Clustering) K-평균 군집화(K-Means Clustering) K-평균 군집화(K-Means Clustering)은 군집화에서 가장 많이 사용되고 쉽게 적용할 수 있다. 우선 군집 중심점(Centroid)를 설정하고 주변 데이터를 그룹화한다. 그룹화된 데이터들의 평균 지점으로 군집 중심점을 이동하며 다시 주변 데이터를 그룹화한다. 이 과정을 반복하면서 데이터들을 군집화하게 된다. 적용 알고리즘이 쉽고 간결하며 대용량 데이터에도 활용이 가능하지만 거리 기반 알고리즘이기 때문에 속성의 개수가 많을 경우 군집화 정확도가 떨어진다. 또 이상치(Outlier) 데이터가 많을 경우 군집화의 신뢰도가 떨어지게 된다. - K-평균 군집화 과정 1. 군집 중심점을 군집화 개수만큼 임의의 위치에 가져다 놓는다. 2. 각각의 데이터들..
[머신러닝] 차원 축소(Dimension Reduction) 알고리즘 차원 축소(Dimension Reduction)는 많은 피처로 구성된 다차원 데이터 세트를 차원을 축소해 새로운 차원의 데이터 세트를 생성하는 것이다. 다차원에서의 데이터 세트의 경우 적은 차원보다 예측 신뢰도가 떨어지기 때문에 차원을 축소해 직관적으로 데이터를 해석할 수 있다. 차원 축소는 단순히 데이터의 압축만을 의미하는 것이 아닌 데이터를 잘 설명할 수 있는 잠재적인 요소를 추출하는 것이다. 차원 축소를 하는 과정은 피처 선택(feature selection)과 피처 추출(feature extraction)이 있다. 피처 선택은 많은 데이터 중에서 불필요한 피처는 제거하고 의미 있는 피처만 선택하는 방법이다. 피처 추출은 기존의 피처들 중에서 의미 있는 피처들을 압축하여 새로운 피처를 만들어 내는 ..
[머신러닝] 회귀 평가 지표 MAE(Mean Absolute Error) MAE는 Mean Absolute Error의 약자로 실제 값과 예측값의 차이를 절대값으로 변환해 평균해서 구하는 평가 지표이다. MSE(Mean Squared Error) MSE는 Mean Squared Error의 약자로 실제 값과 예측값의 차이를 제곱해 평균한 것이다. RMSE(Root Mean Squared Error) RMSE는 Root Mean Squared Error의 약자로 MSE를 구한 값에 루트를 씌운 값을 뜻한다. MSE 갑은 오류의 제곱을 평균한 것이므로 실제 오류 평균보다 더 커지기 때문에 루트를 사용한다. R2 분산 기반으로 예측 성능을 평가한다. 실제 값의 분산 대비 예측값의 분산 비율을 지표로 하며 1에 가까울수록 예측 정확도가 높..
[머신러닝] 회귀(Regression) 알고리즘 회귀(Regression)은 머신러닝의 지도학습에 유형 중 하나로 예측값이 연속 값인 분류(Classification)와 다르게 예측값이 실수값이다. 머신러닝에서의 회귀는 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링 하는 것이 기본적인 개념이며 독립변수에 영향을 미치는 회귀 계수(Regression coefficients)의 최적 값을 찾아 종속변수를 예측해내는 것이다. 단순 선형 회귀(Simple Linear Regression) 회귀는 독립변수의 개수에 따라 1개인 경우는 단일 회귀 여러 개일 경우에는 다중 회귀로 나뉜다. 또 회귀 계수가 선형이냐 비선형이냐에 따라 선형 회귀와 비선형 회귀로 나눌 수 있다. 아래의 사진은 단순 선형 회귀(Simple Linear Regression)..
[머신러닝] 분류의 성능 평가 지표 정확도(Accuracy) 실제 데이터에서 예측 데이터가 얼마나 같은지를 판단하는 지표 전체 예측 데이터 건수에서 예측 결과가 동일한 데이터 건수를 계산한 값이다. 불균형한 레이블 분포에서는 잘못된 예측이라도 높은 정확도가 나올 수 있기 때문에 정확도를 평과 지표로 사용할 때는 신중해야 한다. 이러한 한계점을 극복하기 위해 다양한 분류 지표를 함께 활용해야 한다. 오차행렬(Confusion Matrix) 학습된 분류 모델이 예측을 수행하면서 얼마나 헷갈리고(confused) 있는지 확인하는 지표 TN : 예측값을 Negative 값 0으로 예측했고 실제 값 역시 Negative 값 0 FP : 예측값을 Positive 값 1로 예측했는데 실제 값은 Negative 값 0 FN : 예측값을 Negative ..
[머신러닝] 분류(Classification) 알고리즘 머신러닝의 지도학습에 대표적인 유형 중 하나는 분류(Classification)이다. 분류는 주어진 데이터를 클래스 별로 구별해 내는 과정으로 다양한 분류 알고리즘을 통해 데이터와 데이터의 레이블 값을 학습시키고 모델을 생성한다. 데이터가 주어졌을 때 학습된 모델을 통해 어느 범주에 속한 데이터인지 판단하고 예측하게 된다. 분류를 위한 다양한 알고리즘이 존재하는데 아래에서 대표적인 분류 알고리즘들을 간략하게 알아보자. 로지스틱 회귀(Logistic Regression) 로지스틱 회귀는 일반적이고 효과적인 분류 알고리즘이다. 이름에 회귀라는 단어가 종종 회귀 분석에만 사용될 것처럼 헷갈리곤 하지만 범주형 자료를 분류하는데 매우 강력한 알고리즘이다. 독립변수와 종속변수의 선형 관계성을 기반으로 만들어졌다. ..
[머신러닝] 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning) 인공지능은 머신러닝을 통해 학습하고 결과를 예측한다. 머신러닝을 학습시키기 위한 방법으로는 일반적으로 3가지가 있는데 각각 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning)이다. 1. 지도학습(Supervised Learning) 지도학습은 올바른 정답을 사전에 알려주고 학습을 시키는 방법이다. 데이터(Input)와 이 데이터가 무엇인지 기록한 레이블(label)을 함께 학습하여 인공지능에게 올바른 정답(Output)이 무엇인 지 알려준다. 데이터와 정답 레이블을 함께 학습한 인공지능은 이를 토대로 다양한 데이터를 식별할 수 있게 된다. 지도학습의 대표적인 방법으로는 분류(Classification)와..
[Android] tensorflow lite 사용 시 GPU Delegate 지원 여부 확인 import org.tensorflow.lite.gpu.CompatibilityList; CompatibilityList compatList = new CompatibilityList(); GPU 델리게이트가 추론을 실행하는 디바이스에서 지원하는지 확인 compatList.isDelegateSupportedOnThisDevice(); 현재 디바이스에 맞는 옵션 추천 compatList.getBestOptionsForThisDevice();