Parameters vs hyperparameters

การปรับ Hyperparameter ใน R

Dr. Shirin Elsinghorst

Senior Data Scientist

เกี่ยวกับฉัน

การปรับ Hyperparameter ใน R

"Hyper"parameters กับ model parameters

  • ดูตัวอย่างชุดข้อมูล:
head(breast_cancer_data)
# A tibble: 6 x 11
  diagnosis concavity_mean symmetry_mean fractal_dimension perimeter_se smoothness_se
  <chr>              <dbl>         <dbl>             <dbl>        <dbl>         <dbl>
1 M                 0.300          0.242            0.0787         8.59       0.00640
2 M                 0.0869         0.181            0.0567         3.40       0.00522
3 M                 0.197          0.207            0.0600         4.58       0.00615
4 M                 0.241          0.260            0.0974         3.44       0.00911
  • จากนั้นสร้าง โมเดลเชิงเส้น อย่างง่าย
การปรับ Hyperparameter ใน R

เริ่มจากพื้นฐาน: Model parameters ในโมเดลเชิงเส้น

# Create linear model
linear_model <- lm(perimeter_worst ~ fractal_dimension_mean, data = breast_cancer_data)
# Get coefficients
summary(linear_model)$coefficients
                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)              167.60      25.91   6.469  3.9e-09 ***
fractal_dimension_mean  -926.39     392.86  -2.358   0.0204 *
การปรับ Hyperparameter ใน R

เริ่มจากพื้นฐาน: Model parameters ในโมเดลเชิงเส้น

  • Parameters ของโมเดลจะถูกปรับหา (fit) ระหว่างการเทรน
  • เป็น ผลลัพธ์ ของกระบวนการ fitting หรือการเทรน

  • ในโมเดลเชิงเส้น สิ่งที่ต้องหาคือ coefficients

linear_model$coefficients
(Intercept) fractal_dimension_mean 
   167.5972              -926.3866 
  • เปรียบได้กับ ความชัน และ จุดตัดแกน y ของโมเดล
การปรับ Hyperparameter ใน R

Coefficients ในโมเดลเชิงเส้น

ggp <- ggplot(data = breast_cancer_data, 
              aes(x = fractal_dimension_mean, y = perimeter_worst)) +
        geom_point(color = "grey")

ggp + geom_abline(slope = linear_model$coefficients[2], intercept = linear_model$coefficients[1])

การปรับ Hyperparameter ใน R

Model parameters กับ hyperparameters ในโมเดลเชิงเส้น

  • ทบทวน: parameters ของโมเดลถูกปรับหาระหว่างการเทรน และเป็น ผลลัพธ์ ของการ fitting

  • Hyperparameters จะถูกกำหนดก่อนเริ่มเทรน

  • ระบุว่าการเทรนจะดำเนินการ อย่างไร
args(lm)
help(lm)
?lm

linear_model <- lm(perimeter_worst ~ fractal_dimension_mean,
                   data = breast_cancer_data,
                   method = "qr")
การปรับ Hyperparameter ใน R

Parameters กับ hyperparameters ใน machine learning

ใน โมเดลเชิงเส้น:

  • Coefficients ถูก หา ระหว่างการ fitting

 

  • method คือตัวเลือกที่กำหนด ก่อน fitting

ใน machine learning อาจมี:

  • Weights และ biases ของ neural network ที่ถูก optimize ระหว่างเทรน => parameters ของโมเดล
  • ตัวเลือกอย่าง learning rate, weight decay และจำนวนต้นไม้ใน Random Forest ที่ปรับได้ => hyperparameters
การปรับ Hyperparameter ใน R

ทำไมต้องปรับ hyperparameters?

  • ผู้เล่น fantasy football ~ Hyperparameters
  • ตำแหน่งของผู้เล่น ~ ค่า ของ hyperparameters
  • การหาผู้เล่นและตำแหน่งที่ดีที่สุด ~ การหา ชุดค่าผสม ที่ดีที่สุดของ hyperparameters

https://pixabay.com/photo-1493087/

การปรับ Hyperparameter ใน R

มาฝึกกันเถอะ!

การปรับ Hyperparameter ใน R

Preparing Video For Download...