나혼머(나혼자머신러닝)

[머신러닝] 기초 질문 정리

기기괴괴발자 2021. 2. 1. 01:38


1. Linear Regression과 Logistic Regression 을 설명하고 그 차이점은 ?
<Logistic Regression>
- 데이터가 특정 카테고리에 속할지를 0과 1사이의 연속적인 확률로 예측하는 회귀 알고리즘이며, 확률에 기반하여 특정 데이터가 어떤 카테고리에 속할지를 결정하게 되고 궁극적으로 classification 문제를 해결함


<Linear Regression (선형 회귀)>
- input data에 따른 output data의 관계를 1차원 방정식으로 구하는 것



2. Cross Validation은 무엇이고, 어떻게 해야할까?
-Cross Validation (교차검증) : 과대적합(Overfitting)을 방지하기 위한 도구.
- Training set을 고정하면(똑같은 Training set을 사용해서 모델을 만들면), Training set에만 잘 맞는 모델이 만들어져 새로운 데이터에 대한 일반화가 되지 않음. 그래서 Training set, Test set으로 데이터를 나눔.
-그리고 Training set을 다시 Validation set으로 나눔. 그리고 Traning set으로 parameter를 추정하고, Validation set으로 hyperparameter를 설정한다. 그리고 최종 모형을 만든 후에 test set으로 모형평가를 한다. 하이퍼파라미터를 설정합니다. 그리고 최종 모형을 만든 후, 테스트 셋을 활용해 모형 평가를 합니다.
- 교차검증은 holdout cross validation , k-fold cross validation , Leave-p-out cross validation 등이 있음

3. 회귀 / 분류 시 알맞은 metric은 무엇일까?
* metric -> 성과나 혹은 상태를 측정(measure)해서 수치화 한 것(Quantified)

<회귀>
- 회귀 : 실제 값과 모델이 예측하는 값의 차이에 기반을 둔 metric(평가)를 사용
- RSS(단순 오차 제곱 합), MSE(최소 제곱 오차), MAE(최소 절대값 오차) 있음
✔️ RSS(단순 오차 제곱 합) : 예측값과 실제값의 오차 제곱 합
✔️ MSE(최소 제곱 오차 ) : RSS를 데이터 개수만큼 나눈 값. 오차에 제곱을 하기 때문에 이상치(outlier)를 잡아내는데 효과적.
✔️ MAE(최소 절대값 오차) : 예측값과 실제값의 오차의 절대값 평균. 변동치가 큰 지표와 낮은 지표을 같이 예측하는 데 효과적.
- MSE, MSA 는 간단한 평가 방법이고 직관적임.
그러나 평균을 그대로 해 데이터 크기에 의존하는 단점.
* 이를 해결하기 위해 R2(결정계수) 가 있음
- R2(결정계수) = 1-(RSS/전체 분산)
- 결정계수 : 회귀 모델의 생명력을 표현하는 지표.
1에 가까울 수록 높은 성능의 모델

<분류>
- 어떤 모델이 얼마나 데이터를 클래스에 잘 맞게 분류했는지 측정하기 위한 혼동 행렬(Confusion Matrix) 사용.
- 혼동행렬(Confusion Metrix)는 어떤 데이터에 대해 모델이 예측한 클래스와 실제 클래스가 일치하는 지를 따짐
- Accuracy(정확도), Precision(정밀도), Recall(재현율)
✔️


4. 휴리스틱의 정의는?
- 휴리스틱(Heuristic) : 비결정적 경로를 택하는 경험에 기반한 해결방법
- 알고리즘적 해법이 없는 문제나, 알고리즘이 복잡한 문제 두 가지로 나눌 수 있음
- 불충분한 시간이나 정보로 인해 합리적인 판단을 할 수 없거나 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 용이하게 구성된 간편 추론


5. 클러스터링은 무엇인가?
- Clustering(클러스터링, 군집화) : 개체들이 주어졌을 때, 개체들을 몇 개의 클러스터(부분 그룹)으로 나누는 과정
- 클러스터 내부 멤버들이 서로 가깝거나 비슷하게, 서로 다른 클러스터 사이의 멤버들간 서로 멀거나 비슷하지 않게 하는 것이 클러스터링의 목적임
- 클러스터링의 원리는
(1) 군집 내 응집도 최대화 : 같은 군집 내 응집도를 최대화 하는 것으로, 같은 군집 내 객체들의 거리를 최소화
(2) 군집 내 분리도 최대화 : 다른 군집 간 거리를 최대화
- 정답이 없는 비지도학습(unsupervised Learning)
- 정답이 없기 때문에 단순정확도(accuracy)등 지표 사용 불가
- 군집타당성지표(Clustering Validity Index) 사용
(1) 군집 간 거리 (2) 군집의 지름 (3) 군집의 분산 등을 고려
* 군집 간 거리는 유클리디안 거리, 맨하탄 거리척도 유형
- 클러스터링 유형은
(1) 분리형(비계층적) 군집화(Partitioning Clustering) : 사전에 군집의 수를 정해주어 대상들이 군집에 할당되도록 하는 것으로, 대표적으로 K-Means algorithm이 있음
(2) 계층적 군집화(Hierarchical Clustering) : 각 객체가 n개(객체의 수)의 독립적인 각각의 군집에서 출발하여 점차 거리가 가까운 대상과 군집을 이루어 가는 것으로, 대표적으로 H-Clustering algorithm이 있음
- 클러스터링의 종류
* hard clustering : 한 개체가 여러 군집에 속하는 경우를 허용하지 않는 군집화 방법
* soft clustering : 한 개체가 여러 군집에 속할 수 있습니다.
* pational clustering : 전체 데이터의 영역을 특정 기준에 의해 동시에 구분하는 군집화 방법. 각 개체들은 사전에 정의된 개수의 군집 가운데 하나에 속하게 됨. K-mean 군집화가 대표적.
* hierarchical clustering : 개체들을 가까운 집단부터 차근차근 묶어나가는 방식. 군집화 결과뿐 아니라 유사한 개체들이 결합되는 덴드로그램(dendrogram)을 생성.
*Self-Organizing Map : 뉴럴넷 기반의 군집화 알고리즘.
*Spectual clustering : 그래프 기반의 군집화 방법론


- 참고 사이트 :
1) https://www.slideshare.net/mobile/minwoo84/funnel-mental-model

데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)

- 강의록 전문 읽기: http://bit.ly/2KKtzRA 데이터 분석(데이터 사이언스 말고, 통상적으로 스타트업에서 '데이터 분석'이나 '그로스'에 쓰는 데이터 분석)을 공부하려면, 어떤 기본 개념을 가지고 계

www.slideshare.net

2) https://mole-starseeker.tistory.com/m/30

회귀 / 분류시 알맞은 metric과 그에 대한 설명

# 회귀 / 분류시 알맞은 metric은 무엇일까요? # 알고 있는 metric에 대해 설명해주세요(ex. RMSE, MAE, recall, precision …) 모델에게 주어진 목표를 얼마나 잘 달성했는가를 측정해야 어떤 모델이 좋은 모

mole-starseeker.tistory.com

3) https://rk1993.tistory.com/m/entry/교차검증Cross-Validation-쉽게-이해하기

교차검증(Cross-Validation) 쉽게 이해하기

training / validation / test dataset 교차 검증을 설명하기에 앞서 training / validation / test dataset에 대해 간단한 개념부터 이해해야 합니다. 먼저 데이터를 왜 분할하여 사용할까요. 모델을 만드는 것은..

rk1993.tistory.com

4) https://losskatsu.github.io/machine-learning/cross-validation/#머신러닝-크로스-밸리데이션cross-validation-교차-검증의-개념-의미

[머신러닝] 크로스 밸리데이션(cross validation, 교차 검증)의 개념, 의미

[머신러닝] 크로스 밸리데이션(cross validation, 교차 검증)의 개념, 의미

losskatsu.github.io

5) https://m.terms.naver.com/entry.nhn?docId=2070217&cid=41991&categoryId=41991

휴리스틱

시간이나 정보가 불충분하여 합리적인 판단을 할 수 없거나, 굳이 체계적이고 합리적인 판단을 할 필요가 없는 상황에서 신속하게 사용하는 어림짐작의 기술. [ 1. 개요] 사람들은 자신이 부딪히

m.terms.naver.com

6) https://ratsgo.github.io/machine%20learning/2017/04/16/clustering/

Clustering 개요 · ratsgo's blog

이번 글에서는 클러스터링(Clustering;군집화)의 전반적 내용에 대해 살펴보도록 하겠습니다. 이번 글은 고려대 강필성 교수님과 역시 같은 대학의 김성범 교수님 강의를 정리했음을 먼저 밝힙니

ratsgo.github.io

7) https://movefast.tistory.com/m/239

클러스터링 (Clustering)

개념 (Concept) - 군집 분석(Cluster analysis)은 비지도 학습으로, 지도 학습이 분류(Classification)를 위해 미리 레이블(label)되어 있어 전문가(해당 데이터셋에 대한 분석이 필요, 레이블의 의미 등)의 도

movefast.tistory.com

8) https://leedakyeong.tistory.com/m/entry/군집분석이란-What-is-clustering-algorithm

군집분석이란? (What is clustering algorithm?)

지난 포스팅에서 군집(clustering)과 분류(classification)의 간단한 정의와 차이점을 알아보았다. >> 군집과 분류의 차이 바로가기 이번에는 군집분석(clustering)에 대해 좀 더 깊게 알아보겠다. 1. 군집

leedakyeong.tistory.com