면접

분석 및 머신러닝 면접 질문&답변

맨사설 2023. 7. 13. 14:44
728x90

○ 분석 및 머신러닝

 

좋은 feature란 무엇인가요. 이 feature의 성능을 판단하기 위한 방법에는 어떤 것이 있나요?

더보기

지도 학습에서 좋은 feature란 라벨과 상관성이 높은 특징이라고 할 수 있습니다. 다시 말해, 해당 feature의 값을 알면 라벨에 대한 엔트로피가 작아지는 것이 좋은 feature의 특징입니다.

⇒ 좋은 feature의 성능을 판단하는 방법으로는
ⓐ F-통계량, 상관관계 등의 통계량을 활용하는 방법
ⓑ 상호정보량과 조건부 엔트로피 등의 정보공학에서 사용하는 지표를 활용하는 방법
ⓒ 결정 나무 및 결정 나무 기반의 앙상블을 사용해서 특징의 중요도를 계산하는 방법
ⓓ 학습된 모델에 특징을 임의로 섞었을 때 성능의 손실 정도를 바탕으로 계산하는 방법
등이 있습니다.

 

■ “상관관계는 인과관계를 의미하지 않는다”라는 말이 있습니다. 설명해주실 수 있나요?

더보기

상관관계 : 어떤 변인 x의 값과 다른 변인 y의 값이 함께 변할 때, x와 y의 관계
인과관계 : 어떤 변인 x의 값이 변하면, 그로 인해서 다른 변인 y의 값이 변할 때, x와 y의 관계

⇒ 아이스크림 구매량이 증가와 익사 사고 발생 빈도 증가는 상관관계가 있을 뿐 인과관계는 아니다.

 

■ A/B 테스트의 장점과 단점은?

더보기

-  장점 : A/B 테스트는 새로운 방식이 과연 기존 방식보다 효과가 있는가에 대한 답을 비교적 빠르게 제공한다는 장점
- 단점 : A/B 테스트는 여러 상황과 변수에 따라 결과가 바뀜, 테스트를 많이 자주 하면 단기적으로 손해가 발생

 

■  feature selection 방식은?

더보기

feature 개수가 적다면 feature와 라벨 간 그래프를 바탕으로 선택합니다.
feature 개수가 많거나 샘플이 많은 경우 모델과 feature 유형에 따라 다른 선택합니다.
⇒ 모델이 결정 나무 혹은 결정 나무 기반의 앙상블이라면 학습해서 얻은 특징 중요도를 바탕으로 feature를 선택
⇒ 모든 feature 유형이 같다면, 통계량을 기반으로 feature를 선택
⇒ 모든 feature가 연속형이고 라벨이 범주형이라면 F-통계량이 큰 변수를 선택, 모든 feature의 유형이 같지 않다면 Permutation importance를 활용

 

■ 데이터 간의 유사도를 계산할 때, feature의 수가 많다면(예: 100개 이상), 이러한 high-dimensional clustering을 어떻게 풀어야할까요?

더보기

도메인지식을 바탕으로 주요 feature들을 선별할 것입니다. 주요 특징을 선별했음에도 feature가 많거나, 도메인 지식을 활용할 수 없는 상황이라면 PCA 등을 사용해 차원을 축소한 뒤 군집화를 수행할 것입니다.

 

■ Cross Validation은 무엇이고 어떻게 해야하나요?

더보기

Cross Validation은 교차 검증이라고 합니다.

 장점
- 모든 데이터 셋을 평가에 활용 가능 >> 과적합(Overfitting) 방지 / 데이터 편중 방지(k-fold 경우)
모든 데이터 셋을 훈련에 활용 가능 >> 정확도 향상 / 데이터 부족에서 오는 과소적합(Underfitting) 방지
적은 데이터에 대한 Validation 신뢰성 상승
더욱 일반화된 모델 생성이 가능

ⓑ 단점
- 모델 훈련 및 평가 소요시간 증가

ⓒ Cross Validation 기법 종류
- K-Fold Cross Validation(k-겹 교차 검증)
Stratified k-fold cross validation(계층별 k-겹 교차검증)
Hold-Out Cross Validation(홀드 아웃 교차 검증)
Leave-p-Out Cross Validation
Leave-One-Out Cross Validation 등등

 

■ 회귀 / 분류시 알맞은 metric은 무엇일까요?

더보기

○ 회귀

회귀 문제에서는 실제 값과 모델이 예측하는 값의 차이에 기반을 둔 metric(평가)을 사용합니다. 대표적으로  RSS는 예측값과 실제 값의 오차의 제곱합, MSE는 RSS를 데이터의 개수만큼 나눈 값, MAE는 예측값과 실제 값의 오차의 절대값의 평균입니다. 그리고 RMSE와 RMAE라는 것도 있는데, 각각 MSE와 MAE에 루트를 씌운 값입니다.

MSE는 이상치(outlier)를 잡아내는 데 효과적, MAE의 경우  변동치가 큰 지표와 낮은 지표를 같이 예측하는 데 효과적. 둘 다 가장 간단한 평가 방법으로 직관적인 해석이 가능하지만, 평균을 그대로 이용하기 때문에 데이터의 크기에 의존한다는 단점이 있습니다.

또한, 두 모델의 MSE만을 비교해서 어떤 게 더 좋은 모델인지 판단하기 어려워 이를 해결하기 위한 metric으로는 R2(결정계수)가 있습니다. R2는 1-(RSS/전체 분산)입니다. R2는 회귀 모델의 설명력을 표현하는 지표로써, 그 값이 1에 가까울수록 높은 성능의 모델이라고 할 수 있습니다. 

○ 분류
분류 문제에서는 어떤 모델이 얼마나 데이터를 클래스에 잘 맞게 분류했느냐를 측정하기 위해서 혼동 행렬(Confusion Matrix)라는 것에서 나오는 지표를 사용합니다. 

F1 score라는 지표도 있습니다. F1 score는 정밀도와 재현율을 적절히 혼합해 사용하기 위하여 만들어진 지표로, 정밀도와 재현율의 가중 조화평균 값으로 구성되어 있습니다.

 

■ 정규화를 왜 해야할까요?

더보기

기준을 설정하고 그 기준내에서 각 데이터들을 평가하기 때문에 비교가 편하다. 모든 데이터가 같은 정도의 스케일(중요도)로 반영되도록 해주는 것이 정규화의 목표

 

Local Minima와 Global Minima에 대해 설명해주세요.

더보기

Global minima는 Gradient Descent(경사하강법) 방법으로 학습 시에, 해당 도메인에 대해 가장 낮은 cost를 가질 수 있는 weight가 위치한 지점이다. Global Minima에 다다르지 않고, 기울기가 0이 되는 다른 지점을 Local Minima라고 합니다. 이렇게 Local Minima로 빠지는 것을 방지하기 위한 방법으로 다양한 Optimize 기법이 있습니다.

▷ Optimizer 종류

Stocatic Gradient Descent 방법은 데이터의 전체를 활용하지 않고 일부분을 활용하면서 업데이트하는 방식으로 Local Minima에 빠지더라도 다른 데이터 셋이 사용되었을 때, 빠져나올 수 있다는 장점을 가지고 있습니다. 

그 외에도 방향성을 유지하는 Momentom 기법이나, 업데이트하는 사이즈를 조정하는 Adagrad 방식, 이 둘을 적절히 합친 Adam 기법이 있는 것으로 알고 있습니다.

 

■ 차원의 저주에 대해 설명해주세요.

더보기

저주란 차원이 증가하면서 학습데이터 수가 차원 수보다 적어져서 성능이 저하되는 현상을 일컫는다. 이때 주의할 점은 변수가 증가한다고 반드시 차원의 저주가 발생하는 것은 아니다. 관측치보다 변수 수가 많아지는 경우에 차원의 저주 문제가 발생하는 것이다.

 

Dimension reduction기법으로 보통 어떤 것들이 있나요?

더보기

PCA는 데이터의 차원을 줄이기 위해, 공분산 행렬에서 고유 벡터/고유값을 구하고 가장 분산이 큰 방향을 가진 고유벡터에 입력데이터를 선형변환하는 컨셉이라면,
LDA는 지도 학습(supervised - learning)에서 적용하는 차원 축소 기법이자,입력 데이터의 클래스(정답)를 최대한 분리할 수 있는 축을 찾는 기법입니다.

 

■ PCA는 차원 축소 기법이면서, 데이터 압축 기법이기도 하고, 노이즈 제거기법이기도 합니다. 왜 그런지 설명해주실 수 있나요?

더보기

PCA는 분산이 최대가 되도록 하는 축을 찾고, 그 축과 직교하면서 분산이 최대가 되도록 하는 축을 이어 찾아나가는 방식으로 데이터를 간단히 표현합니다. 이 과정에서 차원이 축소되며, 투영 변환을 반대로 수행하면 데이터의 복원이 가능하고, PCA로 찾은 축들 중, 분산이 적은 축들을 제거함으로서 노이즈를 줄일 수 있습니다.

 

Markov Chain이란?

더보기

Markov Chain은 모든 사건의 결과가 이전 사건의 결과에 영향을 받는 확률론적 모형

 

SVM의 장점은?

더보기

다른 모형보다 과대 적합에 강하며 비선형 모델 분류도 가능하다. 

 SVM을 비선형 분류 모델로 사용하기 위해 저차원 공간의 데이터를 고차원 공간으로 매핑하여 선형 분리가 가능한 데이터로 변환하여 처리한다.

또한, 서포트 벡터만을 이용해서 결정 경계를 생성하므로 데이터가 적을 때 효과적이며 새로운 데이터가 입력되면 데이터 포인트와의 거리를 계산하지 않고 서포트 벡터와의 거리만 계산하므로 연산량이 적다. 모델의 적확성이 뛰어나며 노이즈의 영향이 적다.

 

나이브 베이즈(naive bayes)의 장점은?

더보기

- 결과 도출을 위해 조건부 확률만 계산하면 되므로 간단하고 빠르며 메모리를 많이 차지하지 않는 효율적인 알고리즘
- 잡음과 누락 데이터를 잘 처리
- 모델 훈련을 한 때 데이터의 크기에 상관없이 잘 동작
- 데이터의 특징들이 서로 독립되어 있을 때 좋은 결과를 얻을 수 있다.
- 예측을 위한 추정 확률을 쉽게 얻음

 

Association Rule의 Support, Confidence, Lift에 대해 설명해주세요.

더보기

Association rules(연관 규칙)는 비지도 학습 중 하나로, 데이터 집합에서 특정 항목 간의 관계나 규칙을 찾아내는 분석 방법

Support(지지도) : X와 Y 두 item이 얼마나 자주 발생하는지를 의미
Confidence(신뢰도) : X가 발생했을 때, Y도 포함된 비율
Lift(향상도) : X가 발생하지 않았을 때의 Y 발생 비율과 X가 발생했을 때 Y 발생 비율의 대비. 숫자가 1보다 크거나 작은 정도에 따라 연관성을 파악할 수 있다.

 

최적화 기법중 Newton’s Method와 Gradient Descent 방법에 대해 알고 있나요?

더보기

Gradient descent 방법은 함수의 극대, 극소를 찾는 방법이고 Newton’s Method 방법은 연속적이고 미분 가능한 함수에 대해 무작위 값을 대입해서 결과값의 변화 추이를 통해 함숫값이 0이 되는 해를 찾는 방법

 

머신러닝(machine)적 접근방법과 통계(statistics)적 접근방법의 둘간에 차이에 대한 견해가 있나요?

더보기

▷ 머신러닝적 접근방법은 모델의 예측 성공률을 높이는 게 목적이다.
따라서 모델의 신뢰도나 정교한 가정보다는 다양한 피쳐를 사용하여 (오버피팅을 고려하더라도) 높은 예측률을 달성하고자 한다.

▷ 통계적 접근방법은 분포와 가정을 통해 신뢰할 수 있고 정교한 모델을 만드는 게 목적이다.
따라서 모형을 복잡하지 않고 단순하게 만들고, 어떤 피쳐가 어떤 원인을 주는지 알 수 있도록 한다.

 

인공신경망(deep learning이전의 전통적인)이 가지는 일반적인 문제점은 무엇일까요?

더보기

딥러닝 이전의 인공신경망은 선형적으로만 회귀, 분류를 수행하기 때문에 레이어를 깊게 쌓지 못했고, 때문에 XOR 문제 같은 복잡한 문제를 풀지 못하는 문제점이 있었다. 하지만 시그모이드와 같은 비선형 함수를 선형 모델에 추가하여 XOR 문제를 해결하고, 편미분 체인룰을 사용한 오차 역전파 방법으로 모델을 업데이트할 수 있게 되면서 레이어를 깊게 쌓은 딥러닝 인공신경망이 발전하였다.

 

ROC 커브에 대해 설명해주실 수 있으신가요?

더보기

ROC 커브는 FPR(False Positive Rate)와 TPR(True Positive rate)을 각각 x축과 y축으로 놓은 그래프이다. FPR은 GT(Grount Truth)가 거짓인 사례에 대해 참이라고 잘못 예측한 비율이며, TPR은 GT가 참인 사례에 대해 참이라고 잘 예측한 비율이다. 따라서 전자는 작을수록 성능이 좋고, 후자는 클수록 성능이 좋다. 두 Parameter에 대해 성능이 좋을수록 그래프 좌상단의 꼭짓점으로 다가가게 되며, 그래프 하단의 면적이 넓어지는 형태를 보이고 있다.

 

 여러분이 서버를 100대 가지고 있습니다. 이때 인공신경망보다 Random Forest를 써야하는 이유는 뭘까요?

더보기

일반적으로 단계별로 의존적인 end-to-end 인공신경망과 달리 Random Forest는 여러 개의 독립적인 decision tree를 이용하여 결과를 투표하는 형식이므로 다수 서버에서 병렬적인 처리가 용이하다.

 

K-means의 대표적 의미론적 단점은 무엇인가요?

더보기

- K 값을 임의로 정해야 하고, 처음의 centroid도 임의로 정해야 함. 또한, 처음의 centroid를 어떻게 정하느냐에 따라 cluster 결과가 민감하게 변한다.
- Outlier에 민감, 몇 개의 점이 굉장히 멀리 떨어져 있으면 이에 맞춰 centroid를 정하기 때문
- 원형의 cluster만 찾을 수 있다. cluster 모양이 원형이 아닐 때는 정확한 결과를 도출하지 못함

 

 L1, L2 정규화에 대해 설명해주세요.

더보기

L1 Regularization과 L2 Regularization 모두 Over fitting(과적합) 을 막기 위해 사용
L1 정규화는 Cost Function에 가중치의 절댓값을 더해주는 방식으로 활용되며, L2 정규화는 가중치의 제곱 값을 더해주는 방식으로 하여 가중치가 너무 크지 않은 방향으로 학습되도록 합니다. L2는 각각의 벡터에 대해 항상 Unique한 값이 나오지만, L1은 특정 벡터가 없어도 같은 값을 생성할 수 있고, 이런 특성으로 L1은 feature selection의 역할도 가능합니다.

 

 XGBoost을 아시나요?

더보기

XGBoost는 기존 Gradient Tree Boosting 알고리즘에 과적합 방지를 위한 기법이 추가된 지도 학습 알고리즘, XGBoost는 문제를 세부 단위로 쪼개어 정확도를 예측하는 부스팅 기법과 모든 리프들이 최종 결과 스코어를 내는 CART(Classification And Regression Tree) 기법을 앙상블하여 사용한다. 학습과 분류가 빠르고 캐글의 머신러닝 경연 우승자 중, 다수가 이 툴을 사용하여 주목받았다.

 

앙상블 방법엔 어떤 것들이 있나요?

더보기

앙상블 학습은 일반적으로 보팅(Voting), 배깅(Bagging), 부스팅(Boosting) 세 가지의 유형으로 나눌 수 있습니다.

- 보팅(Voting) : 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정하는 방식
- 배깅(Bagging) : 데이터 샘플링(Bootstrap) 을 통해 모델을 학습시키고 결과를 집계(Aggregating)하는 방법
- 부스팅(Boosting) :  이전 분류기가 예측이 틀린 데이터에 대해서 올바르게 예측할 수 있도록 다음 분류기에 가중치(weight)를 부여하면서 학습과 예측을 진행하는 방식

 

feature vector란 무엇일까요?

더보기

feature는 data를 구성하는 개별 example을 나타내는 ‘측정 가능한 요소’를 나타낸다.
feature vector는 한 example이 가지고 있는 feature들로 만든 vector를 의미한다.

 

 좋은 모델의 정의는 무엇일까요?

더보기

좋은 모델은 여러 가지 의미가 있을 수 있다고 생각한다. 상황에 따라 최고의 성능을 내는 모델이 좋은 모델일 수도 있고, 가장 적은 리소스로 적절한 성능을 내는 모델이 좋은 모델일 수도 있다. 일반적으로는 필요한 리소스만으로 좋은 성능을 내는, 최적화가 잘된 모델이 좋은 모델이라 볼 수 있을 것 같다.

 

728x90

'면접' 카테고리의 다른 글

딥러닝 및 심화 내용 면접 질문&답변  (0) 2023.07.18
통계 및 수학 면접 질문&답변  (0) 2023.07.11
2021 하반기 경남은행  (0) 2022.10.09
2021 상반기 우리은행  (0) 2022.10.03
2021 상반기 삼화페인트  (0) 2022.10.02