isdawell 2022. 3. 31. 20:04
728x90

 

0️⃣ Tabnet 

 

Tree 기반 λͺ¨λΈμ˜ λ³€μˆ˜ 선택 νŠΉμ§•μ„ λ„€νŠΈμ›Œν¬ ꡬ쑰에 λ°˜μ˜ν•œ λ”₯λŸ¬λ‹ λͺ¨λΈ

 

1️⃣ λ°°κ²½ 

 

βœ” κΈ°μ‘΄ λ”₯λŸ¬λ‹ λͺ¨λΈμ€ 이미지, μŒμ„±, 언어와 같은 λΉ„μ •ν˜• λ°μ΄ν„°μ—λ§Œ μ μš©λ˜μ—ˆμŒ 

βœ” μ •ν˜• 데이터 Tabular Data λŠ” μ΅œκ·ΌκΉŒμ§€λ„ kaggle 같은 μ—¬λŸ¬ λŒ€νšŒμ—μ„œ XGBoost, LightGBM, CatBoost와같은 Tree기반의 앙상블 λͺ¨λΈμ„ 주둜 μ‚¬μš©ν–ˆμŒ 

 

πŸ‘€ λ”₯λŸ¬λ‹μ˜ 점진적 ν•™μŠ΅ νŠΉμ„± + μ‚¬μ „ν•™μŠ΅ κ°€λŠ₯성은 μƒˆλ‘œμš΄ 뢄석 기회λ₯Ό λ„μΆœ 

πŸ‘€ 트리기반 λͺ¨λΈ + 신경망 λͺ¨λΈ ꡬ쑰 의 μž₯점을 λͺ¨λ‘ κ°–λŠ” Tabnet 을 μ œμ•ˆ πŸ‘‰ feature selection & engineering + λͺ¨λΈ 해석λ ₯을 κ°–μΆ˜ 신경망 λͺ¨λΈ  

 

 

2️⃣ Tabnet λ…Όλ¬Έ 리뷰 

 

🧐 앙상블 λͺ¨λΈμ΄ λ”₯λŸ¬λ‹ λͺ¨λΈλ³΄λ‹€ μš°μˆ˜ν•œ 이유 

 

 (1) μ •ν˜•λ°μ΄ν„°λŠ” λŒ€λž΅μ μΈ μ΄ˆν‰λ©΄ 경계λ₯Ό κ°€μ§€λŠ” manifold 이고, λΆ€μŠ€νŒ… λͺ¨λΈλ“€μ€ μ΄λŸ¬ν•œ manifold μ—μ„œ 결정을 ν•  λ•Œ 더 효율적으둜 μž‘λ™ν•œλ‹€. 이미지와 언어같은 λΉ„μ •ν˜• λ°μ΄ν„°λŠ” μ •ν˜• 데이터에 λΉ„ν•΄ μƒλŒ€μ μœΌλ‘œ 같은 μ›μ²œμ—μ„œ λ°œμƒλœ λ°μ΄ν„°μ΄λ―€λ‘œ λŒ€λž΅μ μΈ μ΄ˆν‰λ©΄ 경계가 λšœλ ·ν•˜μ§€ μ•Šλ‹€. 

 

 (2) 트리 기반의 λͺ¨λΈλ“€μ΄ ν•™μŠ΅μ΄ λΉ λ₯΄κ³  μ‰½κ²Œ 개발이 κ°€λŠ₯ν•˜λ‹€.

 

 (3) 트리기반의 λͺ¨λΈλ“€μ€ 높은 해석λ ₯을 κ°€μ§„λ‹€. 트리기반 λͺ¨λΈμ˜ νŠΉμ„± 상 λ³€μˆ˜ μ€‘μš”λ„λ₯Ό ꡬ할 수 μžˆμ–΄ λ”₯λŸ¬λ‹ λͺ¨λΈμ— λΉ„ν•΄ μƒλŒ€μ μœΌλ‘œ 해석에 μš©μ΄ν•˜λ‹€. 

 

 (4) CNN, MLP 같은 λ”₯λŸ¬λ‹ λͺ¨λΈμ€ μ§€λ‚˜μΉ˜κ²Œ Overparametrized λ˜μ–΄μ„œ μ •ν˜• 데이터 λ‚΄ λ§€λ‹ˆν΄λ“œμ—μ„œ μΌλ°˜ν™”λœ 해결책을 μ°ΎλŠ”λ° 어렀움을 λ°œμƒμ‹œν‚¬ 수 μžˆλ‹€. 

 

 

πŸ€” μ •ν˜• 데이터에 λ”₯λŸ¬λ‹ λͺ¨λΈμ„ μ μš©ν•˜λŠ” 것도 λ‚˜μ˜μ§€ μ•Šμ•„  

 

 (1) 맀우 λ§Žμ€ ν›ˆλ ¨ 데이터 셋에 λŒ€ν•΄ μ„±λŠ₯을 높일 수 μžˆλ‹€. 

 

 (2) μ •ν˜• 데이터와 이미지(ν…μŠ€νŠΈ) λ“± λ‹€λ₯Έ 데이터 νƒ€μž…μ„ ν•™μŠ΅μ— ν•¨κ»˜ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. (multi - modal Learning) 

 

 (3) 트리 기반 μ•Œκ³ λ¦¬μ¦˜μ—μ„œ ν•„μˆ˜μ μΈ Feature engineering 같은 단계λ₯Ό 크게 μš”κ΅¬ν•˜μ§€ μ•ŠλŠ”λ‹€. 

 

 (4) λ”₯λŸ¬λ‹ λͺ¨λΈμ€ Streaming λ°μ΄ν„°λ‘œλΆ€ν„° ν•™μŠ΅μ΄ μš©μ΄ν•˜λ‹€. (지속적인 ν•™μŠ΅) 

 

 

😎 Tabnet 은 말이야 

 

 (1) Feature 의 μ „μ²˜λ¦¬ 없이 원 데이터λ₯Ό μž…λ ₯으둜 μ‚¬μš©ν•  수 있고, 경사 ν•˜κ°•λ²• 기반 μ΅œμ ν™” 방식을 μ‚¬μš©ν•΄ End-to-End learning 을 κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€. 

 

 (2) μ„±λŠ₯κ³Ό 해석λ ₯ ν–₯상을 μœ„ν•΄ Sequential attention mechanism 을 톡해 μ‚¬μš©ν•  feature λ₯Ό μ„ νƒν•œλ‹€. 

 

 (3) κΈ°μ‘΄ μ •ν˜• λΆ„λ₯˜, νšŒκ·€ λͺ¨λΈλ³΄λ‹€ μ„±λŠ₯의 μš°μˆ˜μ„±μ„ κ°€μ§€λ©° 해석λ ₯μ—μ„œ μž…λ ₯ ν”Όμ²˜μ˜ μ€‘μš”λ„λ₯Ό νŒŒμ•…ν•  수 있고, ν”Όμ²˜μ˜ 결합을 μ‹œκ°ν™”ν•˜μ—¬ 확인해볼 수 있으며, μž…λ ₯ ν”Όμ²˜λ“€μ΄ μ–Όλ§ˆλ‚˜ 자주 κ²°ν•©λ˜λŠ”μ§€μ— λŒ€ν•œ 해석λ ₯을 μ œμ‹œν•œλ‹€. 

 

 

 

3️⃣ Tabnet μ•Œκ³ λ¦¬μ¦˜ ꡬ쑰 

 

πŸ“Œ κ°œμš” 

  • 순차적인 μ–΄ν…μ…˜μ„ μ‚¬μš©ν•΄ 각 μ˜μ‚¬κ²°μ • λ‹¨κ³„μ—μ„œ μΆ”λ‘ ν•  ν”Όμ²˜λ₯Ό μ„ νƒν•΄κ°€λ©΄μ„œ ν”Όλ“œλ°±μ„ μ£Όλ©° ν•™μŠ΅ν•΄λ‚˜μ•„κ°€λŠ” ꡬ쑰이닀 πŸ‘‰ 더 λ‚˜μ€ 해석 λŠ₯λ ₯κ³Ό ν•™μŠ΅μ΄ κ°€λŠ₯ + μˆ¨κ²¨μ§„ νŠΉμ§•μ„ μ˜ˆμΈ‘ν•˜κΈ° μœ„ν•΄ 사전 비지도 ν•™μŠ΅ (Self-supervised Learning) 을 μ‚¬μš© κ°€λŠ₯ 
  • tabnet 의 feature selection 은 νŠΉμ • ν”Όμ²˜λ§Œ μ„ νƒν•˜λŠ” 것이 μ•„λ‹ˆλΌ, 각 ν”Όμ²˜μ— κ°€μ€‘μΉ˜λ₯Ό λΆ€μ—¬ν•˜λŠ” 것이닀. Sparse Feature selection
  • Tabnet 의 κ΅¬μ‘°λŠ” Encoder - Decoder λ₯Ό 거쳐 결츑값을 μ˜ˆμΈ‘ν•  수 μžˆλŠ” Autoencoder ꡬ쑰이기 λ•Œλ¬Έμ— 데이터셋에 결츑값이 μžˆμ–΄λ„ λ³„λ„μ˜ μ „μ²˜λ¦¬ 없이 값듀을 μ±„μšΈ 수 μžˆλ‹€. 

 

 

πŸ‘€ Encoder

  • input 을 μ‹œμž‘μœΌλ‘œ 각 μ˜μ‚¬κ²°μ • 단계 Step 둜 κ΅¬μ„±λ˜μ–΄ 있고, λ‹¨κ³„λ§ˆλ‹€ Feature transformer, Attentive transformer, Feature masking 으둜 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€. 
  • feature transformer 와 attentive transformer 블둝을 ν†΅κ³Όν•˜μ—¬ 졜적의 mask λ₯Ό ν•™μŠ΅ν•œλ‹€. 
  • λ‹€μŒ decision step 으둜 μ΄μ „μ˜ decision 에 λŒ€ν•œ 정보듀이 μ „λ‹¬λ˜λŠ” 과정이 트리기반 λΆ€μŠ€νŒ… λͺ¨λΈμ˜ μž”μ°¨λ₯Ό μ€„μ—¬λ‚˜κ°€λŠ” λΆ€λΆ„κ³Ό μœ μ‚¬ν•˜λ‹€. 

 

 

  • feature masking 은 local 해석에 μ‚¬μš©λ˜λ©° 전체λ₯Ό μ·¨ν•©ν•˜μ—¬ global ν•œ 해석을 ν•  수 있게 λœλ‹€. 

 

 

 

πŸ‘€ Decoder

  • 각 step μ—μ„œ feature transformer λΈ”λ‘μœΌλ‘œ κ΅¬μ„±λœλ‹€. 
  • 일반적인 ν•™μŠ΅μ—μ„  Decoder λ₯Ό μ‚¬μš©ν•˜μ§„ μ•Šμ§€λ§Œ Self-Supervised (Semi-supervised) ν•™μŠ΅ μ§„ν–‰μ‹œ 인코더 λ‹€μŒμ— λΆ™μ—¬μ Έ κΈ°μ‘΄ κ²°μΈ‘κ°’ 보완 및 ν‘œν˜„ ν•™μŠ΅μ„ μ§„ν–‰ν•œλ‹€. 

 


 

πŸ“Œ μ„ΈλΆ€ ꡬ쑰  

 

🀨 Tabnet 아킀텍쳐λ₯Ό 따라가며 μœ„μ˜ (a) 그림에 μ œμ‹œλœ 각 λ°•μŠ€ 뢀뢄에 λŒ€ν•΄ μ„€λͺ…ν•˜κ³ μž ν•œλ‹€. 

 

 

πŸ“• Feature transformer πŸ’¨ μž„λ² λ”©μ„ μˆ˜ν–‰ 

 

  • μ„ νƒλœ ν”Όμ²˜λ‘œ μ •ν™•νžˆ μ˜ˆμΈ‘ν•˜κΈ° μœ„ν•œ μž„λ² λ”© κΈ°λŠ₯ 

 

 

  • μž…λ ₯ Feature : numerical ν”Όμ²˜λŠ” κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜κ³ , categorical ν”Όμ²˜λŠ” μž„λ² λ”© λ ˆμ΄μ–΄λ₯Ό ꡬ성해쀀닀 πŸ‘‰ λͺ¨λΈ μƒμ„±μ‹œ cat_idxs, cat_dims, cat_emb_dim μΈμžμ™€ 관련됨 
  • BatchNorm (BN) : μ •ν˜• 데이터λ₯Ό 뢄석할 λ•Œ 보톡 Min-Max scaler, Standard Scaler λ₯Ό μˆ˜ν–‰ν•˜λŠ”λ°, μ΄λŸ¬ν•œ μ •κ·œν™” 과정을 BatchNorm λ ˆμ΄μ–΄λ‘œ λŒ€μ²΄ν•˜μ—¬ μ‚¬μš©ν–ˆλ‹€. 
    • batch λ₯Ό λΆ„ν• ν•œ nano batch μ‚¬μš©μœΌλ‘œ μž‘μŒμ„ μΆ”κ°€ν•΄ μ§€μ—­ μ΅œμ ν™”λ₯Ό μ˜ˆλ°©ν•œλ‹€. 

 

  • Feature transformer : FC-BN-GLU λ₯Ό 4번 λ°˜λ³΅ν•œ ꡬ쑰 
    • FC : fully connected layer μ „κ²°ν•©μΈ΅ 
    • GLU : Gated Linear unit, μ„ ν˜• 맀핑을 톡해 λ‚˜μ˜¨ 결과물을 반으둜 λ‚˜λˆ„μ–΄ Residual connection, sigmoidfunction 을 거친 ν›„ element-wise 둜 κ³„μ‚°ν•˜λŠ” ꡬ쑰. 각 정보 별 μ •λ³΄μ˜ 양을 μ–Όλ§ˆλ‚˜ ν˜λ €λ³΄λ‚Όμ§€ κ²°μ •ν•˜κΈ° μœ„ν•΄ λΉ„μ„ ν˜• ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œλ‹€. 

 

GLU Notation

 

 

  • μ•žμ˜ 2개 λ„€νŠΈμ›Œν¬ λ¬ΆμŒμ€ λͺ¨λ“  νŒŒλΌλ―Έν„°λ₯Ό κ³΅μœ ν•˜λ©° κΈ€λ‘œλ²Œ μ„±ν–₯을 ν•™μŠ΅ν•˜κ³ , λ’€μ˜ 2개 λ„€νŠΈμ›Œν¬ λ¬ΆμŒμ€ 각 μŠ€ν…μ—μ„œλ§Œ μ „μš©μœΌλ‘œ μ‚¬μš©λ˜λŠ” λΈ”λ‘μœΌλ‘œ 각 둜컬 μ„±ν–₯을 ν•™μŠ΅ν•œλ‹€. 

 

 

 

πŸ‘€ Split block 

 

  • feature transformer λ‘œλΆ€ν„° λ‚˜μ˜¨ κ²°κ³Όλ₯Ό 두 개둜 λ‚˜λˆ„μ–΄, ν•˜λ‚˜λŠ” ReLU 둜 보내어 μ΅œμ’… 아웃풋 (Decision output) 으둜 보내고 λ‹€λ₯Έ ν•˜λ‚˜λŠ” λ‹€μŒ Attentive transformer 둜 λ„˜κ²¨μ€€λ‹€. 
  • ν–₯ν›„ 각 decision output의 κ²°κ³Όλ₯Ό ν•©μ‚°ν•΄ 전체 μ˜μ‚¬κ²°μ • μž„λ² λ”©μ„ 생성할 수 있고 이 μž„λ² λ”©μ΄ FC layer λ₯Ό 거치면 μ΅œμ’… classification/regression 예츑 κ²°κ³Όκ°€ μ‚°μΆœλœλ‹€. 
  • ReLU layer 의 κ²°κ³Όμ—μ„œ hidden unit μ±„λ„μ˜ 값듀을 λͺ¨λ‘ ν•©μ‚°ν•΄ ν•΄λ‹Ή step 의 ν”Όμ²˜μ€‘μš”λ„λ₯Ό μ‚°μΆœν•  수 μžˆλ‹€. 각 λ‹¨κ³„μ˜ ν”Όμ²˜μ€‘μš”λ„ κ²°κ³Όλ₯Ό ν•©μ‚°ν•˜λ©΄ μ΅œμ’… ν”Όμ²˜ μ€‘μš”λ„κ°€ λ„μΆœλœλ‹€. 

 

 

πŸ“— Attentive transformer πŸ’¨ Mask λ₯Ό 생성 (λ³€μˆ˜μ„ νƒ κΈ°λŠ₯) 

 

  • FC , BN, Sparsemax λ₯Ό 순차적으둜 μˆ˜ν–‰ν•˜λ©° Mask λ₯Ό μƒμ„±ν•œλ‹€.
  • Mask μ—λŠ” μ–΄λ–€ ν”Όμ²˜λ₯Ό 주둜 μ‚¬μš©ν•  것인지에 λŒ€ν•œ 정보가 ν¬ν•¨λ˜μ–΄ μžˆλ‹€. 
  • μƒμ„±λœ Mask 에 ν”Όμ²˜λ₯Ό κ³±ν•˜μ—¬ ν”Όμ²˜μ„ νƒμ΄ 이루어진닀. 이전 step 의 ν”Όμ²˜μ™€ κ³±ν•˜μ—¬ Masked feature λ₯Ό μƒμ„±ν•œλ‹€. μ΄λŠ” λ‹€μ‹œ Feature transformer 둜 μ—°κ²°λ˜λ©° Step 이 λ°˜λ³΅λœλ‹€. 
  • Prior scale 사전 μ •λ³΄λŸ‰ : 이전 decision step λ“€μ—μ„œ 각 feature κ°€ μ–Όλ§ˆλ‚˜ 많이 μ‚¬μš©λ˜μ—ˆλŠ”μ§€ μ§‘κ³„ν•œ μ •λ³΄λ‘œ, 이전 step μ—μ„œ μ‚¬μš©ν•œ Mask λ₯Ό μ–Όλ§ˆλ‚˜ μž¬μ‚¬μš©ν• μ§€ μ‘°μ ˆν•  수 μžˆλ‹€. μ„ νƒλœ λ³€μˆ˜μ˜ 반영λ₯ μ„ μ‘°μ ˆν•˜λŠ” μš”μΈ. 
  • masking 을 톡해 ν•™μŠ΅μ— 큰 영ν–₯을 λ―ΈμΉ˜μ§€ μ•Šμ€ λ³€μˆ˜λ“€μ˜ 영ν–₯λ ₯ κ°μ†Œμ‹œν‚΄ πŸ‘‰ mask λ₯Ό κ΅¬ν•˜κΈ° μœ„ν•΄ attentive transformer λ₯Ό μ‚¬μš© 
  • Sparsemax : Softmax의 sparseν•œ λ²„μ „μœΌλ‘œ sparse ν•œ 데이터셋에 μ μš©ν–ˆμ„ λ•Œ 쒋은 μ„±λŠ₯을 보인 μ •κ·œν™”κΈ°λ²•μ΄λ‹€. 각 λ³€μˆ˜ 별 κ³„μˆ˜ κ°’λ“€μ˜ μΌλ°˜ν™”λ₯Ό μœ„ν•΄ μ‚¬μš©ν•œλ‹€. λ³€μˆ˜μ˜ 양이 λ§Žμ•„μ§ˆμˆ˜λ‘ 값이 0κ³Ό 1둜 μˆ˜λ ΄λ˜λŠ” κ²½μš°κ°€ λ§Žμ•„μ§ πŸ‘‰ 더 κ°•λ ₯ν•œ ν”Όμ²˜ 선택 μ˜μ‚¬ κ²°μ • κ³Όμ • (κ²°μ •μ˜ 효과λ₯Ό 높인닀) 

 

 

 

 

 

 

 

πŸ“˜ feature Masking

  • feature importance λ₯Ό 계산
  • 이전 Step 의 feature 에 κ³±ν•˜μ—¬ Masked feature λ₯Ό 생성 
  • λ‹€μŒ Step 의 Mask μ—μ„œ μ μš©ν•  Prior scale term 계산 

  • Masked feature λŠ” λ‹€μŒ step 의 input 이 λœλ‹€. 

 

πŸ‘€ Agg(regate) block 

  • μ–΄λ–€ feature κ°€ μ€‘μš”ν•œμ§€ μ•Œ 수 μžˆλ‹€. 

 

 

πŸ“™ feature importance mask 

  • 각 decision step (M1, M2, ..) λ³„λ‘œ μ–΄λ–€ ν”Όμ²˜λ“€μ΄ μ€‘μš”ν•˜κ²Œ μ‚¬μš©λ˜μ—ˆλŠ”μ§€λ₯Ό μ‹œκ°ν™” ν•œ 것이닀. 각 λ‹¨κ³„μ—μ„œ μ–΄λ–€ λ³€μˆ˜λ“€μ΄ μ£Όμš”ν•˜κ²Œ μ‚¬μš©λ˜μ—ˆλŠ”μ§€ 해석할 수 μžˆλ‹€. 

 

4️⃣ μ½”λ“œ μ‹€μŠ΅ 

 

import torch
import torch.nn as nn
from pytorch_tabnet.tab_model import TabNetClassifier


clf = TabNetClassifier()  #TabNetRegressor()

clf.fit(
  X_train, Y_train,
  eval_set=[(X_valid, y_valid)]
)
preds = clf.predict(X_test)

 

 

5️⃣ Plus

 

1. Sparse feature selection = decision blocks 

 

  • μ—¬λŸ¬κ°œμ˜ μ˜μ‚¬κ²°μ • 블둝을 μ‚¬μš© 
  • κ·Έλ¦Όμ—μ„œλŠ” 성인 인ꡬ쑰사 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ μ†Œλ“μ„ μ˜ˆμΈ‘ν•˜λŠ” Tabnet 의 μ—°μ‚° 과정을 보여주고 μžˆλ‹€. μ†Œλ“μˆ˜μ€€μ„ μ˜ˆμΈ‘ν•˜κΈ° μœ„ν•΄ 2개의 μ˜μ‚¬κ²°μ • 블둝이 각각 전문직 여뢀와 νˆ¬μžμ•‘μ— κ΄€λ ¨λœ λ³€μˆ˜κ°€ μ„ νƒν•œ 것을 λ³Ό 수 μžˆλ‹€. 

 

 

2. Mask 

  • Mask λž€ μž…λ ₯λ³€μˆ˜λ“€ 쀑 선택 λ³€μˆ˜ μ™Έ λ‹€λ₯Έ λ³€μˆ˜λ“€μ„ κ°€λ¦¬λŠ” 방법이닀. 
  • 두 λ³€μˆ˜ x1, x2κ°€ Sparse matrix Mask λ₯Ό ν†΅κ³Όν•˜κ²Œ 되면 νŠΉμ • λ³€μˆ˜λ₯Ό μ„ νƒν•œ 것 같은 효과λ₯Ό 얻을 수 μžˆλ‹€. 
  • Ck : κ°€μ€‘μΉ˜. 이 값이 컀질수둝 λΆ„λ₯˜λ₯Ό μœ„ν•œ 결정경계가 λšœλ ·ν•΄μ§„λ‹€. 
  • λ³€μˆ˜ 선택 이후 의미 μΆ”μΆœ κ³Όμ •μ—μ„œ λ‹€λ₯Έ λ³€μˆ˜λ“€μ΄ κ°œμž…λ˜μ§€ μ•ŠμœΌλ―€λ‘œ ReLU λ₯Ό ν†΅κ³Όν•œ 결과듀은 μ„œλ‘œ μƒν˜Έ 독립적이닀. 
  • ReLU λ₯Ό 톡해 결과둜 λ‚˜μ˜¨ output 을 합쳐 μ˜μ‚¬κ²°μ •μ— μ‚¬μš©ν•˜λŠ” 것이 앙상블 트리 ꡬ쑰와 μœ μ‚¬ν•˜λ‹€. 

 

 

3. Self-supervised tabular learning 

  • Tabnet μ—μ„œλŠ” μžκΈ°μ§€λ„ν•™μŠ΅ (self - supervised) 을 μœ„ν•΄ λ¬΄μž‘μœ„λ‘œ κ°€λ €μ§„ λ³€μˆ˜κ°’μ„ μ˜ˆμΈ‘ν•˜λŠ” autoencoder ꡬ쑰의 비지도 ν•™μŠ΅μ„ μˆ˜ν–‰ν•΄ 비지도 ν‘œν˜„μ„ ν•™μŠ΅ν•΄ encoder ꡬ쑰의 μ§€λ„ν•™μŠ΅ λͺ¨λΈ μ„±λŠ₯을 ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€. 
  • νŠΉμ • μ˜μ—­μ΄ masking 된 인코딩 데이터λ₯Ό μ›λ³ΈλŒ€λ‘œ 볡원할 수 μžˆλ„λ‘ ν•™μŠ΅ν•˜λŠ” 사전 ν•™μŠ΅μ„ 톡해 예츑 μ„±λŠ₯을 ν–₯상, ν•™μŠ΅ μ‹œκ°„ 단좕 및 κ²°μΈ‘μΉ˜μ— λŒ€ν•œ 보간 효과
  • encoder μ—μ„œ 정보λ₯Ό μ••μΆ•ν•˜κ³  decoder μ—μ„œ ν™•μž₯ν•˜μ—¬ ν•΄μ„ν•˜λ©΄μ„œ 결츑치λ₯Ό 보정할 수 있게 λœλ‹€. 

 

 

 

4. Attenstion

  • Encoder : 정보λ₯Ό μ••μΆ•
  • Decoder : 정보λ₯Ό ν™•μž₯ν•΄μ„œ 해석 
  • 벑터 ν•˜λ‚˜μ— λͺ¨λ“  μ‹œν€€μŠ€μ˜ 정보λ₯Ό μ˜μ‘΄ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ κΈΈμ΄λ‚˜ μˆœμ„œμ— 영ν–₯을 덜 λ°›μŒ 

 

 

 

6️⃣ Tabnet μž₯점 

1. μ „μ²˜λ¦¬ 과정이 ν•„μš”ν•˜μ§€ μ•Šλ‹€. 

2. Decision step 으둜 feature selection 을 μ§„ν–‰ν•œλ‹€. 

3. decision step 별 ν˜Ήμ€ λͺ¨λΈ 전체에 λŒ€ν•΄ feature importance λ₯Ό μˆ˜μΉ˜ν™”ν•  수 μžˆλ‹€. 

4. λ¬΄μž‘μœ„λ‘œ κ°€λ €μ§„ feature 값을 μ˜ˆμΈ‘ν•˜λŠ” unsupervised pretrain 단계λ₯Ό μ μš©ν•˜μ—¬ μƒλ‹Ήν•œ μ„±λŠ₯ ν–₯상을 보여쀀닀. 

5. μ‹€μ œ λ°μ΄ν„°λŠ” λŠμž„μ—†μ΄ μœ μž…λ˜κ³  λ³€ν™”ν•˜κΈ° λ•Œλ¬Έμ— ν•œλ²ˆμ˜ ν•™μŠ΅μœΌλ‘œ μ˜μ›νžˆ μ‚¬μš©ν•  수 μžˆλŠ” λͺ¨λΈμ€ μ—†λ‹€. λ•Œλ¬Έμ— λ”₯λŸ¬λ‹μ˜ pretraining, Incremental learning (iterative train) νŠΉμ„±μ€ 지속 ν•™μŠ΅ κ°€λŠ₯ν•œ μΈ‘λ©΄μ—μ„œ 쒋은 λŒ€μ•ˆμ΄λ‹€. 

 

 

🐾 참고자료 

1. https://wsshin.tistory.com/5

2. https://lv99.tistory.com/83 

3. https://housekdk.gitbook.io/ml/ml/tabular/tabnet-overview 

4. https://themore-dont-know.tistory.com/2

5. https://today-1.tistory.com/54 

6. http://dmqm.korea.ac.kr/activity/seminar/327

 

 

 

 

 

 

 

728x90