728x90
컴퓨터비전 면접 준비 - 머신러닝
1. 머신러닝과 딥러닝의 차이란?
머신러닝은 데이터에서 패턴을 학습하고 이를 활용하여 작업을 수행하는 알고리즘을 개발하는 것입니다. 딥러닝은 머신러닝의 한 분야로, 인공 신경망을 사용해 대규모 데이터를 학습합니다. 딥러닝 모델은 데이터에서 복잡한 패턴을 추출할 수 있는 능력을 가지고 있어, 머신러닝 기법보다 높은 성능을 보여주는 경우가 많아 복잡한 문제에 적합한 모델입니다.
2. 지도(Supervised), 비지도(Unsupervised), 준지도(semi-supervised)이란?
지도학습은 정답이 있는 데이터를 학습합니다. 비지도 학습은 정답이 없는 데이터를 학습하며, 준지도 학습은 정답이 일부만 있는 데이터를 학습합니다. 지도학습에는 크게 회귀와 분류가 있으며 대표적으로 KNN, Linear regression, logistic regression, SVM, Decision Tree, Random Forest, Neural Network이 있으며, 비지도 학습에는 Clustering, Dimensional Reduction(PCA, t-SNE 등)이 있습니다. 준지도 학습은 지도, 비지도 학습을 섞은 것으로 지도 학습으로 학습된 데이터를 한차례 거른 다음 비지도 학습을 통해 빠르게 유사한 데이터들을 클러스터링 하는 방법입니다.
3. 교차 검증(Cross-validation)이란?
교차 검증은 데이터를 여러 부분으로 나누고, 각 부분을 학습, 테스트 용도로 번갈아 사용하여 모델을 평가하는 방법입니다. 이를 통해 모델의 일반화 성능을 정확하게 측정할 수 있습니다. 대표적인 방법으로 K-fold 방법이 있습니다.
4. 정규화(Regularization)이란?
정규화는 머신러닝 모델의 복잡성을 줄이고 과적합을 방지하기 위한 기법입니다. Weight를 조정하는데 제약을 거는 방법으로 L1, L2 regularization 등이 있습니다.
5. 과적합(Overfitting)과 과소적합(Underfitting)이란?
과적합은 모델이 훈련 데이터에만 적합하게 학습되어 일반화 성능이 떨어지는 경우를 의미합니다. 과소 적합은 모델이 훈련 데이터를 충분히 학습하지 못해 학습 데이터에 대한 성능과 일반화 성능이 모두 떨어지는 경우를 의미합니다.
6. 하이퍼파라미터 최적화 방법이란?
하이퍼파라미터는 사람이 직접 지정해줘야 하는 변수로, 모델이 학습하면서 최적의 값을 자동으로 찾지 못하는 변수입니다. 하이퍼파라미터에는 학습률(Learning rate), 비용함수(cost function), epochs, weight initialization 등이 있습니다. 하이퍼파라미터 최적화는 탐색할 하이퍼파라미터의 범위를 정해 두고 그 안에서 일정한 간격으로 값을 대입해보는 방식인 Grid search, 무작위로 탐색하는 Random search, 베이즈 정리를 기반으로 미지의 목적 함수(objective function)를 최대화(혹은 최소화)하는 기법인 베이지안 최적화 등이 있습니다.
7. Feature selection의 목적과 방법?
feature selection은 머신러닝 모델의 성능을 향상시키기 위해 중요한 특성만 선택하고, 불필요한 특성을 제거하는 과정입니다. 주로 고차원 데이터에서 모델 학습이 어려운 문제(curse of dimensionality), overfitting 방지, 계산 비용 줄이기 등을 해결하기 위해 사용됩니다. feature selection에는 모델에 적용하기 전에 feature들을 걸러내는 Filter Methods, 가장 이상적인 feature의 조합을 찾는 Wrapper Methods, 모델의 학습 및 생성 과정에서 최적의 feature를 선택하는 Embedded Methods가 있습니다.
8. Ensemble이란?
Ensemble이란 여러 개의 개별 모델을 조합하여 최적의 모델로 일반화하는 것입니다. 앙상블은 overfitting 문제를 해결할 수 있으며, 개별 모델 성능이 안나올 때 앙상블을 활용해 성능을 향상시킬 수 있다. 앙상블에는 주로 Voting, Bagging, Boosting 기법이 있습니다. Voting은 서로 다른 알고리즘을 가진 분류기를 결합하는 것으로, hard voting, soft voting으로 나눌 수 있습니다. Bagging은 모델을 다양하게 만들기 위해 샘플을 여러 번 뽑아 데이터를 재구성하여 각 모델을 학습시키는 방법입니다. Boosting은 오분류된 데이터에 초점을 맞추어 더 많은 가중치를 주는 방식으로 가중치를 활용하여 약분류기를 강분류기로 만드는 방법입니다. Boosting에는 AdaBoost, Gradient Boosting 등이 있습니다.
9. 차원 축소란?
차원 축소는 고차원 데이터를 저차원 공간으로 변환하는 과정입니다. 차원 축소는 고차원 데이터를 시각화하거나, 차원의 저주를 해결하거나 계산 비용을 감소하기 위해 사용됩니다. 차원 축소 기법에는 데이터의 분산을 최대한 보존하는 새로운 축을 찾아 변환하는 PCA와 원래 공간에서 데이터 포인트 간의 거리를 확률 분포로 나타내고, 저차원 공간에서도 유사한 확률 분포를 갖도록 데이터를 매핑하는 t-SNE, 클래스 간의 분산을 최대화하고, 클래스 내 분산을 최소화하는 축을 찾아 데이터를 변환하는 LDA(선형 판별 분석)이 있습니다.
10. 데이터 불균형이란?
데이터 불균형은 학습 데이터의 클래스 라벨의 분포가 고르지 않은 경우를 의미합니다. 데이터 불균형이 있을 경우 소수 클래스에 대해 제대로 학습하지 못해 성능 저하 문제가 발생할 수 있습니다. 데이터 불균형 문제를 해결하기 위해 Oversampling, Undersampling, Ensemble methods, Threshold adjustment 등이 있습니다.
11. 머신러닝 평가 지표들은 어떤 것들이 있는지?
정확도(Accuracy)
정밀도(Precision): True로 예측한 샘플 중 실제 True인 경우의 비율
재현율(Recall): 실제 True 중 모델이 True로 예측한 경우의 비율
F1-score: 정밀도와 재현율의 조화 평균으로 두 지표의 균형
Roc-curve: ROC 곡선은 여러 임계값에서의 모델 성능을 시각화하고, AUC는 ROC curve의 아래 면적입니다. AUC가 클 수록 모델의 성능이 좋다고 판단합니다.
MSE(Mean Squared Error): 회귀 문제에 자주 활용되는 지표로 실제값과 예측값의 차이를 제곱해 평균화한 값으로 특이값이 존재하면 수치가 많이 늘어납니다.
MAE(Mean Absolute Error): 회귀 평가를 위해 자주 사용되며 모든 절대 오차의 평균입니다. MAE가 작을수록 알고리즘의 성능이 좋습니다.
12. 머신러닝의 데이터 전처리 작업?
이상치 처리
결측치 처리
데이터 인코딩: 범주형 데이터를 머신러닝 알고리즘이 처리할 수 있는 형태로 변환해야 합니다. one-hot encoding이나 label encoding 등이 사용됩니다.
데이터 스케일링: 다양한 범위의 특성 값을 동일한 범위로 조정하는 것으로, 정규화와 표준화가 대표적인 방법입니다.
특성 선택: 중요한 특성만을 선택하여 차원을 축소하고 모델의 복잡도를 줄일 수 있습니다.
특성 생성: 기존의 특성들을 이용해 새로운 특성을 생성할 수 있습니다.
13. 군집화 알고리즘의 종류와 특징?
군집화는 비지도 학습 기법으로, 데이터를 유사한 그룹으로 분류하는 과정입니다.
K-means clustering: K-means는 주어진 데이터를 K개의 cluster로 묶는 알고리즘입니다.
계층적 군집화: 계층적 군집화는 데이터 포인트를 계층 구조의 클러스터로 구성합니다. 점진적으로 병합, 분할합니다.
DBSCAN(Density based Spatial Clustering of Application with Noise): 밀도 기반 군집화 알고리즘으로 데이터 포인트의 밀도를 기반으로 클러스터를 형성하고 노이즈 포인트를 구분합니다.
14. Decision Tree란?
의사결정 트리는 분류 및 회귀 문제에 사용되는 지도학습 알고리즘입니다. 데이터를 분석하여 일련의 질문과 결정을 통해 결과를 도출하는 트리 구조를 만듭니다. 재귀적 분할을 통해 데이터를 하위 집합으로 나누는 것으로 엔트로피, 지니 불순도 등의 기준에 의해 나뉘어집니다.
15. SVM(Support Vector Machine)이란?
SVM은 지도 학습 알고리즘으로 주로 분류 및 회귀 문제에 사용됩니다. SVM은 클래스 간의 마진을 최대화하는 초평면(hyperplane)을 찾는 것입니다. 비선형 문제에 대해서는 Kernel trick을 사용해 고차원 공간으로 변환하여 hyperplane을 찾습니다. SVM은 이미지, 텍스트 등 비정형 데이터에서 좋은 성능을 보여줍니다.
16. Random Forest와 Gradient Boosting의 차이는?
두 방법 모두 앙상블 기법입니다. 랜덤 포레스트는 여러 개의 의사결정 트리를 만들고, 각 트리의 예측 결과로부터 최종 결과를 얻습니다. Gradient boosting은 순차적으로 개선된 여러 의사결정 트리를 만들어 학습합니다. 각 트리는 이전 트리의 오차를 줄이는 방향으로 학습되며, 경사하강법을 사용해 손실 함수를 최소화합니다.
17. PCA(주성분 분석) 이란?
주성분 분석은 차원 축소 기법중 하나로, 고차원 데이터에서 주요한 변동성을 설명하는 새로운 축을 찾아 데이터를 낮은 차원으로 투영합니다. 이 과정은 공분산 행렬의 고유 벡터, 고유값을 통해 이루어집니다. PCA는 데이터 시각화, 노이즈 제거, 계산 효율성 향상 등에 활용됩니다.
18. 다중 공산성(Multicollinearity)란?
다중 공산성은 머신러닝에서 독립 변수들 간에 강한 상관관계가 존재하는 상황을 의미합니다. 다중 공산성이 발생하면 모델이 불안정하고, 모델의 해석력이 떨어지는 문제점이 있습니다. 다중 공산성을 해결하기 위해서는 변수를 제거, 결합하거나 차원 축소, 정규화 방법이 있습니다.
728x90
반응형
'취업' 카테고리의 다른 글
[데이터분석 과제테스트] 데이터 분석 과제테스트 정리 (0) | 2024.11.08 |
---|---|
[면접준비] 컴퓨터비전 면접준비 - 컴퓨터비전 1 (0) | 2024.05.18 |
[면접준비] 컴퓨터비전 면접준비 - 컴퓨터비전 기본 (0) | 2024.05.13 |
[면접준비] 컴퓨터비전 면접 준비 - 딥러닝 (0) | 2024.05.11 |
[면접준비] 컴퓨터비전 면접 준비 - 선형 대수 & 확률 통계 (0) | 2024.05.10 |