ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 머신러닝
    공부/ML 모의 인터뷰 스터디 2024. 1. 24. 17:39
    728x90

    https://boostdevs.gitbook.io/ai-tech-interview/interview/2-machine-learning

     

    Machine Learning - AI Tech Interview

    💡 왜 test 데이터셋 만으로 검증하면 안될까? 모든 train 데이터셋을 학습하고, test 데이터셋으로 검증한 결과를 확인한다고 하자. 개발자는 test 데이터셋 점수를 높이기 위해, test 데이터셋에 편

    boostdevs.gitbook.io

    • 알고 있는 metric에 대해 설명해주세요. (ex. RMSE, MAE, recall, precision ...)
      - 정확도(accuracy) : 전체 예측 중 올바르게 분류된 샘플의 비율
      - 정밀도(Precision) : 양성으로 예측된 것 중에서 실제로 양성인 비율
      - 재현율(Recall) : 실제 양성 중에서 양성으로 정확하게 예측된 비율
      - F1 점수 : 정밀도와 재현율의 조화 평균으로 계산되며, 불균형한 데이터셋에서 유용
      - ROC곡선 :
      가로축=>실제 음성인 샘플 중에서 모델이 양성으로 잘못 예측한 비율(FPR)
      세로축=>실제 양성인 샘플 중에서 모델이 양성으로 올바르게 예측한 비율(TPR=Recall)
      다양한 결정 임계값에서 모델의 FPR,TPR을 나타냄, 왼쪽 위 모서리에 가까울수록 모델 성능이 좋음
      - AUC : ROC곡선 아래의 면적을 나타내며, 값이 클수록 모델의 성능이 좋음, 0~1값을 가짐
      - ROC-AUC : 모델이 어떤 정도로 거짓 양성을 피하면서 양성을 얼마나 잘 식별하는지 확인 가능
      - 손실함수 : 모델의 예측과 실제 값사이의 차이를 측정하는 함수, 모델이 얼마나 잘 예측하고 있는지 평가, 작은 손실 값이 더 좋음
      - RMSE : 모델의 예측값과 실제 값 사이의 차이를 제곱하고 평균을 취한 후, 제곱근을 씌운 값, 높은 값은 모델이 예측과 실제 값 사이에 큰 편차가 있다는 뜻
      - MAE : 모델의 예측 값과 실제 값 사이의 절대적인 차이의 평균값, 오차를 제곱하지 않기 때문에 오차에 민감하지 않음, 주로 회귀 모델의 성능을 평가하는 데 사용
      - R-squared : 종속 변수의 변동 중 모델이 설명하는 비율, 1에 가까울수록 모델이 데이터를 잘 설명함
      - t-검정 : 두 집단 간 평균 차이가 통계적으로 유의미한지를 검정하는 통계적 방법 중 하나
      - p-값 : t-검정에서 얻은 결과를 해석하는데 사용되는 값, 귀무가설이 맞다고 가정했을 때 얻은 결과보다 극단적인 결과가 나올 확률,
      일반적으로 p-값이 특정 기준값(일반적으로 0.05)보다 작으면 귀무가설을 기각하고 대립가설을 채택
      - ANOVA : 세 개 이상의 그룹 간 평균 차이를 분석
      - 카이제곱 검정 : 범주형 데이터의 독립성을 검정하는 데 사용, 두 변수 간의 관계가 통계적으로 유의미한 지를 확인할 때 활용
    • 정규화를 왜 해야할까요? 정규화의 방법은 무엇이 있나요?
      정규화 : 데이터의 스케일을 조정하여 모델의 성능을 향상시키고 안정화하는데 사용되는 기술
      정규화를 왜 사용?
      1. 스케일 불변성 : 각 특성의 범위를 일정하게 만들어 줌으로써 모델이 특성 간 차이로 인한 영향을 최소화가능
      2. 수렴속도 향상 : 특성들의 스케일이 크게 다를 경우 최적화 알고리즘들이 수렴하는 데 더 많은 시간이 걸릴 수 있음
      3. 모델의 일반화 향상 : 새로운 데이터에 대해서도 더 잘 일반화
      4. 오버피팅 방지
      정규화 방법?
      1. 최소-최대정규화(Min-Max Normalization)
      2. 표준화(Standartdization)
      3. 로버스트 정규화(Robust Normalization)
      4. z-점수 정규화(z-score Normalization)
    • Local Minima와 Global Minimum에 대해 설명해주세요.
      Local Minimum : 함수의 어떤 지역적인 영역에서 가장 작은 값, 해당 지역에서는 더이상 감소하지 않는 지점, 주변에 더 낮은 값이 존재하지만 해당 지점에서는 더이상 감소하지 않음
      Global Minimum : 전체 함수에서 가장 작은 값, 함수의 모든 지역에서 가장 작은 값, 주어진 함수에서 최소값
      *경사하강법과의 관계
      주로 최적화 문제와 관련 있음, 특히 경사하강법은 함수의 기울기를 따라 내려가면서 미니멈을 찾는데 이 때, 로컬 미니멈에 갇힐 수 있음, 이런 이슈에 대한 해결 방법으로 다양한 경사 하강법 방법이 나왔고, 초기값 설정, 학습률 등을 조절하여 해결
    • 차원의 저주에 대해 설명해주세요.
      고차원 공간에서 발생하는 현상으로 데이터가 많은 차원에서 측정될 때 발생하는 여러 문제들을 나타냄
      차원이 증가함에 따라 데이터 포인트 간의 거리가 증가하고 분포가 희소해지는 현상
      *차원의 저주로 발생하는 문제들
      1. 희소성 : 데이터의 분포가 희소해짐, 유효한 패턴을 찾기 어렵게 만듦
      2. 학습 데이터 부족 : 고차원에서는 동일한 양의 데이터가 더 적어보일 수 있음, 데이터의 개수는 차원의 수에 비해 기하급수적으로 증가해야 모델을 학습시킬 수 있음
      3. 계산 비용 증가 : 고차원 데이터에서 모델을 학습하거나 예측하는 데 필요한 계산 비용이 크게 증가
      4. 과적합 : 모델이 노이즈나 특정 훈련 데이터에 대한 세부사항을 학습하면서, 새로운 데이터에 대한 일반화 능력이 감소할수도 있음
      *차원의 저주를 극복하기 위한 방법들
      1. 차원 축소 : 데이터의 특성을 줄여서 원래의 특성보다 적은 수의 새로운 효과적인 특성 생성 ex)PCA, t-SNE
      2. 특성 선택 : 중요한 특성들만을 선택하여 차원을 축소
      3. 정규화 : 정규화 기법을 사용하여 모델을 제약
      4. 더 많은 데이터 수집
    • dimension reduction기법으로 보통 어떤 것들이 있나요?
      1. 주성분 분석(PCA) : 데이터의 분산을 최대로 하는 새로운 특성을 찾아 데이터를 투
      데이터의 공분산 행렬을 계산하고 이에 대한 고유값과 고유벡터를 찾아 주성분을 결정함
      주로 데이터의 차원을 줄이거나 시각화에 활용
      2. t-분포 확률적 임베딩(t-SNE) : 고차원 데이터의 구조를 유지하면서 저차원으로 매핑하여 시각화에 활용
      유사도를 계산하고, 이를 보존하면서 고차원과 저차원 간의 분포를 비슷하게 만듦
      데이터 시각화에 주로 사용되며, 군집 감지와 같은 작업에도 적용가능
      3. UMAP : t-SNE와 유사하게 고차원 데이터의 구조를 유지하면서 저차원으로 투영
      국부적인 구조를 효과적으로 보존하는 방법으로 고안
      데이터 시각화 및 군집화에 사용
      4. 자기조직화지도(SOM) : 데이터를 격자 모양의 구조에 매핑하여 데이터의 군집 구조를 보존
      경쟁 학습을 통해 유사한 데이터를 가까운 위치에 매핑
      군집화와 시각화에 활용
      5. 선형판별분석(LDA) : 클래스 간의 분산을 최대화하고 클래스 내의 분산을 최소화하여 데이터를 투영
      클래스 간의 분산과 클래스 내의 분산을 계산하여 특성을 선택
      주로 분류 문제에서 사용되며, 클래스 간의 차이를 최대한 확대시키는 데 중점을 둠
    •  PCA는 차원 축소 기법이면서, 데이터 압축 기법이기도 하고, 노이즈 제거기법이기도 합니다. 왜 그런지 설명해주실 수 있나요?
      차원 축소 기법 => 주성분 선택, 데이터를 새로운 저차원 공간으로 투영함으로써 차원을 축소
      데이터 압축 기법 => 고유값 분해, 데이터의 공분산 행렬을 고유값 분해하여 주성분을 추출함, 이 때 고유값이 큰 주성분들이 데이터의 주요 정보를 담고 있고 고유값이 작은 주성분들은 노이즈나 미미한 정보를 담고 있기 때문에 상위 n개의 주성분만을 사용하여 데이터 압축
      노이즈 제거 기법 => 고유 값의 크기, PCA에서는 주성분들은 고유값이 큰 순서대로 정렬, 상위 주성분들은 데이터의 주된 구조를 나타내며, 이를 이용하여 노이즈가 적은 형태로 데이터를 표현 가능, 낮은 고유값에 해당하는 주성분들은 노이즈에 해당하므로, 이를 제거
    • LSA, LDA, SVD 등의 약자들이 어떤 뜻이고 서로 어떤 관계를 가지는지 설명할 수 있나요?
      텍스트와 관련된 자연어 처리와 정보 검색 분야에서 자주 사용되는 기술들
      LSA : 문서 간 및 단어 간 의미적 유사성을 파악하기 위한 통계적 기법, 잠재 의미 분석이라고도 불림
      특이값 분해를 활용하여 문서-단어 행렬을 낮은 랭크로 근사화하여 의미를 추출
      단어의 의미적 유사성, 문서 간의 의미적 유사성을 파악하고 이를 통해 정보 검색이나 텍스트 분류에 활용
      LDA : 텍스트에서 숨겨진 토픽을 발견하기 위한 확률적 생성 모델
      문서에 등장하는 단어들을 토픽에 할당하고 각 문서에는 여러 토픽이 혼합되어 있다고 가정, 단어들의 통계적 분포를 이용하여 토픽을 추출하고, 이를 통해 문서의 토픽 구성을 파악할 수 있음
      토픽 모델링과 텍스트 분류에 활용
      SVD : 행렬을 세 개의 행렬의 곱으로 분해하는 기법
      관계?
      - LSA는 SVD를 활용하여 차원 축소를 수행하며, 행렬의 특이값 분해를 이용하여 의미를 추출
      - LDA에서 얻은 토픽 정보를 좀 더 의미있는 차원으로 축소하거나 시각화하기위해 LSA나 SVD를 이용
      - 전부 텍스트 마이닝과 토픽 모델링 분야에서 함께 사용됨
    • Markov Chain을 고등학생에게 설명하려면 어떤 방식이 제일 좋을까요?
      시간이나 상태의 흐름을 모델링하는 확률적인 방법
      현재 상태가 바로 이전 상태에만 의존한다는 가정에 기반
      =>과거에 무슨일이 있었든 상관없이, 현재 상태는 오직 직전의 상태에만 의존한다
    • 텍스트 더미에서 주제를 추출해야 합니다. 어떤 방식으로 접근해 나가시겠나요?
      1. 토픽 모델링 알고리즘 사용
      - LDA : 텍스트를 특정 주제의 혼합으로 가정하고 주어진 테스트 데이터에서 문서와 단어의 분포를 학습하는 확률적 생성 모델, 주제 추출가능
      - NMF(비음수 특이값 분해) : 행렬을 두 개의 점진적으로 양수인 행렬로 분해하여 토픽을 추출하는 방법
      2. TF-IDF와 클러스터링
      문서 간의 유사도를 측정하기 위해 TF-IDF를 사용한 후, 클러스터링 알고리즘을 적용하여 유사한 주제의 문서를 그룹화
      3. 워드 임베딩 활용
      단어의 의미를 벡터로 표현하는 워드 임베딩 기술을 사용하여 문서 내의 단어들을 벡터로 표현한 후, 벡터 간의 유사도를 계산하여 주제 추출
      4. 딥러닝 기반 모델
      트랜스포머 기반의 모델을 사용하여 문맥을 고려한 텍스트 분석을 수행하고 주제를 추출
    • SVM은 왜 반대로 차원을 확장시키는 방식으로 동작할까요? SVM은 왜 좋을까요?
      SVM : 주로 이진 분류 문제를 해결하기 위한 머신러닝 알고리즘 중 하나, 데이터를 고차원 공간으로 매칭하여 결정결계를 찾아 데이터를 분류
      SVM은 왜 차원을 확장시키는 방식으로 동작할까?
      비선형적으로 분리되는 데이터에 대한 문제를 해결하기 위해 커널 트릭을 사용함, 이는 원래 특징 공간에서는 선형 분리가 어려운 경우, 특징을 고차원으로 매핑하여 선형 분리가 가능한 공간으로 변환하는 것을 의미=>복잡한 데이터 패턴을 더 잘 표현할 수 있음
      SVM의 이점 
      효과적인 고차원매핑/마진 최대화/일반화 능력/커널 트릭
    • 다른 좋은 머신 러닝 대비, 오래된 기법인 나이브 베이즈(naive bayes)의 장점을 옹호해보세요.
      나이브 베이즈 : 베이즈 이론을 기반으로 하는 통계적 분류 기법 중 하나, 텍스트 분류 및 스팸 필터링 같은 자연어 처리 문제에서 효과적으로 사용됨
      - 베이즈 이론 : 조건부 확률을 사용하여 어떤 사건이 발생할 확률을 계산
      - 나이브 베이즈 가정 : 각 피처가 모든 다른 피처들과 독립이라는 가정 하에 나온 것, 모든 피처간의 상호작용을 무시
      - 분류 문제 : 주어진 데이터를 특정 클래스 또는 범주에 할당하는 분류 문제에서 사용됨
      나이브 베이즈 동작 방식 : 사전 확률 계산=>우도 계산=>사후 확률 계산=>결정
      나이브 베이즈의 장점?
      높은 속도/적은데이터요구량/해석이 쉽고 설명이 용이/강력한 베이즈 이론 기반(확률적인 논리에 기반한 강력한 통계적 기반)/고차원 데이터에 적합/클래스 불균형 다루기/Text Classification에 특히 유용
    • 회귀 / 분류시 알맞은 metric은 무엇일까?
      회귀
      - 평균제곱오차(MSE) : 연속적인 예측값에 대한 오차의 제곱을 사용하여 평가하므로, 모델이 예측한 값과 실제 값 사이의 차이를 제곱하여 평균화, 이는 이상치에 민감하지만 이상치가 중요한 경우 사용됨
      - 평균절대오차(MAE) : 이상치에 덜 민감하고 모델이 예측한값과 실제 값 사이의 절대적인 차이를 평균화, 이상치가 큰 영향을 미치지 않는 경우에 사용
      - R^2스코어(결정계수, R-squared) : 모델이 종속 변수의 분산을 얼마나 잘 설명하는지를 나타내므로, 모델이 데이터를 얼마나 잘 설명하는 지 평가하는 데 사용됨, 1에 가까울수록 모델의 설명력이 높다고 판단됨
      분류
      - 정확도 : 클래스 불균형이 없을 때 사용하는데, 모든 클래스에 대한 분류 성능을 동등하게 측정
      - 정밀도 : 모델이 양성이라고 예측한 것 중에서 실제로 양성인 비율을 나타내므로 거짓 양성을 최소화하는 데 적합
      - 재현율 : 실제 양성 중에서 모델이 양성이라고 예측한 비율을 나타내므로 거짓음성을 최소화하는데 사용
      - F1스코어 : 정밀도와 재현율의 조화 평균으로 불균형한 데이터셋에서 사용되며 정확도만으로는 모델의 성능을 판단하기 어려운 경우 사용
      - confusion matrix : 위의 정확도, 정밀도, 재현율, F1 스코어를 계산할 때 사용
      - ROC-AUC : 이진 분류에 사용되며, 모델의 민감도와 특이도를 다양한 임계값에서 평가하는 데 사용, 불균형한 데이터셋에서 모델의 성능을 평가하는 데 유용
    • Association Rule의 Support, Confidence, Lift에 대해 설명해주세요.
      Association Rule : 데이터셋에서 아이템 간의 관계를 찾는데 사용되는 데이터 마이닝 기술 중 하나
      장바구니 분석과 같이 아이템간의 연관성을 찾기 위해 사용됨
      - 지지도(Support) : 전체 거래 중 특정 아이템 집합이 등장하는 비율
      - 신뢰도(Confidence) : 특정 아이템이 발생했을 때 다른 아이템이 함께 발생할 조건부 확률
      0~1사이의 범위를 가지며, 높은 confidence는 특정 아이템이 발생했을 때 다른 아이템이 함께 발생할 가능성이 높다는 것을 의미
      - 향상도(Lift) : 두 아이템 간의 상관 관계가 우연적인지 아니면 실제로 의미 있는지를 나타냄
      Lift가 1보다 크면 두 아이템이 양의 상관관계에 있다는 것을 의미하며, 1보다 작으면 음의 상관관계에 있다는 것을 의미
      Lift가 1보다 크면 규칙이 유의미하며, 1보다 작으면 유의미하지 않다는 것을 의미
    • 최적화 기법중 Newton’s Method와 Gradient Descent 방법에 대해 알고 있나요?
      둘 다 최적화 문제에서 사용되는 반복적인 최적화 알고리즘
      Newton's Method : 함수의 근사치를 반복적으로 개선하여 최솟값 또는 최댓값을 찾는 최적화 알고리즘, 2차미분을 사용하여 함수의 근사치를 찾아가는 방법
      - 알고리즘 : 현재 위치에서 함수 값과 1차 및 2차 미분을 사용하여 다음 위치를 추정하는 것을 반복하여 최적점에 수렴할 때까지 진행
      - 장점 : 수렴이 빠르며, 함수가 복잡하고 곡률이 큰 지점에서 효과적
      - 단점 : 2차 미분이 필요하며, Hessian행렬의 역행렬 계산이 필요하므로 계산 비용이 높을 수 있고, 특이점이나 안장점에서는 잘 동작하지 않을 수도 있음
      Gradient Descent : 함수의 기울기를 이용하여 최솟값을 찾는 최적화 알고리즘, 현재 위치에서 기울기가 가장 자파른 방향으로 이동하면서 최적점을 찾아감
      - 알고리즘 : 현재 위치에서의 기울기를 계산하고 그 반대 방향으로 일정 크기의 스텝을 이동하는 것을 반복하여 최적점에 수렴할 때까지 진행
      - 장점 : 계산 비용이 낮고 대부분의 경우에 잘 동작하며, 대규모 데이터셋에 적용하기에 효과적
      - 단점 : 초기 학습률 설정이 중요하며, 너무 크거나 작은 값은 수렴을 방해할 수 있고, 안장점에서 멈출 가능성과 수렴 속도가 느릴수도 있음
      =>뉴턴 메소드는 높은 계산 비용을 감수하면서 더 정확하게 최적화를 수행하고자 할 때 사용, 경사 하강법은 계산 비용을 낮추면서 대규모 데이터셋이나 간단한 모델에서 효과적으로 사용
    • 머신러닝(machine)적 접근방법과 통계(statistics)적 접근방법의 둘간에 차이에 대한 견해가 있나요?
      머신러닝적 접근 방법
      - 주로 예측과 패턴 인식에 중점을 둠, 모델은 주어진 입력 데이터에서 학습되어 새로운 데이터에 대한 예측을 수행
      - 대용량이거나 고차원의 데이터에서 패턴을 학습하는데 능숙함, 복잡한 모델을 사용하며, 특히 딥러닝은 매우 복잡한 구조를 다룰 수 있음
      - 일부 복잡한 모델은 해석이 어렵고, 모델이 왜 특정 예측을 내놓는 지 명확하지 않을 수 있음, 그래서 블랙박스 모델이라 불리기도 함
      - 데이터에 대한 가정을 최소화하려하며, 특히 딥러닝은 대규모 데이터에서 자동으로 특징을 학습
      - 주로 지도 학습, 비지도 학습, 강화학습 등에 활용
      통계적 접근 방법
      - 데이터로부터 모집단에 대한 통계적 특성을 추론하거나 가설을 검증하는데 중점을 둠
      - 상대적으로 작은 규모의 데이터에 대한 통계적 추론에 중점을 둠, 변수 간의 관계를 통계적으로 검증하는 것이 일반적
      - 모델이나 추정치의 신뢰 구간과 같은 통계적 결과를 통해 모델의 해석 가능성이 강조
      - 데이터가 특정 분포를 따른다는 가정하에 모델링을 진행하며, 이 가정에 따라 통계적 검정을 수행
      - 주로 표본 추출 및 통계적 가설 검정을 사용하여 모집단에 대한 일반적인 특성을 추론
    • 인공신경망(deep learning이전의 전통적인)이 가지는 일반적인 문제점은 무엇일까요?
      차원의 저주/적은 데이터 문제/특징 공학의 필요성/비선형 문제 처리의 어려움/계산 복잡성과 속도/해석과 설명의 어려움
    • 지금 나오고 있는 deep learning 계열의 혁신의 근간은 무엇이라고 생각하시나요?
      데이터의 대규모화/하드웨어 발전/신경망 아키텍처의 발전/자동화된 하이퍼파라미터 튜닝과 오토머신러닝/전이학습과 사전훈련/딥러닝 프레임워크의 발전
    • ROC 커브에 대해 설명해주실 수 있으신가요?
      이진 분류 모델의 성능을 시각적으로 평가하는 데 사용되는 그래픽 도구
      다양한 분류 임계값에서 모델의 민감도와 특이도를 나타냄, 민감도와 특이도 간의 트레이드오프를 보여줌
      ROC 커브가 왼쪽 위 모서리에 가까울수록 모델의 성능이 높다고 판단 가능
    • 여러분이 서버를 100대 가지고 있습니다. 이때 인공신경망보다 Random Forest를 써야하는 이유는 뭘까요?
      - 병렬처리 : 각 트리가 독립적으로 학습되기 때문에 각각의 트리를 병렬로 학습시키기에 적합, 서버 100대를 사용한다면 각 서버가 독립적으로 여러개의 트리를 학습시킬 수 있어 학습 속도를 높일 수 있음, 반면 인공신경망은 복잡한 연산을 수행하므로 병렬처리가 어려울 수도 있음
      - 대규모 데이터 셋 처리 : 대량의 데이터를 효과적으로 처리할 수 있는 능력이 있음, 서버가 100대 있다면 데이터를 분산해서 처리할 수 있어 대규모 데이터셋을 효과적으로 다룰 수 있음
      - 고차원이고 희소한 데이터 : Random Forest가 잘 다루는 영역
      - 특징 중요도 해석 : Random Forest가 각 특징의 중요도를 계산하여 어떤 특징이 예측에 기여하는지 해석 가능
      - 데이터 분할 및 부트스트랩 샘플링 : 부트스트랩 샘플링을 통해 각 트리에 서로 다른 데이터를 제공하면서 모델의 다양성을 확보함, 서버 100대를 사용한다면 더 많은 다양성을 가진 부트스트랩 샘플을 생성할 수 있음
      - 설정이나 하이퍼파라미터 튜닝의 용이성 : 하이퍼 파라미터의 튜닝이 비교적 간단한 편, 다수의 트리를 사용하고 튜닝할 파라미터들이 상대적으로 적기 때문에 인공신경망보다 설정이나 튜닝이 더 용이할 수 있음
      =>단순성, 병렬처리 용이성, 대규모 데이터셋 처리 능력이 특히 서버 100대가 있는 환경에서 더 효과적으로 만들어줌
    • K-means의 대표적 의미론적 단점은 무엇인가요? (계산량 많다는것 말고)
      1. 군집의 개수를 미리 정해야함
      2. 초기 중중심점의 무작위 할당에 영향을 받음
      3. 각 군집의 크기가 불균형할 때 취약함
      4. 거리 기반 알고리즘이므로 특성 간의 스케일에 민감함
      5. 비교적 단순한 모델
      6. 이상치에 민감함
    • L1, L2 정규화에 대해 설명해주세요.
      L1정규화(라쏘) : 가중치의 절댓값 합을 패널티로 추가함, 특정 특성을 선택하거나 희소한 모델을 만드는 효과
      L2정규화(릿지) : 가중치의 제곱 합을 패널티로 추가함, 모든 특성을 고르게 다루어 특성 간의 상호작용을 고려하는 효과
    • Cross Validation은 무엇이고 어떻게 해야하나요?
      교차 검증 : 모델의 성능을 평가하고 모델의 일반화 성능을 더 정확하게 추정하기 위한 기술, 일반적으로 데이터를 훈련 셋과 검증 셋(테스트 셋)으로 나누어 모델으 ㄹ학습하고 평가하는 데, 이러한 과정을 여러번 반복하여 신뢰성 있는 평가를 제공
      K-Fold Cross Validation
      - 아이디어 : 데이터를 랜덤하게 k개의 부분집합으로 나누고 모델을 k번 훈련하고 각각의 훈련에서 다른 집합을 검증 셋(테스트셋)으로 사용 후 각 훈련-검증 과정에서 모델의 성능 지표를 기록함
      - 장점 : 데이터를 여러 부분으로 나누어 모델을 여러 번 평가하므로 특정한 검증 세트에 대한 모델의 성능을 더 신뢰성있게 추정가능, 특히 데이터가 적은 경우에 모델의 성능을 더 정확하게 평가가능
      - 단점 : 계산 비용이 높을 수도 있음, 시간이 오래 걸릴 수도 있음
    • XGBoost을 아시나요? 왜 이 모델이 캐글에서 유명할까요?
      XGBoost : 그래디언트 부스팅 기반의 트리 알고리즘 중 하나로 회귀와 분류 문제에 사용되는 강력하고 효과적인 머신러닝 모델
      1. 성능 및 일반화 능력 : 그래디언트 부스팅 알고리즘으로 앙상블 학습을 수행, 이는 여러 개의 결정 트리를 조합하여 강력한 모델을 형성하며 과적합에 강하면서도 높은 성능을 보여줌
      2. 속도 및 확장성 : 효율적인 병렬 처리를 통해 대용량 데이터셋에서도 빠르게 모델을 학습 가능
      3. 자동 가지치기 : 트리가 성장하는 동안 불필요한 가지를 가지치기하여 트리의 복잡도를 조절함
      4. 정규화 및 내장 교차 검증 : 라쏘 및 릿지 정규화를 지원하여 모델의 복잡도를 조절할 수 있음, 또한 내장된 교차 검증 기능을 통해 모델의 조기 종료 및 최적의 반복 횟수를 자동으로 찾을 수 있음
      5. 특징 중요도 제공 : 각 특징의 상대적인 중요도를 제공하여 모델의 해석 가능성을 높임
      6. 다양한 평가 지표 제공: MSE/전확도, 로그손실 등
    • 앙상블 방법엔 어떤 것들이 있나요?
      앙상블 : 여러 개의 모델을 결합하여 높은 성능의 모델을 만드는 머신러닝 기법
      1. 보팅(Voting)
      - 하드 보팅 : 다수결 원칙을 따라 각 모델이 예측한 클래스 중 가장 많이 선택된 클래스를 최종 예측으로 선택하는 방법
      - 소프트 보팅 : 모든 모델의 예측 확률을 평균하여 가장 높은 확률을 가진 클래스를 최종 예측으로 선택
      2. 배깅(Bagging)
      - 랜덤 포레스트 : 여러 개의 의사 결정 트리를 만들어 각각의 트리에서 예측한 결과를 투표하여 최종 예측을 만드는 방법
      - 배깅 알고리즘 : Bootstrap Aggregating의 줄임말, 훈련 데이터의 부분집합을 무작위로 추출하여 여러 모델을 병렬로 훈련하고, 예측 결과를 평균 또는 다수결로 결합하여 최종 예측을 만듦
      3. 부스팅(Boosting)
      - 그래디언트 부스팅 : 이전 트리의 오차를 보완하는 새로운 트리를 순차적으로 훈련시켜 모델을 강화하는 방법 ex)XGBoost, LightGBM, CatBoost 등
      - AdaBoost(Adaptive Boosting) : 이전 분류기가 잘못 분류한 샘플에 가중치를 높여서 다음 분류기가 더 잘 학습할 수 있도록 하는 방법
      4. 스태킹(Stacking)
      여러 다른 모델을 훈련시켜 각 모델의 예측을 새로운 메타 모델의 입력으로 사용하여 최종 예측을 수행하는 방법, 스태킹은 보팅, 배깅,부스팅과 같은 기본 앙상블 기법들을 결합하여 더 강력한 모델을 만드는데 사용 가능
    • feature vector란 무엇일까요?
      머신 러닝 및 패턴 인식에서 사용되는 데이터 포인트를 나타내는 벡터
      각각의 특성이 해당 벡터의 원소로 표현되며, 데이터 포인트의 특성들을 하나의 벡터로 결합한 것
      이미지의 경우 각 픽셀을 하나의 특성으로 간주하고, 텍스트 데이터의 경우 각 단어나 n-그램을 하나의 특성으로 간주
    • 좋은 모델의 정의는 무엇일까요?
      정확성이 높고, 일반화 능력이 뛰어나며, 해석을 쉽게 할 수 있고, 효율성있으며, 로버스트성(모델이 노이즈나 이상치에 민감하지 않고 안정적으로 동작하는 능력)이 일관되고, 적절한 복잡성을 가진 모델
    • 50개의 작은 의사결정 나무는 큰 의사결정 나무보다 괜찮을까요? 왜 그렇게 생각하나요?
      일반적으로 작은 의사결정 나무들을 앙상블하여 구성된 모델이 큰 의사결정 나무보다 나은 성능을 보이는 경우가 많음
      ex)랜덤 포레스트
      작은 의사결정 나무 여러 개 쓰는 것의 이점?
      과적합 감소/앙상블효과/해석가능성 유지/병렬처리 가능
    • 스팸 필터에 로지스틱 리그레션을 많이 사용하는 이유는 무엇일까요?
      1. 이진분류에 적합 : 스팸필터는 이진분류 문제, 로지스틱 회귀는 이진 분류에 특화된 알고리즘이며 출력값을 0과 1사이의 확률로 반환
      2. 선형결합을 활용 : 특성들의 선형 결합을 사용하여 예측을 수행가능, 텍스트 데이터와 같은 다차원의 특성을 다룰 때에도 선형 결합을 통한 모델이 잘 작동할 수 있음
      3. 해석 가능성 : 모델의 결과를 해석하기 쉽게 만드는 특징이 있음, 계수들은 각 특성의 영향력을 나타내며, 어떤 특성이 스팸 여부에 영향을 미치는 지 쉽게 이해할 수 있음
      4. 계산 효율성 : 계산이 효율적, 대용량의 데이터셋에서도 빠른 학습과 예측 가능
      5. 적은 하이퍼파라미터 : 주로 정규화와 관련된 하이퍼파라미터만을 조절하면 되는 간단한 모델
      6. 온라인 학습에 적합 : 스팸 필터링은 실시간으로 데이터가 업데이트되는 상황에서도 효과적으로 동작해야함
    • OLS(ordinary least squre) regression의 공식은 무엇인가요?
      선형 회귀모델을 훈련시키는데 사용되는 기법 중 하나이며, 가장 일반적으로 사용되는 회귀 방법 중 하나
      관찰된 데이터와 모델의 예측 값 간의 잔차를 최소화하는 가중치를 찾는 것
      - 예측모형(상수항이 결합된 선형모형) : 𝑦̂ =𝑋𝑤
      - 잔차 벡터(residual vector) : 𝑒=𝑦𝑦̂ =𝑦𝑋𝑤
      - 잔차 제곱합(RSS) : RSS = 𝑒𝑇𝑒 = (𝑦𝑋𝑤)𝑇(𝑦𝑋𝑤) = 𝑦𝑇𝑦2𝑦𝑇𝑋𝑤+𝑤𝑇𝑋𝑇𝑋𝑤
      - 잔차 제곱합을 가장 작게하는 가중치 벡터를 구하기 위해 미분한 잔차 제곱합의 그래디언트 벡터 : 2𝑋𝑇𝑦+2𝑋𝑇𝑋𝑤
      - 잔차가 최소되는 최적화 조건 = 그래디언트 벡터가 0 : 𝑋𝑇𝑋𝑤=𝑋𝑇𝑦
      - 𝑋𝑇𝑋행렬의 역행렬이 존재한다면 최적 가중치 벡터 𝑤∗ = (𝑋𝑇𝑋)1𝑋𝑇𝑦
      - 𝑋𝑇𝑋행렬의 역행렬이 존재하고 위에서 구한 값이 최저값이 되려면 잔차 제곱합의 헤시안 행렬인 𝑋𝑇가 양의 정부호(positive definite)여야 함 => 𝑑2RSS/𝑑𝑤2 = 2𝑋𝑇𝑋>0
      *𝑋의 각 행렬이 서로 독립이 아니면 𝑋𝑇𝑋가 양의 정부호가 아니고 역행렬이 존재 하지 않으므로 위와 같은 해를 구할 수 없음

     

    '공부 > ML 모의 인터뷰 스터디' 카테고리의 다른 글

    네트워크  (0) 2024.01.27
    파이썬  (0) 2024.01.26
    딥러닝  (0) 2024.01.25
    통계/수학  (0) 2024.01.22

    댓글

Designed by Tistory.