카테고리 없음

기초 세션 2주차

skinamalink 2026. 3. 23. 14:57
1교시 [ 지도 학습(1): 회귀 ]

1. 회귀의 정의

(1) 회귀란?

    데이터의 흐름을 파악하여 임의의 지점에서의 연속된 수치를 알아내는 것으로, 과거의 데이터를 바탕으로 미래의 특정 값을 숫자로 도출하는 과정 (단순히 값을 맞히는 게 아닌 데이터의 흐름을 파악하는 것)

 

(2) 회귀 vs. 분류

-수치 예측: 회귀의 핵심 목적으로, 연속적인 숫자값을 추측하는 것을 의미

구분 Regression Classfication
질문의 성격 얼마나(how much) 어느 것(which one)
결과값 형태 continuous discrete
예시 내일 기온은 24도씨 일 것이다.
다음 달 주가는 얼마일까?
내일 비가 올 것인가? (Yes/No)
이 사진은 고양이인가, 강아지인가?

 

2. 가설 설정

-선형 회귀: 데이터 사이를 관통하는 선

 즉, 가설을 설정한다는 것은 컴퓨터가 데이터의 흐름을 파악할 수 있도록 데이터 사이를 관통하는 '선' 하나를 정의하는 과정

y = wx + b

 

w(Weight): 가중치, 선의 기울기, 영향력 >> 입력 데이터가 결과에 주는 영향의 강도

b(Bias): 편향, 기본값, 절편 >> 데이터의 기본 baseline

 

-처음에는 컴퓨터가 w, b를 무작위로 정하여 선을 긋기 때문에 오류 가능성 포진

-목표: 수많은 점들을 가장 잘 대표하는 최적의 선을 찾는 것

 

3. 가설 채점

(1) 손실 함수 (Loss Function): 모델이 예측한 값과 실제 데이터 사이의 거리, 오차를 측정하는 것

오차 = 실제값 - 예측값

 

-오차를 측정하는 기준

-직선에서 점들이 멀어질수록 성능이 낮은 모델

 

(2) MSE (평균 제곱 오차)

-모델의 성적표 역할

-오차를 제곱하는 이유

 >> 부호 제거: 음수 오차를 양수로 만들어 전체 합산을 가능하게 함

 >> 가중 패널티: 오차가 클수록 더 큰 Penalty를 부여하여 정교한 학습 유도 (더 강력한 수정)

-컴퓨터는 MSE 점수를 낮추기 위해 모든 가중치를 조정

 

4. 수정하기: 경사하강법 (error를 줄이는 최적화 전략)

-무작정 수정을 하는 것이 아닌, 어느 방향으로 오차가 줄어드는지 파악하는 것

(1) <안개 낀 산에서 내려오기>의 비유로 이해 가능

 >> 우리가 안개 낀 산(오차 곡선)의 꼭대기에 서 있다고 할 때, 앞은 안 보이지만 발바닥의 경사(땅의 기울기/미분값)은 느낄 수 있음

 >> 현재 위치에서 미분(기울기 측정) -> 기울기가 낮은 쪽으로 가중치 수정 ; 이를 오차가 최소가 될 때까지 무한 반복

(2) 학습률, Learning Rate (μ)

Over-shooting Convergence Slow Convergence
발산
골짜기를 지나쳐 산 반대편으로 튕겨나감
안정적이고 효율적으로 최저점에 도달 너무 꼼꼼해서 해가 질 때까지 못 내려옴

**인공지능의 핵심 기술 중 하나가 바로 '적절한 보폭을 찾는 과정'

model.fit(x, y)가 바로 가설 검증 & 수정이 수차례 반복되는 과정

이러한 선형 회귀 유닛(Perception)을 수천, 수만 개 쌓으면 이것이 거대한 인공신경망(Neural Network)가 된다!

 

5. 개인 질문

회귀는 상관관계가 아닌, 인과관계를 측정하는 지표로 아는데 그렇다면 AI가 상관관계를 측정할 때에는 어떤 방법을 쓰는건지 궁금하다.

 

 

2교시 [ 지도 학습(2): 분류 ]

1. 분류(Classification)란?

-이미 정해진 그룹 중에서 새로운 data A가 입력될 경우, 가장 유사한 특성을 가진 집단(가장 많은 데이터가 있는 쪽)으로 A의 집단을 결정하는 것

-종류: 로지스틱 회귀, 의사결정 나무(Dicision Tree), KNN etc

-활용 예시: 스팸메일 분류, 질병 있음/없음 판별, 손글씨 숫자 분류(0~9)

 

2. 로지스틱 회귀

-데이터가 특정 범주에 속할 확률을 0에서 1 사이의 값으로 예측한 뒤, 그 확률이 더 높은 범주로 분류하는 이진 분류 모델

-예측된 값 > 기준값 = 1 (사건이 발생함)

 예측된 값 < 기준값 = 0 (사건이 발생하지 않음)

(1) 선형회귀와의 비교

로지스틱 회귀분석은?

 >> 분류 모델에 사용

 >> 시그모이드 함수

 >> 결과가 0 ~ 1 사이 확률

 >> 손실함수로 교차 엔트로피 사용

 

(2) 시그모이드 함수 (Sigmoid Function) **인공지능에서 아주 중요한 함수

-확률을 0 ~ 1 사이의 S자형 곡선으로 나타내는 함수

-기준값(보통 0.5)에 따라 분류 결정

 >> 입력값이 클수록 출력은 1의 값으로 수렴

 >> 입력값이 작을수록 출력은 0의 값으로 수렴

 

3. Decision Tree

참고로 나는 신용카드 발급이 불가할지도 모른다

(1) 의사결정 나무의 개념

-컴퓨터가 '조건에 따른 판단 과정'을 배우고, 데이터 스스로 규칙을 찾아내는 알고리즘

-의사결정 규칙을 나무 구조로 표현함 >> 여러가지 규칙을 순차적으로 적용하면서, 입력 특징을 기준으로 데이터를 분할

 

(2) 의사결정 나무의 특징

-부모 node(군집화)로부터 자식 node의 나무 구조를 형성하는 매 단계마다 분류 변수와 분류 기준값의 선택이 중요

-분류 변수와 분류 기준값: node 내에서는 동질성 & node 간에는 이질성이 가장 커지도록 선택

 

(3) 의사결정 나무의 매커니즘

-트리의 가장 상위 조건

 >> 전체 데이터를 크게 나누는 가장 중요한 기준

 >> 특징 중에서 영향력이 큰 것은 상위에, 작은 것은 하위 node에 배치

-Entropy, Gini Coefficient: 특정 속성이 분류 방식에 부합하게 데이터를 나누는지를 측정하는 척도

-최종적으로 모든 data가 교집합이 없게 분류가 완료됨

4. 분류 평가지표

(1) 오차 행렬 (Confusion Matrix)

-이진 분류로 구분

-지도 학습으로 훈련된 분류 알고리즘의 성능을 시각화 할 수 있는 표

실제값/예측값에 관한 축을 주의해서 볼 것 / SPAM mail의 예시

 

 

(2) 5가지 평가 지표

Accuracy 전체 데이터 중에서 정확하게 분류한 개수
Sensitivity (Recall) 실제 스팸 메일 중에서 스팸 메일이라고 예측한 비율
Specificity 실제 일반 메일 중에서 일반 메일이라고 예측한 비율
Precision 예측이 P인 것 중에서 참(TP)인 것
F1 score Sensitivity와 Precision을 결합한 평가 지표
0 ~ 1 사이의 값으로, 높을수록 분류 성능이 좋음

 

5. 개인 질문

Confusion Matrix를 이렇게 많은 지표로 평가하는 이유와, 각 지표의 장단점 및 실효성이 궁금하다.

 

 

3교시 [ 비지도 학습 & 과적합 ]

 

1. 비지도 학습의 개념

-학습 데이터에 label(정답)이 없으며, data를 통해 숨어있는 패턴/그룹을 파악하는 학습

 데이터를 넣었을 때 어떤 값이라고 정확히 정답이 나오는 게 아닌, 비슷한 것끼리 군집화를 이루는 방식

-예시: Clustering, 차원 축소 방식(Dimensionality Reduction)

2. 클러스터링

-유사성 or 패턴 기반으로 서로 다른 객체들을 group or Cluster로 구성하고 분류하는 비지도 ML 알고리즘

 

(1) K-means

-중심점(centroid)라는 특정한 임의의 지점을 선택하여 해당 중심에 가장 가까운 포인트들을 선택하는 군집화 기법

-거리 기반 군집화 방식

 >> centroid: 데이터에 따라 클러스터에 있는 모든 점의 평균 or 중앙값

 >> K: 군집의 개수

 >> mean: 평균, 중앙값

 

-알고리즘 과정

 

장점 -쉽고 빠르게 연산 가능 bc. 중심점과 군집의 거리만 계산하기 때문
-데이터 사전 정보 필요 없음
-분석 알고리즘 적용 쉬움
단점 -K값 & 처음 centroid값을 임의로 정해야 하나 중심점의 값에 따라 결과가 민감하게 변함
-이상치에 민감 >> 몇개의 값이 너무 멀리 떨어져 있을 경우, 그에 맞춰 중심점을 정하기 때문 (이상치를 따로 구분하는 알고리즘은 아님)
-local minimum(최저점이 아닌 저점)으로 수렴
-구형의 클러스터만 구하기 가능 >> 복잡한 형태 집단은 잘 못 나눔


(2) DBSCAN (Density-based spatial clustering of applixations with noise)

-Noise를 포함한 데이터에 대해 밀도 기반으로 클러스터링하는 알고리즘 (점이 세밀하게 몰려 있어서 밀도가 높은 부분을 클러스터링)

-알고리즘 과정

 >> 점p: 중심점, 임의가 아닌 모든 data 값에 의해 결정

 >> eps(epsilon): p에서부터의 거리 (직접 설정값) // Elbow Method값

 >> minPts: e의 반경 내의 점의 수 (직접 설정값)

장점 -기하학적으로 패턴이 있는 데이터 군집화에 유리
-군집 개수 정할 필요 없음 >> 군집 개수 예상 어려울 때 사용하기 좋음
-이상치 자동으로 구분 >> 이상치 자체가 하나의 군집이 됨
단점 -다양한 밀도를 가진 데이터 형태는 군집화 성능이 떨어짐
-하이퍼 파라미터 값에 따라 클러스터링 결과가 크게 달라지며, 적정 파라미터 값 지정 어려움 >> 하이퍼 파라미터 튜닝 필요

 

**하이퍼 파라미터 튜닝에 관하여

 >> K-Means: 군집의 개수인 K와 초기 중심점(centroid)을 사용자가 임의로 정해야 함

 >> DBSCAN의 하이퍼 파라미터: 탐색 반경인 epsilon(eps)과 군집을 형성하기 위한 최소 데이터 개수인 minPts를 사용자가 직접 정의   >> 설정의 중요성: 하이퍼 파라미터 값에 따라 클러스터링 결과가 크게 달라지므로, 적절한 값을 지정하는 '하이퍼 파라미터 튜닝' 과정이 필수적

 >> 과적합과의 관계: 적절하지 않은 하이퍼 파라미터 설정은 과적합을 유발

 

 

3. 클러스터링 성능 평가 방법

(1) Elbow Method

-최적의 K 개수를 찾는 방법

-Cluster 간의 거리의 합을 나타내는 inertia가 급격히 떨어지는 구간의 K 값 = 군집의 개수

 **inertia: 군집 내부의 응집도를 수치화한 값, SSE와 유사

(2) Silhouette Score

-군집타당성지표로, 클러스터링 이후의 성능 평가 방식 (얼마나 잘 됐는지 확인)

 >> -1 ~ 1 사이의 값으로, 1에 가까울수록 적절한 군집화가 되었다고 판단

 >> 개별 데이터가 할당된 군집 내 데이터와 얼마나 가깝게 군집화 되어있는지, 다른 군집에 있는 데이터와는 얼마나 멀리 분리되어 있는지를 수치로 표현

4. 차원 축소 방식

-고차원 데이터에서 중요한 정보는 유지하되, 데이터의 차원을 줄이는 과정

-효과: 데이터의 복잡성 감소, 계산 비용 절감, 노이즈 감소, 시각화 용이

 

(1) PCA (Principal Component Analysis): 주성분 분석-선형 연산

-주성분: 가장 많은 정보를 담고 있는 방향

-선형 연산: 비례관계를 유지하는 연산 bc. 직선적으로 회전하고 압축만 하기 때문 >> 최대한 복잡한 데이터 줄이기 가능

 

(2) t-SNE (t-distributed Stochastic Neighbor Embedding): 비선형 차원 축소 방식

-목적: 고차원 데이터를 2차원 데이터로 만듦

 고차원 공간에서 가까운 것은 저차원에서도 가깝게, 고차원에서 먼 것은 저차원에서도 멀게 공간 정보 최대한 유지

-확률 분포 이용 >> 데이터 간의 실제 거리를 유사할 확률로 바꾸는 방법

 

(3) 각 방식의 장점

PCA t-SNE
-데이터 분산이 큰 방향으로 선형 축소 >> 정보 손실 최소화
-겹치지 않으면서 정보를 가장 잘 설명
-선형 연산이기 때문에 빠른 계산
-변수간 중복 제거가 가능하여 깔끔함
-복잡한 관계 파악 용이
-시각화에 유용

 

5. 과적합

-Traning data만 과하게 맞춰진 상태

 >> Traning data에서는 성능이 높지만, 새로운 data(Test data)에서는 성능이 떨어지는 현상 = 일반화 성능 저하

if. 충분히 학습X
패턴 파악을 못하는 그래프, 새로운 data 넣었을 때 어떤 특징 가지는지에 대해 학습을 제대로 못했기에 군집 제대로 형성 못함
if. 과적합
이상치까지 학습을 해버려서 새로운 data 넣었을 때 패턴 제대로 파악하지 못함

 

-발생 사례

 >> K 너무 크게 설정 (군집이 너무 많이 발생)

 >> DBSCAN에서 eps 너무 작게 설정 (군집이 작아짐)

 >> t-SNE에서 구조 과해석

-해결 방법: 적절한 K 선택, 교차 검증 개념, 정규화, 차원 축소 활용

 

 

[ 결론 ]
데이터에 '정답(Label)'이 있는지 여부가 두 학습 방식을 가르는 가장 큰 차이이다!