AI

딥러닝 기술면접 준비 2

쿠쿠*_* 2023. 5. 31. 23:47

Q1. 지도학습, 비지도학습, 강화학습 정의 및 종류?

지도학습: Classification와 Regression으로 나뉨.

* Classification- kNN(데이터로부터 거리가 가까운 k개의 다른 데이터의 레이블을 참조하여 분류하는 알고리즘이며, 데이터간 거리를 측정할때 '유클리디안 거리' 계산법을 사용), Naive Bayes, Support Vector(결정 경계(Decision Boundary), 즉 분류를 위한 기준 선을 정의하는 모델이다. 그래서 분류되지 않은 새로운 점이 나타나면 경계의 어느 쪽에 속하는지 확인해서 분류 과제를 수행할 수 있게 된다. 최적의 결정 경계는 마진을 최대화한다.), Machine Decision

* Regression- Linear Regression(모든 데이터로부터 나타나는 오차의 평균(mse)를 최소화할수 있는 기울기와 절편을 갖는 것이고 Logistic Regression은 classification을 위한것임을 분별해서 기억할 것), Locally Weighted Linear, Ridge, Rasso 

비지도학습: 군집화/ 밀도추정/ 공간변환을 주로 함.

* 군집화: k-means(각 군집에 속한 샘플의 평균으로 군집 중심을 갱신)와 k-mediods(각 군집에 속한 샘플의 대표를 뽑아 군집 중심을 갱신), GMM(Gaussian Mixture Model으로 EM알고리즘을 사용함)

* 밀도추정: Parametric methods(ML Estimation, MAP Estimation)와 Non-Parametric methods(파젠창, k-최근접 이웃추정)

* 공간변환: PCA(주성분 분석)

 

 

https://ebbnflow.tistory.com/165

 

[인공지능] 지도학습, 비지도학습, 강화학습

머신러닝의 학습 방법은 크게 3가지로 분류됩니다. 지도학습 비지도학습 강화학습 ● 지도학습(Supervised Learning) 지도 학습은 말 그대로 정답이 있는 데이터를 활용해 데이터를 학습시키는 것입

ebbnflow.tistory.com

https://gaebom.tistory.com/6

 

[Machine Learning] 비지도학습의 개념과 비지도학습 문제

비지도학습(Unsupervised learning) 비지도학습은 결과정보가 없는 데이터들에 대해서 특정 패턴을 찾는 것을 말한다. 데이터에 잠재한 구조(structure), 계층구조(hierarchy) 를 찾아내는 것, 숨겨진 사용자

gaebom.tistory.com

Q2. Eigenvector, Eigenvalue란 무엇인가?

데이터의 대표값이 평균과 분산이라고 한다면, 행렬의 대표값이 eigenvector, eigenvalue라고 한다. 행렬A를 선형변환으로 봤을때, 선형변환 A에 의한 변환 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터를 고유벡터(eigenvector)라 하고 이 상수배 값을 고유값(eigenvalue)라고 한다. 즉, n x n 정방행렬(고유값, 고유벡터는 정방행렬에 대해서만 정의된다) A에 대해 Av = λv를 만족하는 0이 아닌 열벡터 v를 고유벡터, 상수 λ를 고유값이라 정의한다.

좀더 정확한 용어로는 λ는 '행렬 A의 고유값', v는 '행렬 A의 λ에 대한 고유벡터'이다.

즉, 고유값과 고유벡터는 행렬에 따라 정의되는 값으로서 어떤 행렬은 이러한 고유값-고유벡터가 아에 존재하지 않을수도 있고 어떤 행렬은 하나만 존재하거나 또는 최대 n개까지 존재할 수 있다.

 

Q3. PCA란 무엇인가?

 분산을 최대로 보존할 수 있는 축을 선택하는 것이 정보를 가장 적게 손실할 수 있다고 생각할 수 있다. PCA는 데이터 샘플의 분포에서 분산이 가장 큰 방향으로 첫번째 축으로 삼아 새로운 좌표계로 데이터를 변환하는 방법이다. 이때 첫번째 축이 첫번째 주성분이 되며 순서대로 두번째 축은 두번째 주성분이 되는데, 첫번째 이후의 주성분은 이전의 주성분과 직교하는 축 중에서 가장 큰 분산을 가지고 있는 축이다. 

Q4. SVD(Singular Value Decomposition)이란 무엇인가? 

특이값 분해라고 불리며 고유값 분해는 정방 행렬(행과 열의 크기가 같은 행렬)에 대해서만 가능하다고 했지만 특이값 분해는 정방 행렬뿐만 아니라 행과 열의 크기가 다른 행렬에 대해서도 적용할 수 있다. 즉, 특이값 분해는 모든 직각 행렬에 대해 가능다. => 고윳값 분해의 일반화 버젼!

Q5. Precision, recall, f1은 무엇이고 왜 쓰는가?

  • True Positive(TP) : 실제 True인 정답을 True라고 예측 (정답)
  • False Positive(FP) : 실제 False인 정답을 True라고 예측 (오답)
  • False Negative(FN) : 실제 True인 정답을 False라고 예측 (오답)
  • True Negative(TN) : 실제 False인 정답을 False라고 예측 (정답)

정밀도란 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율다. 즉, 아래와 같은 식으로 표현할 수 있다. Positive 정답률, PPV(Positive Predictive Value)라고도 불린다. 날씨 예측 모델이 맑다로 예측했는데, 실제 날씨가 맑았는지를 살펴보는 지표라고 할 수 있다.

재현율이란 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율이다. 통계학에서는 sensitivity으로, 그리고 다른 분야에서는 hit rate라는 용어로도 사용한다. 실제 날씨가 맑은 날 중에서 모델이 맑다고 예측한 비율을 나타낸 지표인데, 정밀도(Precision)와 True Positive의 경우를 다르게 바라보는 것이다. 즉, Precision이나 Recall은 모두 실제 True인 정답을 모델이 True라고 예측한 경우에 관심이 있으나, 바라보고자 하는 관점만 다르다. Precision은 모델의 입장에서, 그리고 Recall은 실제 정답(data)의 입장에서 정답을 정답이라고 맞춘 경우를 바라보고 있다. 

F1 Score는 Precision과 Recall의 조화평균으로 주로 분류 클래스 간의 데이터가 불균형이 심각할때 사용한다.

 

Q6. MLE와 MAP, 베이즈 정리란 무엇인가?

  • X: 관측된 데이터, Observation을 뜻한다. 우리가 갖고 있는건 이거다!! (머신러닝에서는 트레이닝 데이터.....)
  • Θ: Hypothesis를 말하는데 데이터를 통해 추정하고자 하는 값이 되겠다. classification문제에서는 각 discrete한 클래스가 될 수 있고 linear regression의 경우 추정하려고 하는 weight들이 될 수 있다. 그 외에 추정하고자 하는 모든 문제에서 추정하고싶은 target값이 된다.
  • Marginal probability P(X): 데이터 X자체의 분포를 뜻한다.
  • A prior probability(사전확률) P(Θ): 사전에 가지고 있는 확률을 말한다. 이때 Θ는 mutually independent해야한다.예를들어. "하늘이 파랗다"/"하늘이 파랗지 않다" 이 두가지 가정은 독립이고 두 확률의 합이 1이 되어야한다. (사전적으로 hypothesis에 대한 지식이 없을 때는 그냥 hypothesis의 element들이 가질 확률이 모두 같다고 두자)
  • Likeihood(우도) P(X|Θ): hypothesis를 두고, 다시말해 어떤 가정을 한 상태의 데이터의 분포를 뜻한다.
  • A posterior probability(사후확률) P(Θ|X): observation이 주어졌을 때의 hypothesis의 분포를 뜻한다. 얘같은 경우에는 데이터 X의 영향을 반영하는 애다.

* MLE: Likelihood probability(우도) P(X|Θ)가 최대가 되는 어떤 변수(Θ)를 찾는 방법으로 A posterior probability(사후확률)을 크게 하는 것은 Likelihood(우도)를 크게 하는 것이라고 생각하는 방식이다.

* MAP: A posterior probability(사후확률) P(Θ|X)가 최대가 되는 어떤 변수(Θ)를 찾는 방법이다. MLE는 a prior probability가 uniform distribution이라고 가정한 MAP라고 볼 수 있다.

 

 

Q7. SVM(Support Vector Machine)은 무엇인가?

간단히 말해서, 마진을 최대로 만드는 결정경계(Decision Boundary)을 계산하여 데이터를 분류하는 방법이다.

Classification을 위한 ML 알고리즘의 하나로, margin(결정경계와 서포트 벡터사이의 거)을 이용하여 일반화 능력을 향상시킴. soft margin과 hard margin이 존재하는데 soft margin방법은 기본적으로 hard margin 방법을 기반으로 하는데 차이점은 서프토 벡터가 위치한 경계선에 약간의 여유 변수(Slack Variable)을 두는 것이다. 

 

Q8. Kernel Trick이란 무엇인가?

공간 매핑을 모든 데이터셋에 적용하게 되면 데이터셋이 커질수록 계산 복잡도가 증가하게 된다. 그렇기에 공간 매핑과 마찬가지로 선형 분리 불가능한 데이터를 다른 공간으로 매핑하여 선형 분리 가능하게 만들 수 있음.

 즉, 매핑 함수를 직접 사용하는 대신 SVM 초평면 계산에서 사용되는 벡터 내적 연산을 대체하는 비선형 커널 함수(kernel function)를 정의하여 사용할 수 있다. 

 

 

Q9. FC layer란 무엇인가?

2차원의 배열 형태 이미지를 1차원의 평탄화 작업을 통해 이미지를 분류하는데 사용되는 계층이다.