비선형성 (Nonlinearity)
·
[AI] - Machine Learning
P.S. 안녕하세요. 해당 딥러닝 카테고리는 이직을 위해 기술면접을 보던 도중 딥러닝의 기본 요소들에 대해 구체적으로 말할 수 있을 정도가 아니라고 생각이 들어서 다시한번 복습하기 위해 만들었습니다. 딥러닝에 대한 배경지식이 있다는 가정하에 정리를 할 예정입니다. 비선형성을 딥러닝 사용하는 직관적인 이유딥러닝 모델에 비선형성을 부여하는 것은 매우 당연한 일이다.어떻게 보면 비선형 함수를 누적해서 부여하는 행위 자체가 딥러닝이기도 하다.선형 변환(Linear Transfomation)의 개념을 안다면, 단순 직교 좌표계 변환만으로는 복잡한 고차원적인 문제를 해결할 수 없다는걸 알 수 있다.그래서, 비선형 변환을 통해 직교 좌표계 공간을 곡선의 형태로 변환하여 보다 복잡한 문제를 해결하기 위함이다. 위 그..
군집화 평가 지표 (실루엣 계수, 응집도)
·
[AI] - Machine Learning
이번 포스트에서는 저번 포스트에서 다루었던 군집화 알고리즘이 잘 수행되었는지 판단하기 위한 지표에 대해 알아본다. 이번에 알아볼 지표로는 두 가지로 실루엣 계수와 응집도가 있다. 실루엣 계수 (silhouette score) 실루엣 계수는 각각의 데이터가 해당 데이터와 같은 군집 내의 데이터와는 얼마나 가깝게 군집화가 되었고, 다른 군집에 있는 데이터와는 얼마나 멀리 분포되어 있는지를 나타내는 지표이다. 실루엣 계수가 가질 수 있는 값은 -1~1이며, 1에 가까울수록 군집화가 잘 되었음을 의미한다. 하지만, 데이터 하나에 대한 실루엣 계수만 좋다고 군집화가 잘 이루어졌다고 일반화를 할 수 없다. 각 군집별 데이터의 수가 고르게 분포되어야 하며, 각 군집별 실루엣 계수 평균값이 전체 실루엣 계수 평균값에 ..
군집화 알고리즘 (K-Means Clustering)
·
[AI] - Machine Learning
이번 포스트에서는 저번 포스트에서 다루었던 군집화 알고리즘 중 대표적인 방법인 K-Means Clustering에 대해 알아보겠다. K-Means Clustering 알고리즘은 이름에서 알 수 있다시피 K개의 군집을 정하며, 데이터들의 평균 중심(거리의 평균)을 각 군집의 중심점으로 삼는다. STEP 1 : 군집의 갯수만큼 임의의 위치에 중심점을 정한다.STEP 2 : 각 데이터를 가장 가까운 중심점에 해당하는 군집에 소속시킨다.STEP 3 : 각 군집에 속해있는 데이터들의 평균 거리를 갖는 중심위치로 군집의 중심점을 이동시킨다. STEP 2~3의 과정을 반복하고, 중심점의 위치에 변화가 없을 경우 군집화 과정을 멈춘다. 알고리즘 자체는 단순하지만, 피처 수가 많아지면 기하급수적으로 느려지는 현상이 있..
군집화 알고리즘 (Clustering Algorithm)
·
[AI] - Machine Learning
이번 포스트에서는 비지도 학습 방법 중 군집화에 대해 알아보고, 군집화 알고리즘 유형에 대해 알아보겠다. 그렇다면 군집화는 무엇을 의미할까? 군집화는 다른 그룹보다 특성이 비슷한 데이터들끼리 그루핑하는 것을 의미한다. 예를 들어, 이 글을 읽는 독자가 사장이라고 가정해보자. 사장이 고객의 등급에 따른 새로운 비즈니스 전략을 세우려고 한다. (예를 들면, VVIP, VIP, 일반) 이 때, RFM (Recency, Frequency, Monetary) 분석을 통해 고객의 등급(=군집)을 분류할 수 있다. Recency : 고객이 얼마나 최근에 구매하였는가?Frequency : 고객이 얼마나 자주 구매하였는가?Monetary : 고객이 얼마나 많이(크게) 구매하였는가?즉, 이 세 가지 특성을 통해 클러스터..
선형 분류 (Linear Classification)
·
[AI] - Machine Learning
지난 포스트에서 선형 분류에 대해 자세히 다루지 못한것 같아 이번에 좀 자세히 다루려고 한다. 복습을 간단하게 하자면, 지도 학습에는 크게 분류와 회귀 문제가 존재한다. 그리고 회귀 문제는 데이터들을 가장 잘 나타내는 선을 찾는 것이 목적이다. 분류 문제도 회귀 문제와 메커니즘은 비슷하지만, 찾고자 하는 선의 목적이 다르다. 분류는 데이터들을 가장 잘 분류하는 선을 찾는 것이 목적이다. 즉, 회귀의 선은 데이터들 사이의 거리가 가까운 선을 찾으려고 하지만, 분류는 (클래스별로)거리가 먼 것을 찾으려고 하는 것이다. 사실 위의 그림을 이해를 위해 선으로 표현했지만, 선형 분류의 의미를 엄밀히 말하면 데이터를 잘 분류할 수 있는 초평면(hyperplane)을 찾는 것이라고 해야 정확한 의미이다. 이번 포..
회귀 알고리즘 (Ridge, Lasso, ElasticNet)
·
[AI] - Machine Learning
이번 포스트에서는 선형 회귀 이외의 다른 회귀 알고리즘에 대해 다뤄본다.결론부터 이야기하면 다음과 같다. Lasso = Linear Regression + L1 RegularizationRidge = Linear Regression + L2 RegularizationElasticNet = Linear Regression + L1 Regularization + L2 Regularization 우리는 학습을 하다보면 점점 Loss가 떨어지는 것을 확인할 수 있다. 하지만, 거기서 안심하면 안된다. 오버피팅(과적합)은 머신러닝 분야에서 항상 존재하는 이슈이다. 오버피팅을 방지하기 위한 기법은 여러가지가 존재한다. Dropout, Batch normalization, RandomCrop 등.. 여러가지 존재한..
선형성, 비선형성 (Linear, Non-linear)
·
[AI] - Machine Learning
이번 포스트에서는 선형, 비선형의 정의에 대해서 자세하게 짚고 넘어가려고 한다. 이 포스트를 작성하는 이유는 "선형" 이라는 단어에 대해 혼동되지 않기 위해서 남긴다. 처음으로 의문이 든 것은 다음 이미지에서 시작되었다. 이전 포스트에서 우리는 선형 회귀에 대한 내용을 다루었다. 위 이미지는 우리가 찾고자하는 선의 기울기와 절편을 얻기 위해 과도하게 update를 계속 진행하면 오버피팅이 발생한다는 의미를 나타낸다. 그런데, 보통 머신러닝을 배우다보면 선형을 기하학적으로 선의 모양을 유지하면 선형 (혹은 꾸불거리지 않거나)이라고 정의하는 것에서 모순을 느꼈다. 그렇다면, 오른쪽 그림은 꾸불거리면 더 이상 선형이 아니지 않은가? 왜 선형 회귀의 오버피팅이지? 라는 의문이 들었다. 답은 아래의 사이트에서..
선형 분류와 선형 회귀 (Linear Classification & Linear Regression)
·
[AI] - Machine Learning
이번 포스트에서는 선형 분류와 선형 회귀에 대해 다뤄본다. 본 내용을 이전에 지도 학습(Supervised Learning)에 대해 간단하게 다루고 넘어가겠다. 지도 학습은 입력 데이터와 정답 데이터가 같이 주어져 학습하는 방식을 의미한다. 즉, 학습할 때 입력 데이터를 통해 머신러닝 모델이 예측한 데이터와 정답 데이터를 비교하면서 생기는 오차(Residual)를 보정해나가는 것을 의미한다. 근데 왜 갑자기 지도 학습에 대해 언급을 했을까? 그것은 지도 학습의 대표적으로 분류(Classification) 문제와 회귀(Regression) 문제가 있기 때문이다.분류와 회귀는 둘다 예측 알고리즘이다. 그러나 무엇을 예측하는지가 다르다. 분류는 이산적인 값을 예측하는데에, 회귀는 연속적인 값을 예측하는데에 사..
GBM (Gradient Boosting Machine)
·
[AI] - Machine Learning
부스팅 알고리즘에는 대표적으로 AdaBoost와 GBM 방식이 있다. AdaBoost는 여러 개의 week learner를 순차적으로 학습하면서 틀린 데이터에 가중치를 부여하여 뒤에 있는 week learner가 분류하여 모든 분류 결과들을 취합하는 것을 의미한다. 반면, GBM은 여러 개의 week learner를 순차적으로 학습하면서 앞에 있는 week learner가 틀린 데이터에 가중치를 부여하여 오류를 개선하는 방향으로 학습하는 방식이지만 AdaBoost와의 차이점은 Gradient를 사용한다는 것이다. 딥러닝에 관심이 있다면 경사하강법 (Gradient Descent)에 대해 한번쯤은 들어봤을 것이다. 경사하강법에 대해 간략하게 설명하면, 실제 정답과 예측 정답 사이의 오차가 존재할 것이다..
앙상블 기법 (Ensemble)
·
[AI] - Machine Learning
지난 포스트에서는 의사 결정 나무에 대해서 다루었다. 의사 결정 나무는 단 하나의 분류기를 사용하지만, 이번 포스트에서는 여러 분류기들을 결합한 방법인 앙상블 기법에 대해 다룰 것이다. 마치 오케스트라처럼 여러 악기가 모여 화음을 이루듯, 여러 분류기들을 결합하는 것이다. P.S) 이미지, 영상, 음성과 같은 비정형 데이터의 분류는 딥러닝이, 정형 데이터에서는 앙상블이 좋은 성능을 낸다. 우선 앙상블의 조합 기법 4가지를 간단하게 살펴볼 것이다. 1. Voting 기법특징 1 : 서로 다른 알고리즘 결합특징 2 : 전체 데이터 셋을 알고리즘 사이에서 공유 2. Bagging 기법특징 1 : 같은 알고리즘 결합특징 2 : 전체 데이터 셋에 대하여 Bootstraping sampling (복원 추출)을 통해..