3-3 Feature Engineeringκ³Ό Regularization
νΌκ³΅ λ¨Έμ νμ΅ λͺ©ν
- μ¬λ¬ νΉμ±(Feature)λ₯Ό μ¬μ©ν λ€μ€ νκ·(Multiple Regression)μ λν΄ λ°°μ°κ³ , μ¬μ΄ν·λ°(Scikt-learn)μ μ¬λ¬ λꡬλ₯Ό μ¬μ©ν΄ λ³Έλ€.
- 볡μ‘ν λͺ¨λΈμ κ³Όλμ ν©(Overfitting)μ λ§κΈ° μν λ¦Ώμ§(Ridge)μ λΌμ(LASSO) νκ·λ₯Ό λ°°μ΄λ€.
ν΅μ¬ ν€μλ
- Multiple Regression, Feature Engineering, Ridge, LASSO, Hyperparameter γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
1. Multiple Regression Model
- 1-1. Regression
- βνκ·(Regression)βλΌλ λ¨μ΄κ° μΌμμμ μ μμ°μ΄κ³ μ§κ΄μ μ΄μ§ λͺ»ν¨
- νκ·μ μ¬μ μ μλ―Έλ βνλ°ν΄ λμ μ μλ¦¬λ‘ λμκ°λ€β
- ν΅κ³νμμ νκ·λ, μ¬λ¬ κ°μ λ 립 λ³μ(Feature)μ ν κ°μ μ’ μ λ³μ(Target) κ°μ μκ΄κ΄κ³λ₯Ό λͺ¨λΈλ§ νλ κΈ°λ²μ ν΅μΉνλ€.
- μνμ μΌλ‘λ λ 립 λ³μ Xλ‘ μ’ μ λ³μ Yλ₯Ό νννλ μΆμΈμ Fβ(X)λ₯Ό μ°Ύμκ°λ κ³Όμ
- λ°μ΄ν°μ μ€μ°¨ν©μ΄ κ°μ₯ μμ ν¨μ(Model)μ μ°Ύλ μμ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
- 1-2. Regression λΆλ₯
- Simple (Linear) Regression Model
- Multiple Regression
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
- 1-3. Multiple Regression Model
- μ¬μ© κ°λ₯ν Featureκ° λμ΄λ μλ‘ λͺ¨λΈμ μ€λͺ λ ₯μ΄ μ¬λΌκ° (=μ±λ₯μ΄ μ’λ€)
- κ·Έλ¬λ νμ€μμ μ¬μ© κ°λ₯ν λ°μ΄ν°(Feature)λ μ νμ γγγγγ γγγγγ
Multiple Regression Modelμ μ±λ₯μ λμ΄κΈ° μν΄ Featureλ₯Ό μμ±νλ λ°©λ²μ?
- Feature Engineering
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
2. Feature Engineering
- μ£Όμ΄μ§ Featureλ₯Ό μ‘°ν©νμ¬ μλ‘μ΄ Featureλ₯Ό λ§λλ μΌλ ¨μ μμ
κ³Όμ
- STXμμ§μμ μλ‘μ΄ Column μΆκ°νλ μμ (Moving Average κ°, **κ° λ±)
2-1. κ³ μ°¨νμ ν΅ν Feature Engineering
- κ°μ
- μ£Όμ΄μ§ λ°μ΄ν°μ X1, X2 λκ°μ Feature κ° μ‘΄μ¬
- record 1κ°
- Raw Data = [[X1, X2]] γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
- 1) Featureλ₯Ό μ κ³±(^2)νμ¬ μλ‘μ΄ Feature μμ±
- X1^2, X2^2, X1X2, X1, X2
- μ¬μ© κ°λ₯ν Feature κ°μκ° 2μμ 5λ‘ μ¦κ° γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
- 2) Featureλ₯Ό μΈμ κ³±(^3)νμ¬ μλ‘μ΄ Feature μμ±
- X1^3, X2^3, X1^2*X2, X1 *X2^2, X1^2, X2^2, X1X2, X1, X2
- μ¬μ© κ°λ₯ν Feature κ°μκ° 2μμ 9λ‘ μ¦κ°
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
Sckit-learn Example
from sklearn.preprocessing import PolynomialFeatures X1 = 2 X2 = 3 data = [X1, X2]
poly = PolynomialFeatures() # PolynomialFeatures(include_bias=False, degree=5) poly.fit([data]) print(poly.transform([data]))
=> [[1. 2. 3. 4. 6. 9.]]
* μ΅λ 5μ κ³±κΉμ§ κ°λ₯
poly = PolynomialFeatures(include_bias=False, degree=5) poly.fit([data]) print(poly.transform([data]))
=> [[ 2. 3. 4. 6. 9. 8. 12. 18. 27. 16. 24. 36. 54. 81. 32. 48. 72. 108. 162. 243.]]
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
2-2. Featureλ λ§μμλ‘ μ’μ건κ°μ?
- Featureκ° λ§μ μλ‘ λͺ¨λΈμ΄ 볡μ‘ν΄ μ§λ€.
-
λͺ¨λΈμ΄ 볡μ‘ν΄μ§ μλ‘ Train Setμ λν μ±λ₯μ μ νλ 100μ κ°κΉμμ§λλ€.
- λ€μ λ§ν΄, μ€μ°¨κ° κ±°μ μ‘΄μ¬νμ§ μμΌλ©°, μ΄λ¬ν μν©μ Test setμ μ μ©νμ§ λͺ»νλ OverFitting λ¬Έμ κ° λ°μ
- OverFitting λ¬Έμ
- μΌλ°ν μ΄λ €μ
- λμ λΆμ°
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
2-3. Biasμ Variance
-Bias-Variance Tradeoff
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
μ μ ν Tradeoff μ§μ μ μ°Ύλ λ°©λ²
- μ€μ°¨(Training Error)νμ Regularization(κ·μ )
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
3.Regularization
3-1. 볡μ΅
- Regressiong
- λ°μ΄ν°λ₯Ό νννλ μ΅μ μ νκ·μ μ μ°Ύλ κ²μΌλ‘ κ° λ 립λ³μ(Feature)μ μ΅μ μ κ°μ€μΉ(Weight)λ₯Ό μ°Ύλ κ³Όμ
- μ€μ°¨λ₯Ό μ΅μν νλ Weighκ°μ λ°λ³΅μ μΈ Update
- Weight(κ³μ)λ κΈ°μΈκΈ°μ ν΄λΉνλλ°,β¦
- κΈ°μΈκΈ°κ° κ°νλ₯Ό μλ‘ Overfitting
- Machine Learning
- λΉ λ₯΄κ³ 볡μ‘ν μ°μ°μ΄ κ°λ₯ν μ»΄ν¨ν°κ° μΈκ° λμ μ΅μ μ νκ·μ μ μ°Ύλ κ²
- Error(=Cost)
- μ€μ°¨ = μμΈ‘ κ°-μ€μ κ° = Fβ(x) - F(x)
- F`(x) = λͺ¨λΈμ μ΄μ©ν μμΈ‘ κ° = w1x1^2 + w2x2^2 + w3β¦
- Feature (x1, x2, .. xn)κ° λ§μ μλ‘, 볡μ‘ν λͺ¨λΈμ΄ λ§λ€μ΄μ§λ©° Train Setμ λν μ€μ°¨κ° μ€μ΄λ¬
- train setμ λν΄ κ±°μ μλ²½ν μ±λ₯μ κ°μ§μ§λ§, 볡μ‘νκΈ° λλ¬Έμ κΈ°μΈκΈ°κ° κ°νλ₯Ό μμλ€
- OverFitting
- 볡μ‘ν λͺ¨λΈλ‘ μΈν΄ Train Setμ λν΄ μλ²½ν μ±λ₯μ κ°μ‘μΌλ Test setμ λν μ±λ₯μ΄ λ¨μ΄μ§λ κ²
- λμ λΆμ°κ³Ό μΌλ°ν μ΄λ €μ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
3-2. Regularization
- 볡μ‘ν λͺ¨λΈμ OverFitting λ¬Έμ ν΄κ²°μ μν¨
- κΈ°μΈκΈ°κ° κ°νλ₯Έ κ²μ μ κ±°νκΈ° μν΄μ μ€μ°¨λ₯Ό μΈμμ μΌλ‘ ν¬κ² λ§λλ κ²
- μ€μ°¨ = μ€μ κ°-μμΈ‘κ° +κ·μ ν
- κ·μ ν = Wiehgt(κ°μ€μΉ,κ³μ,κΈ°μΈκΈ°)μ ν©
- Weigthκ° μ»€μ§ μλ‘ μ€μ°¨κ° 컀μ§
- λ€μ λ§ν΄ Wieghtκ° μ»€μ§λ κ²μ μ ν(=κ·μ )μ λ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
3-3. Regularization λΆλ₯
- κ·μ μ’ λ₯μ λ°λΌ Linear Regression Modelμ Ridge(L2)μ LASSO(L1)λ‘ λΆλ₯ λλ€
- μ€μ°¨λ₯Ό κ³μ°νλ λ°©λ²μ λ°λΌ RMSE, MAEλ± λ€μν μ€μ°¨ ν¨μκ° μ‘΄μ¬
- RMSE : μ€μ°¨ μ κ³± ν©μ νκ·
- MAE : μ€μ°¨ μ λ κ° ν©μ νκ·
- κ·μ νλ κ³μ°λ²μ λ°λΌ L2, L1 λ±μΌλ‘ λλμ΄μ§
- L2 : κ°μ€μΉ μ κ³±μ ν©
- L1 : κ°μ€μΉ μ λκ°μ ν©
- κ·μ μ’
λ₯μ λ°λΌ Linear Regression Modelμ Ridge(L2)μ LASSO(L1)λ‘ λΆλ₯ λλ€
- Ridge : μ’μ μ±λ₯μ λ³΄μ¬ μ£Όλ‘ μ¬μ©νλ κ·μ λ°©λ² μ€ νλ
- LASSO : μνμ μΌλ‘ κ°μ€μΉ 0μ΄ κ°λ₯νμ¬, λΆνμν Featureλ₯Ό κ°λ €λ΄λ μ©λλ‘ μ¬μ© κ°λ₯ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
- (μ°Έκ³ )Deep learning κ·μ λ°©λ² μ€ νλμΈ Drop Out γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ
4. Hyperparameter
- λ¨Έμ λ¬λμ΄λ, μ»΄ν¨ν°κ° μ£Όμ΄μ§ λ°μ΄ν°λ₯Ό μ€λͺ ν μ μλ λͺ¨λΈμ νμ΅νλλ°,
- μΈκ°λ³΄λ€ μ°μ°κΈ°λ₯μ΄ μ’μ μ»΄ν¨ν°κ° 볡μ‘ν μ°μ°μ ν΅ν΄ Featureλ³ κ°μ₯ μ΅μ μ κ°μ€μΉλ₯Ό μ°Ύλκ²μ΄λ€.
- νμ§λ§ λͺ¨λΈμ νμ΅νκΈ° μν΄μ μ¬λμ΄ μ§μ μ§μ νμ¬ μ΅μ μ κ°μ μ°Ύμλ΄μΌνλ λ³μκ° μλλ°, μ΄λ₯Ό νμ΄νΌνλΌλ―Έν°λΌ νλ€.
- λ€λ€ μ μκ³ μλ Learning Rate, Train Node Hourκ° μ΄μ μνλ€.
- κ·μ νμ μΆκ°ν λλ, κ·μ μ λλ₯Ό μ¬λμ΄ μ§μ ν μ μλ€.
- κ·μ μ λμ λ°λΌ κ·μ μ±λ₯μ΄ λ€λ₯΄λ€. (λ°λ³΅ μ€νμ ν΅ν΄ μ°ΎμμΌ νλ€.)
γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ