머신러닝 시험전 정리하기
머신러닝의 처리 단계 및 각 과정에서의 역할/기능
머신러닝은 크게 학습단계와 추론단계의 두가지 형태의 처리단계를 거치는데
학습단계는 -> 개발과정의 단계 -> 입출력 관계를 알려주는 매핑(결정함수)를 찾는 과정임
추론단계 -> 실제로 시스템을 적용하는 단계 -> 매핑함수를 실제 데이터에 적용해 결과를 얻음
- 데이터와 데이터 분포의 관련 개념
데이터를 벡터로 표현하는 이유는 무엇이며, 벡터 표현의 장점에 대해 설명하시오.
정답:
데이터를 벡터로 표현하는 이유는 다양한 데이터(숫자, 문자, 이미지 등)를 하나의 일관된 형식으로 처리하기 위함이다. 벡터는 n-차원의 공간에서 데이터를 나타내며, 각 차원은 데이터의 특정 특징(feature)을 나타낸다..
연산의 용이성: 벡터로 표현하면 데이터를 쉽게 수학적 연산(덧셈, 내적, 외적 등)할 수 있다.
통일된 표현: 다양한 데이터 타입을 벡터라는 동일한 형식으로 변환 가능하다.
효율성: 벡터화를 통해 머신러닝 모델이 데이터를 효율적으로 학습할 수 있다.
머신러닝에서 데이터 분포를 파악하는 것이 중요한 이유는 무엇인가? 특히, 학습 데이터를 기반으로 시스템을 개발할 때 데이터 분포를 이해해야 하는 이유를 설명하시오.
정답:
데이터 분포를 파악하는 것은 학습 데이터와 실제 적용 데이터 간의 차이를 최소화하기 위해 중요하다. 학습 데이터의 분포가 실제 데이터의 분포와 다르면 모델이 일반화(generalization) 능력을 잃을 수 있다
데이터 집합의 분포가 모집단의 분포와 다를 경우, 머신러닝 모델의 성능에 어떤 영향을 미칠 수 있는지 설명하시오. 이 문제를 해결하기 위해 사용할 수 있는 방법에 대해 논하시오.
정답:
데이터 집합의 분포가 모집단의 분포와 다르면, 모델이 과적합(overfitting) 또는 일반화 부족 문제를 겪을 수 있다. 즉, 학습 데이터에서만 높은 성능을 보이고 실제 데이터에서는 낮은 성능을 보일 가능성이 크다..
해결 방법:
데이터 증강(data augmentation): 부족하거나 불균형한 데이터를 추가로 생성하여 분포를 맞춘다.
표본 재조정(resampling): 학습 데이터의 분포를 모집단 분포에 가깝게 조정한다.
정규화 및 표준화(normalization & standardization): 데이터를 스케일링하여 분포를 통일한다.
교차 검증(cross-validation): 모델의 성능을 다양한 데이터 분할에서 확인하여 과적합을 방지한다.
학습 오차(training error)란 무엇이며, 어떤 상황에서 발생하는지 설명하시오.
정답:
학습 오차는 훈련 데이터(training set)를 사용하여 모델을 학습시킬 때 발생하는 오차이다. 이는 모델이 학습 데이터에 얼마나 잘 맞는지를 평가한다. 학습 오차는 모델이 훈련 데이터에 대해 예측한 값과 실제 값의 차이를 나타낸다.
해설:
학습 오차는 주로 모델이 복잡하지 않거나 충분히 학습되지 않았을 때 발생한다. 학습 오차가 너무 크면 모델이 데이터를 잘 학습하지 못한 것으로 판단할 수 있다.
테스트 오차(test error)란 무엇이며, 왜 테스트 오차를 측정하는 것이 중요한가?
정답:
테스트 오차는 테스트 데이터(test set)를 사용하여 모델의 성능을 평가할 때 발생하는 오차이다. 이는 학습된 모델이 새로운 데이터에 대해 얼마나 잘 예측하는지를 나타낸다.
중요성:
테스트 오차를 측정하는 것은 모델의 일반화 성능을 평가하기 위함이다. 테스트 데이터는 학습 과정에서 사용되지 않았기 때문에, 테스트 오차는 모델이 새로운 데이터에서 얼마나 잘 작동하는지를 판단하는 중요한 척도이다.
해설:
테스트 오차가 낮으면 모델이 학습한 패턴을 새로운 데이터에 잘 적용할 수 있다는 것을 의미한다. 반대로 테스트 오차가 높으면 모델이 과적합(overfitting) 또는 과소적합(underfitting)일 가능성이 있다.
일반화 오차(generalization error)란 무엇이며, 학습 오차 및 테스트 오차와의 관계를 설명하시오.
정답:
일반화 오차는 모델이 훈련되지 않은 새로운 데이터에 대해 예측할 때 발생하는 평균적인 오차를 의미한다. 이는 모델이 실제 환경에서 얼마나 잘 작동하는지를 나타낸다.
관계:
학습 오차: 훈련 데이터에 대한 오차로, 모델이 훈련 데이터를 얼마나 잘 맞추는지 측정한다.
테스트 오차: 테스트 데이터에 대한 오차로, 모델이 훈련에 사용되지 않은 데이터에서 얼마나 잘 예측하는지를 측정한다.
일반화 오차는 테스트 오차와 유사하며, 실제 환경에서 모델의 성능을 추정하는 데 사용된다
과적합(overfitting)과 일반화 오차의 관계를 설명하고, 과적합 문제를 해결하기 위한 방법을 2가지 제시하시오.
정답:
과적합은 모델이 훈련 데이터에 너무 잘 맞춰져 있어, 새로운 데이터에 대해 잘 일반화하지 못하는 상태를 의미한다. 이로 인해 테스트 오차와 일반화 오차가 증가하게 된다.
해결 방법:
정규화(Regularization): 모델의 복잡도를 제한하여 과적합을 방지한다. 대표적인 기법으로 L1, L2 정규화가 있다.
교차 검증(Cross-validation): 데이터를 여러 번 나누어 훈련과 테스트를 반복하여 모델의 일반화 성능을 평가한다.
학습 오차와 테스트 오차가 모두 높은 경우, 이를 해결하기 위한 적절한 방법을 설명하시오.
정답:
학습 오차와 테스트 오차가 모두 높은 경우는 과소적합(underfitting) 상태를 나타낸다. 이는 모델이 데이터의 패턴을 제대로 학습하지 못했음을 의미한다.
해결 방법:
모델의 복잡도 증가: 더 복잡한 모델(예: 더 많은 층과 뉴런을 가진 신경망)을 사용하여 데이터의 패턴을 더 잘 학습할 수 있도록 한다.
더 많은 학습 데이터 제공: 모델이 더 많은 데이터를 학습할 수 있도록 데이터를 확장하거나 수집한다.
적절한 특징 엔지니어링: 모델이 중요한 정보를 더 잘 학습할 수 있도록 유의미한 특징(feature)을 추가하거나 변형한다.
머신러닝에서의 주제
-> 주제는 분류, 회귀, 군집화를 포함하는 데이터 분석과 특징추출과 관련된 데이터 표현으로 구분 가능함.
분류는 입력데이터가 어떤 부류에 속하는지를 자동으로 판단하는 문제로 문자인식, 생체인식, 얼굴인식, 음성인식 등과 같이 ~인식이라는 문제가 이에 해당함.
회귀는 분류와 마찬가지고 학습을 통해 입력변수와 원하는 출력변수 사이의 매핑관계를 분석하고 예측하는 것이다. 분류와는 달리 출력의 형태가 다름 ㅡ 회귀는 출력이 연속적인 실수로 주어짐 시장예측 주가예측 등과같이 시간에 따른 데이터의 변화를 분석하는 시계열 예측이 이에 해당함. 선형회귀, 비선형회귀, 로지스틱회귀, svm 신경망 등을 사용할 수 있음
군집화는 주어지는 클래스 정보 없이 단순히 하나의 덩어리로 이루어진 데이터를 받아 데이터의 성질 또는 분포 특성을 분석해 임의로 복수 개의 그룹으로 나누는걸 말함. 단순히 입력값의 유사성에 따라 비슷한 값을 가진 데이터끼리 군집을 이루도록하는것이며 영상분할등에서 주로 사용됨
주로 k-평균 군집화, 가우시안 혼합 모델, som신경망 등이 사용됨
분류 - : 분류는 최적의 결정경계를 찾아서 분류율을 최대화 하거나 분류 오차를 최소화 하는것이다.
결정경계면을 정의할때 사용되는 함수를 판별함수라고 한다. 결정경계를 바탕으로 최종적으로 클래스를 결정하는 규칙을 결정규칙이라 한다. 분류기의 학습이란 주어진 학습데이터를 제대로 분류해줄 수 있는 결정경계를 (또는 판별함수를) 찾는것이라고 할수있다.
회귀 : 입력과 원하는 출력쌍의 집합이다. 희귀학습의 목표는 제곱오차를 사용하는 회귀오차를 최소화하는 회귀함수를 구하는 것이다.
군집화: 입력으로만 구성되는 집합이며 출력은 해당 데이터가 속하는 클러스터다. 학습이 완료된 후 새로운 데이터를 주면 해당 데이터가 소속되는 하나의 클러스터가 최종 결과로서 출력됨 . 군집화 학습의 목표는 각 클러스터내 분산은 최소하고 클러스터간 분산을 최대화 하는 클러스터들을 찾는것임.
특징추출 : 학습데이터가 입력-출력 쌍으로 또는 입력만으로 구성되며 출력은 특징벡터가 됨. 학습의 결과로 특정 매핑함수를얻게되며 매핑함수를 통해 특징벡터로 변환되어 출력됨.
과적합(Overfitting)의 정의와 발생 원인을 설명하시오.
정답:
과적합은 모델이 학습 데이터에 포함된 노이즈까지 학습하여 테스트 데이터에 대해 일반화 성능이 떨어지는 현상이다.
발생 원인:
모델이 너무 복잡하여(파라미터가 많아) 데이터의 작은 변화까지 지나치게 학습하는 경우
학습 데이터가 부족하여 일반화에 필요한 다양한 패턴을 학습하지 못한 경우
해결방법 -> 4가지
- 조기종료 (과다적합이 발생하기전 학습을 종료함)
- 정규항 추가 : 가중치가 너무 크게되면 복잡한 형태의 함수가 생성되어 과다적합이 발생하기때문에 가중치가 커지는것을 방지하기위한 오차함수를 수정함. 백터2차 노름에 해당하는 정규항을 추가하는것임.
- 드롭아웃 : 학습과정에서 가중치를 수정할때 임의로 선택한 은닉 노드의 일부를 제외하는것.
- 데이터 증대 :
학습데이터가 충분하지 못한경우에도 과다적합이 발생할 수 있기때문에 추가적인 데이터를 생성해 학습데이터를 만들어 성능을 향상시키는 방법이다.
- 머신러닝 유형의 종류와 적용 가능한 문제/사례의 종류
머신러닝은 분류,회귀,군집화, 특징추출과 심화주제로
앙상블학습 : 복수개의 간단한 학습 시스템을 결합하여 일반화 성능을 향상시키는 방법
능동학습 : 학습과정에서 데이터를 선별적으로 선택하여 수행하는 방법
메타 학습과 자동 머신러닝 :학습 시스템의 복잡도 등의 하이퍼파라미터까지 학습을 통해 최적화 하는 방법
지속/중분학습 : 기존에 학습된 내용에 대한 손실 없이 새로운 내용을 추가로 학습하는 방법
베이즈분류기
가우시안 베이즈 분류기란?
데이터가 가우시안(정규) 분포를 따른다고 가정하는 베이즈 분류기입니다.
클래스별로 입력 데이터의 평균(μ)과 공분산(Σ)을 학습해서, 새로운 데이터가 어느 클래스에 속할 가능성이 높은지 계산합니다.
공분산이란?
공분산은 두 변수 간의 상관 관계를 나타냅니다.
여러 변수들(특징들)을 가진 데이터를 처리할 때, 데이터의 분산과 각 변수 간 관계를 나타내는 매트릭스 형태로 표현됩니다.
동일 공분산:
예를 들어, 두 클래스가 동그란 모양의 분포(구형 분포)를 가지고 있다면, 동일 공분산 가정이 적합합니다.
결정 경계는 직선으로 그려지며 단순한 형태가 됩니다.
클래스별 공분산:
만약 한 클래스는 길쭉한 타원형, 다른 클래스는 구형 분포를 가진다면, 클래스별 공분산을 사용해야 합니다.
결정 경계는 타원의 모양에 따라 곡선 형태로 나타날 수 있습니다.
선형 회귀의 개념
선형 회귀(Linear Regression)는 주어진 데이터를 기반으로 독립 변수(입력, x)와 종속 변수(출력, y) 사이의 관계를 직선(선형 함수)으로 모델링하는 기법입니다.
목적: 데이터를 가장 잘 설명하는 최적의 직선을 찾는 것.
선형 함수의 적용
선형 함수는 데이터에서 독립 변수와 종속 변수가 선형 관계(직선 형태)를 가질 때 사용됩니다. 다음은 주요 적용 과정입니다.
(1) 가정
선형 회귀는 다음과 같은 가정을 바탕으로 동작합니다:
데이터의 독립 변수와 종속 변수 사이에 선형 관계가 있다.
오차(잔차)는 평균이 0이고 정규 분포를 따른다.
오차는 독립 변수와 상관이 없다.
데이터에 이상치(outlier)가 많지 않다.
로지스틱 회귀(Logistic Regression)**는 이진 분류 문제를 해결하기 위한 통계적 모델입니다. 독립 변수(입력)와 종속 변수(출력) 간의 관계를 로지스틱 함수를 사용해 모델링합니다.
군집화(Clustering)의 개념
군집화는 비지도 학습(Unsupervised Learning)의 한 종류로, 데이터셋의 레이블이 없는 상태에서 데이터를 유사성에 따라 그룹(군집)으로 나누는 방법입니다.
각 그룹은 내부적으로는 데이터들이 비슷하고, 그룹 간에는 데이터들이 서로 다르게 구성되도록 합니다.
지니 불순도란?
지니 불순도(Gini Impurity)는 결정 트리(Decision Tree)에서 노드의 순도를 측정하는 방법 중 하나입니다.
- 지니 불순도의 정의
지니 불순도는 특정 노드에 있는 데이터가 얼마나 혼합되어 있는지를 나타냅니다. 값이 0이면 노드가 완전히 순수(즉, 하나의 클래스만 포함)하고, 값이 1에 가까울수록 여러 클래스가 섞여 있다는 의미입니다
지니 불순도와 노드 분할의 관계
결정 트리의 목적
결정 트리는 데이터를 재귀적으로 분할하여 각 노드의 불순도를 낮추는 방향으로 학습합니다. 즉, 노드를 나눌 때 지니 불순도를 최소화하는 분할 기준을 선택합니다.노드 분할 과정
노드 분할 시, 트리는 다양한 기준(feature)과 기준 값(threshold)을 평가하여 각 분할에서의 가중 평균 지니 불순도를 계산합니다.
지니 불순도의 변화
분할 전의 지니 불순도보다 분할 후의 가중 평균 지니 불순도가 더 낮아질 경우, 해당 분할이 효과적이라고 판단합니다.
반복적으로 분할을 수행하여 최적의 트리를 생성합니다.
스테픈 2km완료