스터디/Machine Learn

4. 앙상블, 결정트리, 랜덤포레스트, SVM/커널

elenalee 2024. 8. 20. 17:56

1.  앙상블 (emsemble learning)

선형 분류기와 같은 간단한 학습기로 학습을 수행하지만, 복수의 학습기를 결합함으로써

더 좋은 성능을 가진 학습기를 만드는 방법 (학습기 결합)

 

1) 앙상블 학습의 개념 

(1) 학습기의 선택과 결합 

① 학습 알고리즘 차별화 : 접근 방법이 다른 모델을 결합

      -  베이즈 분류기 & K-NN, 신경명 & SVM

② 모델선택과 관련된 파라미터 차별화 : 한 종류의 모델에서 파라미터를 달리 하여 결합 

     - K-NN분류 알고리즘 적용시 K값이 서로 다른 복수의 K-NN 사용

     - 은닉층 뉴런수가 다른 복수의 MLP

③ 학습데이터 차별화 : 같은 모델을 사용하되, 학습 데이터 집합을 달리하여 복수개의 학습기를 생성 

 

(2) 학습기 결합방법

① 병렬적 결합 : 각 학습기의 결과를 한번에 모두 고려하여 하나의 최종결과 생성

순차적 결합 : 각 학습기의 결과를 단계별로 결합 ( 앞 단계의 학습결과가 뒷단계 학습기에 영향)

 

(3) 학습 데이터 생성방법  

- 여러 학습기의 출력을 연결하여 출력 

i번째 학습기를  𝒉(𝑥) = 𝒉(𝑥, 𝜃ᵢ) (데이터 동일, 학습 파라미터 상이) M개의 학습기 결합 

- 출력 f(x)와 원하는 출력 t의 오차 e(x)를 정의 ( 시스템간의 오차정의 ) 

   전체 입력에 대한 일반화 오차(Egen)는 e(x) : 확률분포 p(x)에 대해 적분한 값으로 정의(기대치)

 

필터링(filtering)에 의한 방법 - 초기 부스팅 방법, 캐스캐이딩 방법 (학습 특성을 결합에도 적용)

  각 학습기 학습마다 새로운 데이터 생성(바로 적용X)  학습이 완료된 학습기에 적용

  ▶제대로 처리되지 못하는 데이터들만 필터링하여 학습

 

리샘플링 (filtering)에 의한 방법 - 배깅방법, MadaBoost방법

   주어진 학습데이터로부터 일부 집합을 추출하여 각 학습기를 학습

  (각 학습기 학습마다 새 데이터를 생성X)

   단순 샘플링(Bagging), 학습이 잘 되지 않은 자주 선택 (Madaboost,Modification of AdaBoost)

 

 

가중치 조정(reweighting) - AdaBoost방법

    각 데이터에 가중치를 주어 학습영향도 조정 (모든 학습기에 동일 학습데이터를 사용)

 

2) Bagging & Voting (학습기 선택, 학습기의 결과를 결합)

- Bagging은 학습기의 선택, Voting은 학습기의 결합 

 

(1) Bagging (Bootstrap aggregating의 약어) 

부트스트랩 : 제한된 데이터를 이용하여 시스템의 학습과 평가를 동시에 수행하기 위한 리샘플링기법

 

① 학습과정 (M개의 서로 다른 학습기)

N개의 데이터로 이루어진 학습데이터 집합 X를 준비

학습기 모델을 정의

M개의 학습기를 각각 학습시키기 위해 사용될 데이터 집합의 크기 Ñ ( Ñ ≤ N ) 정의

 i번째 학습기 𝒉(𝑥)모델의 파라미터를 초기화 + Ñ개 데이터를 랜덤 선택 데이터집합 X를 만듬

   (복원추출 - 중복선출가능)

학습을 수행하여 최적화된 파라미터 θ를 찾아 i번째 학습기를 위한 판별함수 𝒉(𝑥, 𝜃ᵢ)를 얻음

위의 과정을 M번 반복해 서로 다른 M개의 학습기 생성후 결합하여 최종판별함수 f(𝒉₁,𝒉₂,...,𝒉ₘ)

 

② 고려사항 

데이터 집합의 크기 Ñ

  - 주어진 전체학습 데이터 집합 X의 크기 N이 충분히 크지 않으면 Ñ은 N을 같은 값

    ( 복원추출을 사용하므로 매 단계마다 생성되는 데이터 집합은 동일 X )

 

학습에 사용될 학습기 모델 

 - 학습기에 의해 찾아지는 판별함수데이터 집합의 변화에 민감한 모델을 선택

    예) 다층 퍼셉트론, 최근접 이웃분류기

 

(2) 보팅 ( 최종 결과를 도출하기 위한 데이터 결합) 

① Committee machine (단순 평균법)

     - M개의 학습기 결과를 모두 동일한 정도로 반영하여 평균한 결과를 얻는 방법 

        f(x) = f(𝒉1(x),𝒉2(x),..., 𝒉m(x)) = 1/M 𝚺 𝒉i(x)

     - 연속된 실수값을 내야하는 함수근사문제에 적합

      ( 분류문제: 결합결과로 최종분류결과를 결정하는 처리과정 필요)

 

(3) 효과 

- 학습기 결합을 통해 개별 분류기의 표현능력을 능가하는 새로운 모델의 표현이 가능

 

 

(4) 배깅과 보팅에 의한 오차 

- 수식에 따르면 일반 학습기 오차의 1/M으로 감소 (학습기별 오차가 독립적인 경우)

  학습기의 성능이 학습기의 갯수 M에 비례  

** 실제적으로 학습기의 오차가 독립적이지 않고 양의 상관관계를 가지므로, 이론과 달리 

     일반화 오차가 1/M만큼 감소하는 효과는 기대하기 어려움

 

 

3) 부스팅

- 간단한 학습기들이 상호 보완적 역할을 할수 있도록 단계적으로 학습을 수행하여 결합함으로써 성능증폭 

- 먼저 학습된 학습기 결과가 다음 학습기의 학습에 정보를 제공하여 이전 학습기의 결점을 보완

 

(1) 필터링에 의한 부스팅 (가장 먼제 제안된 부스팅 방법)

- 각 학습기별로 새로운 데이터 생성

- 생성된 학습데이터를 이전 학습기의 학습된 결과에 반영하여 바른데이터와 잘못된 데이터 구분, 학습에 이용    

- 학습 데이터를 일부만 사용하므로, 학습을 위해 데이터의 규모가 매우 커야 함

 

학습과정 

   h1학습 : 새로운 데이터 X1으로 h1으로 학습진행 

   ▶ h2학습 : 새로운 데이터 X2로 h1을 거치며 잘못된 결과와 바른 결과의 데이터의 비율로 1:1추출, 학습

   ▶ h3학습 : 새로운 데이터 X3로 h1과 h2학습, h1과 h2의 결과가 일치하지 않는 데이터로 h3로 학습 

   ▶추론과정 : h1과 h2의 결과가 일치하면 해당 결과가 최종 결과, 그렇지 않으면 h3의 결과가 최종결과

 

(2) AdaBoost알고리즘 (데이터 규모의 문제해결 ), 학습과 결합 모두 고려, 2개 클래스 분류에 적절 

- 같은 데이터 집합을 반복 사용, 학습할때마다 각 데이터의 가중치를 조정하여 학습의 변화를 꾀함  

- 데이터의 중요도가 적응적으로 변화(Adaptive + Boost)

- 조정된 가중치 (𝛂ᵢ) 로 각 분류기를 단계적으로 학습 (분류기 차별성 증가- 보팅에 가중치)

  분류기의 중요도 - 각 학습기의 결합과정에서 결합계수로 사용 (𝛂)

 

 학습과정 

- 이전 단계의 학습결과에 따라 가중치 (오차가 적을수록 높음)가 수정

   학습기 자체의 오분류율이 최종판별함수 생성에서 결합중요도로 활용 

 

N개의 입출력쌍으로 이루어진 데이터 X준비, 각 데이터에 대한 가중치 초기화 (1/N)

 ▶ 학습 : 목표출력, 오분류율, 가중치를 적용하면서 M개의 분류기 학습 

 ▶ 각 학습 데이터의 가중치가 적용된 오분류율 정의 ( ε 감소시  𝛂ᵢ 증가 )

    (학습을 통해 오분류 최소화하는 판별함수 𝒉(𝑥)를 얻고 이를 이용해 중요도 𝛂ᵢ 계산)

 ▶ 데이터에 대한 가중치를 수정 ( 계산식은 전체 가중치 합이 1이 되도록 Z설정)

 ▶ M개의 분류기의 학습이 완료되면 각 분류기 중요도 값으로 결합한 최종 판별함수를 구성

 

③ 분류기의 학습과 분류 (함수적 해석)

 

③ 단순한 보팅법에 가중치를 적용한 결합 방법

 

④ 특징 : 

- 이전단계 분류기 학습결과로 다음단계 학습에 사용될 데이터에 가중치 부여

- 분류기 간 차별성 부여

- 각각의 간단한 분류기의 오분류율이 0.5보다 작은 조건 만족시,

  분류기 결합으로 학습데이터의 오차를 기하급수적으로 감소시킬수 있음 

- 최적화된 결합가중치를 찾아 분류기들을 결합

- 두개의 클래스에 대한 분류문제에 적합한 방법

 

4) 결합방법 : 평균법, 보팅법(투표법)

 

(1) 평균, 보팅, 별도의 결합기를 사용하여 결합 

① 평균법 : 학습기의 출력이 수치형일때 적합 

- 단수평균과 가중평균

 

② 보팅법 ( 분류 문제에 주로 사용 )

- 특정 레이블이 클래스 출력(argmax), 최다 요소를 레이블이 출력 (과반을 넘지 못하면 미출력 설정가능)

- 하드보팅 (0,1등의 이산값으로 구분 ), 소프트 보팅 (0~1사이의 확률값으로 구분)

 

③ 결합기 사용 ( 기본 학습기의 결과를 결합하는 또 하나의 학습기)

- 결합기를 위한 학습 데이터 구성, 학습에 사용된 데이터를 결합기에 사용하면 과다적합 우려

   새로운 학습 데이터 집합을 준비 (과다적합 회피를 위함)

   새로운 학습 데이터 (𝑥ᵢ , 𝑦ᵢ)에 대해 기본학습기 𝒉ᵢ의 출력값 zᵢⱼ (i번째 데이터에 대한 j학습기의 출력)   

   M개의 결합기에 대해 각 𝑥에 대해 학습데이터( (z₁, z₂,..., z ), 𝑦ᵢ )로 학습을 통해 결합기 생성

 

(2) Cascading 

- 여러 복잡도를 가진 학습기의 순차적으로 결합 

- 처리에 많은 계산비용이 요구되는 문제에서 계산 효율을 높이면서 안정적인 성능을 얻음

   ( 계산시간을 줄이면서 성능 보장 )

 

실행 방법

① 성능은 낮지만 계산비용이 낮은 간단한 학습기로 오류가 일정 수준이상의 데이터 탐색 
    (학습기 신뢰도도 측정하여 수준이 낮은 데이터 포함 )
신뢰도 낮은 데이터는 다음 단계의 학습에 사용 (높은 단계에서 성능이 좋은 학습기 사용이 권장)

③ 학습 완료 후 추론단계에서 단계적 처리

   - 새로운 데이터에 첫번째 학습기를 통과시켜 오류/신뢰도 계산으로 충분하면 결과로 도출 

   - 신뢰도 낮은 경우 다음 단계의 학습기로 진행

 

 

 

(3) 전문가 혼합 (mixture of experts)

- 복수개의 학습기를 가중합하여 최종학습기를 만드는 결합 방법 (가중합의 계수가 함수로 주어짐)

 

 

예) AdaBoost방법을 이용한 퍼셉트론 분류기의 결합 (데이터 400개)

 

선형분류가 아니며 퍼셉트론의 시행불가 → 여러개의 퍼셉트론을 AdaBoost로(앙상블)로 결합하여 성능향상

** 전문가 : 입력공간을 복수개로 나누어 학습기가 특정 영역을 중점적으로 담당하도록 학습, 가중치도 결정 

    (전문가: 입력공간의 특정영역을 담당), 데이터간 상관이 줄거나 음의 상관관계로 의존성이 줄고 일반화

2.  결정트리 

1) 개요 

- 주어진 문제에 대해 결정을 내리는 함수를 트리형태로 구성 

- 분류 문제를 위해 개발되었으나 회귀문제로 확장 , CART(Classification And Regression Trees)

- 뛰어난 설명력 제공 : 트리구조에 각 입력요소의 역할이 잘 표현되어 학습 결과를 설명

- 과다적합 문제 : 복잡한 함수의 표현과정에서 데이터의 노이즈에 민감 (앙상블 기법을 결합 '랜덤포레스트'등장)

 

세탁기 동작여부를 결정하는 결정트리 : 속성(판단을 내리는 데 사용하는 결정요인 ) - 날씨, 습도, 세탁량 

 

(1) 학습과정 

루트노드에 적절한 속성을 선택

가지를 만들고 클래스 레이블 할당, 클래스 레이블 혼합이 있으면 분할

레이블에 속성이 모두 같은 리프 노드에서 분할중단 

 

(2) 노드의 속성 결정(결정요인을 배정할 것인가)

- 부모 노드에 속성 배정에 따라 데이터그룹의 형태가 상이해지며, 적절한 경우 과정이 간소해 짐

- 속성 결정은 가급적 최대한의 데이터가 리프노드로 분리 (추가적인 작업 불필요, 불순도 낮음) 

- 지니불순도, Information gain (정보이득), Reduction in Variance (분산 감소량), Chi-Square 

 

① Gini Impurity (지니 불순도) 

각 노드에 할당된 클래스 레이블이 얼마나 다른지 혼합도를 측정 

지니 평가계수 G(Ra) (Gini Criterion) : 속성 a를 가진 부모노드 Ra의 자식노드들의 지니불순도의 가중합

 

② Information gain (정보이득)

- 데이터 집합의 분할 전후의 엔트로피의 차이 

엔트로피 : 데이터의 혼잡도, 혼잡도가 낮으면 데이터 순도가 높음

분류 문제에 주로 사용 

 

③ Reduction in Variance (분산 감소량)

- 모든 노드에 대한 분산의 가중 평균

분산 : 데이터의 동질성을 표시 ( 데이터가 완전히 같으면 분산은 0 )

회귀 문제에 주로 사용

 

④ Chi-Square 

부모노드와 하위 노드간 통계적 유의성 활용 

분류 문제에 주로 사용 

 

2) 2차원 데이터 분류 (결정트리)

2차원 데이터  𝑥₁, 𝑥₂ ∈ ( 0, 1 )

- 학습이 종료되었으나 실제 결정경계와 같지 않으며 깊이설정에 따라 과다 적합 발생가능성

- 결정경계가 계단형으로 주어져 불연속성이 뚜렷하고, 다양한 형태의 결정경계 표현 불가

 

 

* 일반화 성능 형상 - "참"인 결정경계를 표현할수 있는 충분한 데이터 필요 (앙상블 기법과 결합하여 성능 향상)


3) 회귀를 위한 결정트리

2차원 데이터  𝑥₁, 𝑥₂  ( 0, 1 )

- 트리의 구성은 분류와 같으며 최종 출력값이 실수 (클래스 레이블이 아님)

- 학습이 종료되었으나 실제 결정경계와 같지 않음 ( 깊이설정에 따라 과다 적합 발생가능성 있음 )

 

- 과다적합 : 모든 학습데이터에 대한 완벽한 학습

 

간단한 해결책 

조기종료(Early Stopping)  : 데이터를 더 분할해도 성능이 향상되지 않을때 노드의 분할을 종료

가지치기(Prunning) : 전체 트리를 만든 후 불필요한 노드제거 

발전된 해결책 : random forest

 

3.  Random Forest  

- 결정트리와 앙상블 학습기법을 결합한 방법

   배깅 방법으로 데이터를 리샘플링하여 M개의 학습기와 결합하는 방법

   결합방법 : 주로 보팅법 (분류문제), 출력값의 평균(회귀문제)

- 포레스트 : M개의 서로다른 결정트리의 결합 

랜덤 : 결정트리간의 차이가 랜덤으로 추출된 데이터 샘플에 기인

장점 : 간단한 학습기의 결합으로 복잡한 함수 표현 및 일반화 성능 향상 

          높은 학습력, 빠른 학습 

 

 

① Random Forest 학습

N개의 데이터로 이루어진 학습 데이터집합 𝐗, 각 결정트리의 학습의 데이터 집합의 Ñ을크기 정함 (Ñ𝐍)

    i 번째 결정트리를 학습하기 위한 트리의 깊이를 결정

학습 데이터 집합으로부터 Ñ개를 Random sample하여 데이터 집합 𝐗ᵢ 구성 (복원추출)

데이터 집합 𝐗ᵢ로 결정트리를 학습하여 i번째 판별함수(또는 회귀함수)𝒉ᵢ(𝑥)를 얻음

위의 과정을 M번 반복하여 서로 다른 M개의 결정 트리를 생성하고, 결합하여 최종판별함수 𝑓(𝑥)= 𝑓(𝒉(𝑥),𝒉(𝑥),..., 𝒉ₘ(𝑥)) 

 

4.  SVM (Support Vector Machine, 최대 마진 분류기)

- 과다적합을 피하고 일반화 오차를 줄이기 위해 학습 시스템의 복잡도를 적절히 조정 

- SVM : 일반화 오차를 최소화할수 있는 방향으로 학습이 이루어지도록 설계된 선형 분류기 

 

예) 과다적합 (비선형 함수)

복잡한 학습으로 인한 과다적합

 

1) 선형 초평면 분류기

- 학습을 통해 주어진 데이터들이 적절히 분류되도록 g(x)최적화 

입력 𝑥에 대한 선형 초평면 판별함수 𝑔(𝑥) = 𝑤𝑥 + 𝑤₀ = 𝑤𝑥 + 𝑤₀ = 𝚺 𝑤ᵀ𝑥 + 𝑤

결정 규칙 𝑓(𝑥)= sign(𝑔(𝑥)) , 𝑓(𝑥) = 1 → 𝑥 ∈ C , 𝑓(𝑥) = -1 → 𝑥 ∈ C 

 

 

2) 최대마진 분류기 

(1) margin

- 학습 데이터중 결정경계에 가장 가까운 데이터로부터 결정 경계까지의 거리

support vector : 결정경계에 가장 가까운 곳에 위치한 데이터 (margin을 최대로 하는 vector)

SVM : 선형결정경계 중 일반화 오차를 최소로 하는 최적경계를 얻기 위해 마진을 도입하여 목적함수 정의

결정경계의 margin이 넓으면 일반화 오차가 감소

 

① 선형 판별함수

- 최대마진을 가진 선형 결정경계(초평면)을 얻기 위한 선형 판별함수

   𝑔(𝑥) = 𝑤𝑥 + 𝑤₀ = 𝚺 𝑤𝑥 + 𝑤₀ = 0 (𝑤는 법선 벡터, 𝑤₀는 원점에서 직선까지의 거리)

결정경계를 중심으로 g(x)가 0보다 큰 영역과 0보다 작은 영역으로 구분 , 마진을 최대로 하기 위해 w최소화

 

② SVM의 학습의 원리 

- 서포트 벡터를 𝝌(카이)로 설정하여 결정경계에 대해 𝝌로 연산할시 +1,-1이 나오도록 조건을 설정 

 { (𝑥ᵢ , 𝑦ᵢ) }₌ ₁,₂,...,៷  𝑦ᵢ =  1  𝑥  C , 𝑦  = -1  𝑥  C 

추정 파라미터 𝑤, 𝑤₀이 만족해야 할 조건 

𝑤𝑥 + 𝑤₀  ≥ +1  for 𝑦ᵢ = +1 

𝑤𝑥 + 𝑤₀  -1  for 𝑦ᵢ = -1 

이렇게 조건이 되도록 설정해야 함 

  ----->  𝑦ᵢ ( 𝑤𝑥 + 𝑤₀ ) - 1  ≥ 0 

따라서 마진 M은 최소화할 목적함수 ---->   J(𝑤) = ||𝑤||² / 2

 

③ 두 조건을 만족하는 목적함수를 찾기 위해 라그랑쥬 승수를 적용한 라그랑쥬 함수적용

    ( 𝛂 ≥ 0 , i = 1,2, ... N ) 

 

⇒ 판별함수  𝑔(𝑥) = 𝑤ᵀ𝑥 + 𝑤₀ =𝚺𝑤ᵀ𝑥+ 𝑤₀ = 0  ( 전체 N이 아닌 서포트 벡터 집합에 적용 ) 

 

④ SVM의 학습과 인식단계 

N개의 입출력쌍 학습 데이터집합  X={(𝑥ᵢ , 𝑦ᵢ)}₌ ₁,₂,...,៷, , 목표출력  𝑦{-1,1}( i = 1,..,N)

학습데이터로 파라미터 추정을 위한 목적함수 정의 𝘘(𝛂)를 정의, 

주어진 조건을 만족하면서 𝘘(𝛂)를 최대화하는 추정치 𝛂를 이차 계획법으로 찾음 

서프트 벡터의 𝛂i ≠ 0이 되는 서포트 벡터의 𝑤₀계산 , 벡터집합과 파라미터 벡터, 𝑤저장 

 

다중 클래스 분류문제에 적용 

가장 보편적인 방법 : k개의 개별적인 SVM분류기 사용 (근본적으로 SVM은 이진분류기)

( k번째 SVM은 k번째 클래스와 나머지 k-1개 클래스 분류 ) 

각 SVM에 대해 

 - 클래스 Ck에 해당하는 데이터 +1, 나머지 -1)

 - 실제의 문제 : 애매모호한 결정영역(1개만 1, 나머지 -1이 되지 않음), 학습 데이터 집합크기가 불균형적 

 

1:1 방법  ( 가능한 모든 클래스의 쌍에 대해 분류 수행 )

가능한 모든 클래스의 쌍에 대한 서로다른 k(k-1)/2개의 SVM과 보팅

예)1,2,3 이면 1-2, 1-3, 2-3보팅

- 실제의 문제 : 애매모호한 결정영역, 학습/테스트를 위한 높은 계산비용

 

3) 슬랙변수를 가진 SVM 

- 학습을 위해 주어지는 모든 데이터가 선형분리되지는 않으므로 오분류에 대한 처리방법

   𝞷 도입하여 (약간의 오분류를 허용)하여 조정 

  ※ 슬랙변수 𝞷(크사이) : 오분류된 데이터로부터 해당 클래스 결정경계까지의 거리 (커질수록 오분류 허용)

 

크사이로서 플러스 평면 아래의 데이터, 마이너스 평면 위쪽의 데이터 처리

 

𝛂 < c (슬랙변수가 너무 커지지 않게 하는 상수)적용을 제외하면, 최종결과는 슬랙변수가 없는 경우와 동일

 

4) 커널법 

- 비선형 분류 문제를 해결하기 위해 저차원 입력을 고차원 값으로 매핑 𝝓(x)

   ( 고차원으로 선형화하면 간단한 선형 분류기로 가능, 예)2차원의 점을 3차원에 매핑)

- 커널 매서드 : 고차원 매핑을 처리하는 커널함수로서 선형화시 증가하는 계산량을 처리

                    주로 내적함수 이용, k(x,y)를  𝝓(x)· 𝝓(x)

- 선형커널(내적), 다항식커널, 시그모이드 커널(tanh 사용), 가우시안 커널 

 

 

 

5) 슬랙변수와 커널을 가진 SVM 

 { (𝑥ᵢ , 𝑦ᵢ) }₌ ₁,₂,...,៷ , 하이퍼 파라미터 c, 커널 함수 k(𝑥ᵢ , 𝑥ⱼ),

목표 출력값 𝑦{-1,1}( i = 1,..,N), 학습데이터로 파라미터 추정을 위한 목적함수 𝘘(𝛂) 정의 

 

학습 데이터를 이용해 파라미터 추정을 위한 목표함수 Q(𝛂) 정의

주어진 조건을 만족하면서 𝘘(𝛂)를 최대화하는 추정치 𝛂ᵢ를 이차계획법으로 찾음, 서포트벡터 찾음 

 𝛂 ≠ 0이 되는 서포트 벡터를 찾아 집합 Xs생성 , 𝛂ᵢ와 서프토벡터로 𝑤₀계산 

  새로운 데이터가 주어지면 저장해 둔 서포트 벡터와 파라미터로 분류 수행 

 

추정치 𝛂ᵢ를 이차계획법으로 찾음, 서포트벡터 찾음 

 

새로운 x에 대해 서포트 벡터와 파라미터를 이용하여 판별함수로 분류를 수행

 

예) 비선형 결정경계를 가진 이진 분류

- 다항식 커널, 가우시안 커널 적용 

 

 

'스터디 > Machine Learn' 카테고리의 다른 글

6. Deep Learning  (0) 2024.08.28
5. 신경망  (0) 2024.08.27
3. 비지도 학습_ 군집화와 특징추출  (0) 2024.08.19
2. 지도학습- 분류와 회귀  (0) 2024.08.01
1. 머신런 개요 _ 행렬연산  (0) 2024.06.09