νμ΄νΌνλΌλ―Έν° νλμ μν λ² μ΄μ§μ μ΅μ νμ λν ν¬κ΄μ μΈ κ°μ΄λλ‘, μ리, μ₯μ , μ€μ ꡬν λ° κ³ κΈ κΈ°μ μ λ€λ£Ήλλ€.
νμ΄νΌνλΌλ―Έν° νλ: λ² μ΄μ§μ μ΅μ ν λ§μ€ν°νκΈ°
λ¨Έμ λ¬λ λΆμΌμμ λͺ¨λΈμ μ±λ₯μ μ’ μ’ νμ΄νΌνλΌλ―Έν°μ μν₯μ ν¬κ² λ°μ΅λλ€. νμ΅ μ€μ νμ΅λλ λͺ¨λΈ λ§€κ°λ³μμ λ¬λ¦¬ νμ΄νΌνλΌλ―Έν°λ νμ΅ νλ‘μΈμ€κ° μμλκΈ° μ μ μ€μ λ©λλ€. μ΅μ μ νμ΄νΌνλΌλ―Έν° ꡬμ±μ μ°Ύλ κ²μ μ΄λ ΅κ³ μκ°μ΄ λ§μ΄ μμλλ μμ μΌ μ μμ΅λλ€. λ°λ‘ μ¬κΈ°μ νμ΄νΌνλΌλ―Έν° νλ κΈ°μ μ΄ μ€μν μν μ νλ©°, κ·Έμ€ λ² μ΄μ§μ μ΅μ νλ κ°λ ₯νκ³ ν¨μ¨μ μΈ μ κ·Ό λ°©μμΌλ‘ λκ°μ λνλ λλ€. μ΄ κΈ°μ¬μμλ λ² μ΄μ§μ μ΅μ νμ λν ν¬κ΄μ μΈ κ°μ΄λλ₯Ό μ 곡νμ¬ μ리, μ₯μ , μ€μ ꡬν λ° κ³ κΈ κΈ°μ μ λ€λ£Ήλλ€.
νμ΄νΌνλΌλ―Έν°λ 무μμΈκ°μ?
νμ΄νΌνλΌλ―Έν°λ νμ΅ νλ‘μΈμ€ μ€μ λ°μ΄ν°λ‘λΆν° νμ΅λμ§ μλ λ§€κ°λ³μμ λλ€. νμ΅ νλ‘μΈμ€ μ체λ₯Ό μ μ΄νμ¬ λͺ¨λΈμ 볡μ‘μ±, νμ΅λ₯ λ° μ λ°μ μΈ λμμ μν₯μ λ―ΈμΉ©λλ€. νμ΄νΌνλΌλ―Έν°μ μλ λ€μκ³Ό κ°μ΅λλ€.
- νμ΅λ₯ : μ κ²½λ§μμ κ²½μ¬ νκ°λ² μ€ λ¨κ³ ν¬κΈ°λ₯Ό μ μ΄ν©λλ€.
- λ μ΄μ΄/λ΄λ° μ: μ κ²½λ§μ μν€ν μ²λ₯Ό μ μν©λλ€.
- μ κ·ν κ°λ: κ³Όμ ν©μ λ°©μ§νκΈ° μν΄ λͺ¨λΈμ 볡μ‘μ±μ μ μ΄ν©λλ€.
- 컀λ λ§€κ°λ³μ: Support Vector Machines (SVM)μ 컀λ ν¨μλ₯Ό μ μν©λλ€.
- νΈλ¦¬ μ: Random Forestμ μμ¬ κ²°μ νΈλ¦¬ μλ₯Ό κ²°μ ν©λλ€.
μ μ ν νμ΄νΌνλΌλ―Έν° μ‘°ν©μ μ°ΎμΌλ©΄ λͺ¨λΈμ μ±λ₯μ ν¬κ² ν₯μμμΌ λ λμ μ νλ, μΌλ°ν λ° ν¨μ¨μ±μ μ»μ μ μμ΅λλ€.
νμ΄νΌνλΌλ―Έν° νλμ μ΄λ €μ
νμ΄νΌνλΌλ―Έν° μ΅μ νλ λͺ κ°μ§ κ³Όμ λ‘ μΈν΄ κ°λ¨ν μμ μ΄ μλλλ€.
- κ³ μ°¨μ κ²μ 곡κ°: κ°λ₯ν νμ΄νΌνλΌλ―Έν° μ‘°ν©μ 곡κ°μ νΉν νμ΄νΌνλΌλ―Έν°κ° λ§μ λͺ¨λΈμ κ²½μ° κ΄λν μ μμ΅λλ€.
- λΉλ³Όλ‘ μ΅μ ν: νμ΄νΌνλΌλ―Έν°μ λͺ¨λΈ μ±λ₯ κ°μ κ΄κ³λ μ’ μ’ λΉλ³Όλ‘μ μ΄λ―λ‘ μ μ μ΅μ μ μ μ°Ύλ κ²μ΄ μ΄λ ΅μ΅λλ€.
- λΉμΌ νκ°: νμ΄νΌνλΌλ―Έν° ꡬμ±μ νκ°νλ €λ©΄ λͺ¨λΈμ νμ΅νκ³ κ²μ¦ν΄μΌ νλ©°, μ΄λ νΉν 볡μ‘ν λͺ¨λΈκ³Ό λκ·λͺ¨ λ°μ΄ν° μΈνΈμ κ²½μ° κ³μ° λΉμ©μ΄ λ§μ΄ λ€ μ μμ΅λλ€.
- λ Έμ΄μ¦κ° μλ νκ°: λͺ¨λΈ μ±λ₯μ λ°μ΄ν° μνλ§ λ° μ΄κΈ°νμ κ°μ μμ μμΈμ μν₯μ λ°μ μ μμΌλ©°, μ΄λ‘ μΈν΄ νμ΄νΌνλΌλ―Έν° ꡬμ±μ λ Έμ΄μ¦κ° μλ νκ°κ° λ°μν©λλ€.
Grid Search λ° Random Searchμ κ°μ κΈ°μ‘΄ λ°©λ²μ νΉν κ³ μ°¨μ κ²μ κ³΅κ° λ° λΉμΌ νκ°λ₯Ό μ²λ¦¬ν λ λΉν¨μ¨μ μ΄κ³ μκ°μ΄ λ§μ΄ μμλλ κ²½μ°κ° λ§μ΅λλ€.
λ² μ΄μ§μ μ΅μ ν μκ°
λ² μ΄μ§μ μ΅μ νλ ν¨μκ° λΉλ³Όλ‘μ μ΄κ³ , λ Έμ΄μ¦κ° μμΌλ©°, νκ° λΉμ©μ΄ λ§μ΄ λλ κ²½μ°μλ λͺ©μ ν¨μμ μ μ μ΅μ μ μ ν¨μ¨μ μΌλ‘ μ°ΎκΈ° μν νλ₯ λ‘ μ λͺ¨λΈ κΈ°λ° μ΅μ ν κΈ°μ μ λλ€. λ² μ΄μ¦ μ 리λ₯Ό νμ©νμ¬ κ΄μ°°λ λ°μ΄ν°λ₯Ό μ¬μ©νμ¬ λͺ©μ ν¨μμ λν μ¬μ μ λ μ μ λ°μ΄νΈνμ¬ μ΅μ μ νμ΄νΌνλΌλ―Έν° ꡬμ±μ κ²μνλ λ° μ¬μ©λλ μ¬ν λΆν¬λ₯Ό μμ±ν©λλ€.
ν΅μ¬ κ°λ
- μλ¬κ²μ΄νΈ λͺ¨λΈ: λͺ©μ ν¨μλ₯Ό κ·Όμ¬νλ νλ₯ λ‘ μ λͺ¨λΈ(μΌλ°μ μΌλ‘ κ°μ°μμ νλ‘μΈμ€). κ²μ 곡κ°μ κ° μ§μ μμ κ°λ₯ν ν¨μ κ°μ λν λΆν¬λ₯Ό μ 곡νμ¬ ν¨μμ λμμ λν λΆνμ€μ±μ μ λνν μ μμ΅λλ€.
- νλ ν¨μ: νκ°ν λ€μ νμ΄νΌνλΌλ―Έν° ꡬμ±μ κ²μνλλ‘ μλ΄νλ ν¨μ. νμ(κ²μ 곡κ°μ λ―Ένμ μμ κ²μ)κ³Ό νμ©(λμ μ μ¬λ ₯μ΄ μλ μμμ μ§μ€) μ¬μ΄μ κ· νμ λ§μΆ₯λλ€.
- λ² μ΄μ¦ μ 리: κ΄μ°°λ λ°μ΄ν°λ‘ μλ¬κ²μ΄νΈ λͺ¨λΈμ μ λ°μ΄νΈνλ λ° μ¬μ©λ©λλ€. λͺ©μ ν¨μμ λν μ¬μ μ λ κ³Ό λ°μ΄ν°μ κ°λ₯μ± μ 보λ₯Ό κ²°ν©νμ¬ μ¬ν λΆν¬λ₯Ό μμ±ν©λλ€.
λ² μ΄μ§μ μ΅μ ν νλ‘μΈμ€
λ² μ΄μ§μ μ΅μ ν νλ‘μΈμ€λ λ€μκ³Ό κ°μ΄ μμ½ν μ μμ΅λλ€.
- μ΄κΈ°ν: λͺ κ°μ 무μμλ‘ μ νλ νμ΄νΌνλΌλ―Έν° ꡬμ±μμ λͺ©μ ν¨μλ₯Ό νκ°ν©λλ€.
- μλ¬κ²μ΄νΈ λͺ¨λΈ ꡬμΆ: κ΄μ°°λ λ°μ΄ν°μ μλ¬κ²μ΄νΈ λͺ¨λΈ(μ: κ°μ°μμ νλ‘μΈμ€)μ λ§μΆ₯λλ€.
- νλ ν¨μ μ΅μ ν: μλ¬κ²μ΄νΈ λͺ¨λΈμ μ¬μ©νμ¬ νλ ν¨μλ₯Ό μ΅μ ννμ¬ νκ°ν λ€μ νμ΄νΌνλΌλ―Έν° ꡬμ±μ μ μν©λλ€.
- λͺ©μ ν¨μ νκ°: μ μλ νμ΄νΌνλΌλ―Έν° ꡬμ±μμ λͺ©μ ν¨μλ₯Ό νκ°ν©λλ€.
- μλ¬κ²μ΄νΈ λͺ¨λΈ μ λ°μ΄νΈ: μ κ΄μ°°κ°μΌλ‘ μλ¬κ²μ΄νΈ λͺ¨λΈμ μ λ°μ΄νΈν©λλ€.
- λ°λ³΅: μ€μ§ κΈ°μ€μ΄ μΆ©μ‘±λ λκΉμ§(μ: μ΅λ λ°λ³΅ νμ, λͺ©ν μ±λ₯ λ¬μ±) 3-5λ¨κ³λ₯Ό λ°λ³΅ν©λλ€.
κ°μ°μμ νλ‘μΈμ€(GP) μ΄ν΄
κ°μ°μμ νλ‘μΈμ€λ ν¨μλ₯Ό λͺ¨λΈλ§νκ³ λΆνμ€μ±μ μ λννλ κ°λ ₯ν λꡬμ λλ€. κ°μ°μμ νλ‘μΈμ€λ κ²μ 곡κ°μ κ° μ§μ μμ κ°λ₯ν ν¨μ κ°μ λν λΆν¬λ₯Ό μ 곡ν μ μμΌλ―λ‘ λ² μ΄μ§μ μ΅μ νμμ μλ¬κ²μ΄νΈ λͺ¨λΈλ‘ μμ£Ό μ¬μ©λ©λλ€.
κ°μ°μμ νλ‘μΈμ€μ μ£Όμ μμ±
- ν¨μ κ°μ λΆν¬: κ°μ°μμ νλ‘μΈμ€λ κ°λ₯ν ν¨μμ λν νλ₯ λΆν¬λ₯Ό μ μν©λλ€.
- νκ· λ° κ³΅λΆμ°μΌλ‘ μ μ: κ°μ°μμ νλ‘μΈμ€λ νκ· ν¨μ m(x)μ 곡λΆμ° ν¨μ k(x, x')μΌλ‘ μμ ν μ§μ λ©λλ€. νκ· ν¨μλ κ° μ§μ μμ ν¨μμ μμ κ°μ λνλ΄κ³ , 곡λΆμ° ν¨μλ λ€λ₯Έ μ§μ μμ ν¨μ κ° κ°μ μκ΄ κ΄κ³λ₯Ό μ€λͺ ν©λλ€.
- 컀λ ν¨μ: 컀λ ν¨μλΌκ³ λ νλ 곡λΆμ° ν¨μλ κ°μ°μμ νλ‘μΈμ€μμ μνλ§λ ν¨μμ λ§€λλ¬μκ³Ό λͺ¨μμ κ²°μ ν©λλ€. μΌλ°μ μΈ μ»€λ ν¨μμλ Radial Basis Function (RBF) 컀λ, MatΓ©rn 컀λ λ° Linear 컀λμ΄ ν¬ν¨λ©λλ€.
- μ¬ν μΆλ‘ : κ΄μ°°λ λ°μ΄ν°κ° μ£Όμ΄μ§λ©΄ λ² μ΄μ¦ μ 리λ₯Ό μ¬μ©νμ¬ κ°μ°μμ νλ‘μΈμ€λ₯Ό μ λ°μ΄νΈνμ¬ ν¨μμ λν μ¬ν λΆν¬λ₯Ό μ»μ μ μμ΅λλ€. μ΄ μ¬ν λΆν¬λ λ°μ΄ν°λ₯Ό κ΄μ°°ν ν ν¨μμ λμμ λν μ λ°μ΄νΈλ μ λ μ λνλ λλ€.
λ² μ΄μ§μ μ΅μ νμμ κ°μ°μμ νλ‘μΈμ€κ° μ¬μ©λλ λ°©μ
λ² μ΄μ§μ μ΅μ νμμ κ°μ°μμ νλ‘μΈμ€λ λͺ©μ ν¨μλ₯Ό λͺ¨λΈλ§νλ λ° μ¬μ©λ©λλ€. GPλ κ° νμ΄νΌνλΌλ―Έν° ꡬμ±μμ κ°λ₯ν ν¨μ κ°μ λν λΆν¬λ₯Ό μ 곡νμ¬ ν¨μμ λμμ λν λΆνμ€μ±μ μ λνν μ μμ΅λλ€. κ·Έλ° λ€μ νλ ν¨μλ μ΄ λΆνμ€μ±μ μ¬μ©νμ¬ μ΅μ μ νμ΄νΌνλΌλ―Έν° ꡬμ±μ κ²μν©λλ€.
μλ₯Ό λ€μ΄ μ κ²½λ§μ νμ΅λ₯ μ μ‘°μ νλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€. κ°μ°μμ νλ‘μΈμ€λ νμ΅λ₯ κ³Ό λ€νΈμν¬μ κ²μ¦ μ νλ κ°μ κ΄κ³λ₯Ό λͺ¨λΈλ§ν©λλ€. κ° νμ΅λ₯ μ λν΄ κ°λ₯ν κ²μ¦ μ νλμ λν λΆν¬λ₯Ό μ 곡νμ¬ λ€μν νμ΅λ₯ μ μ μ¬λ ₯μ νκ°νκ³ μ΅μ μ κ°μ κ²μνλλ‘ μλ΄ν©λλ€.
νλ ν¨μ: νμκ³Ό νμ©μ κ· ν
νλ ν¨μλ νκ°ν λ€μ νμ΄νΌνλΌλ―Έν° ꡬμ±μ κ²μνλλ‘ μλ΄νμ¬ λ² μ΄μ§μ μ΅μ νμμ μ€μν μν μ ν©λλ€. νμ(κ²μ 곡κ°μ λ―Ένμ μμ κ²μ)κ³Ό νμ©(λμ μ μ¬λ ₯μ΄ μλ μμμ μ§μ€) μ¬μ΄μ κ· νμ λ§μΆ₯λλ€. λ² μ΄μ§μ μ΅μ νμμλ μ¬λ¬ νλ ν¨μκ° μΌλ°μ μΌλ‘ μ¬μ©λ©λλ€.
- κ°μ νλ₯ (PI): μ£Όμ΄μ§ νμ΄νΌνλΌλ―Έν° ꡬμ±μμ λͺ©μ ν¨μ κ°μ΄ μ§κΈκΉμ§ κ΄μ°°λ μ΅μμ κ°λ³΄λ€ λ λμ νλ₯ μ λλ€. PIλ λμ μ μ¬λ ₯μ΄ μλ μμμ μ§μ€νμ¬ νμ©μ μ νΈν©λλ€.
- μμ κ°μ (EI): μ£Όμ΄μ§ νμ΄νΌνλΌλ―Έν° ꡬμ±μμ λͺ©μ ν¨μ κ°μ΄ μ§κΈκΉμ§ κ΄μ°°λ μ΅μμ κ°λ³΄λ€ μΌλ§λ λ λμ κ²μΌλ‘ μμλλμ§. EIλ PIμ λΉν΄ νμκ³Ό νμ© κ°μ λ κ· ν μ‘ν μ κ·Ό λ°©μμ μ 곡ν©λλ€.
- μν μ λ’°λ κ²½κ³(UCB): λͺ©μ ν¨μμ μμΈ‘ νκ· κ³Ό μλ¬κ²μ΄νΈ λͺ¨λΈμ λΆνμ€μ±μ κΈ°λ°μΌλ‘ νλ μν μ λ’°λ κ²½κ³λ₯Ό κ²°ν©ν νλ ν¨μ. UCBλ λμ λΆνμ€μ±μ΄ μλ μμμ μ°μ μμλ₯Ό μ§μ νμ¬ νμμ μ νΈν©λλ€.
μ μ ν νλ ν¨μ μ ν
νλ ν¨μ μ νμ νΉμ λ¬Έμ μ νμκ³Ό νμ© κ°μ μνλ κ· νμ λ°λΌ λ¬λΌμ§λλ€. λͺ©μ ν¨μκ° λΉκ΅μ λΆλλ½κ³ μ λμνλ κ²½μ° νμ©μ μ νΈνλ νλ ν¨μ(μ: PI)κ° μ ν©ν μ μμ΅λλ€. κ·Έλ¬λ λͺ©μ ν¨μκ° λ§€μ° λΉλ³Όλ‘μ μ΄κ±°λ λ Έμ΄μ¦κ° μλ κ²½μ° νμμ μ νΈνλ νλ ν¨μ(μ: UCB)κ° λ ν¨κ³Όμ μΌ μ μμ΅λλ€.
μ: μ΄λ―Έμ§ λΆλ₯λ₯Ό μν λ₯ λ¬λ λͺ¨λΈμ νμ΄νΌνλΌλ―Έν°λ₯Ό μ΅μ ννλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€. μ΅μ μ νμ΄νΌνλΌλ―Έν° ꡬμ±μ λν μ’μ μ΄κΈ° μΆμ μΉκ° μλ κ²½μ° λͺ¨λΈμ λ―ΈμΈ μ‘°μ νκ³ κ°λ₯ν μ΅μμ μ±λ₯μ λ¬μ±νκΈ° μν΄ μμ κ°μ κ³Ό κ°μ νλ ν¨μλ₯Ό μ νν μ μμ΅λλ€. λ°λ©΄μ μ΅μ μ ꡬμ±μ λν΄ νμ μ΄ μλ κ²½μ° νμ΄νΌνλΌλ―Έν° 곡κ°μ λ€μν μμμ νμνκ³ μ μ¬μ μΌλ‘ λ λμ μ루μ μ λ°κ²¬νκΈ° μν΄ μν μ λ’°λ κ²½κ³μ κ°μ νλ ν¨μλ₯Ό μ νν μ μμ΅λλ€.
λ² μ΄μ§μ μ΅μ νμ μ€μ ꡬν
λ€μμ ν¬ν¨νμ¬ Pythonμμ λ² μ΄μ§μ μ΅μ νλ₯Ό ꡬννκΈ° μν΄ μ¬μ©ν μ μλ μ¬λ¬ λΌμ΄λΈλ¬λ¦¬ λ° νλ μμν¬κ° μμ΅λλ€.
- Scikit-optimize (skopt): κ΄λ²μν λ² μ΄μ§μ μ΅μ ν μκ³ λ¦¬μ¦ λ° νλ ν¨μλ₯Ό μ 곡νλ μΈκΈ° μλ Python λΌμ΄λΈλ¬λ¦¬μ λλ€. Scikit-learn λ° κΈ°ν λ¨Έμ λ¬λ λΌμ΄λΈλ¬λ¦¬μ νΈνλ©λλ€.
- GPyOpt: κ°μ°μμ νλ‘μΈμ€ λͺ¨λΈμ μ€μ μ λκ³ λ€μ€ λͺ©μ μ΅μ ν λ° μ μ½ μ‘°κ±΄ μ΅μ νμ κ°μ κ³ κΈ κΈ°λ₯μ μ 곡νλ λ² μ΄μ§μ μ΅μ ν λΌμ΄λΈλ¬λ¦¬μ λλ€.
- BayesianOptimization: μ΄λ³΄μμκ² μ ν©ν κ°λ¨νκ³ μ¬μ©νκΈ° μ¬μ΄ λ² μ΄μ§μ μ΅μ ν λΌμ΄λΈλ¬λ¦¬μ λλ€.
Scikit-optimize(skopt)λ₯Ό μ¬μ©ν μ
Support Vector Machine (SVM) λΆλ₯κΈ°μ νμ΄νΌνλΌλ―Έν°λ₯Ό μ΅μ ννκΈ° μν΄ Scikit-optimizeλ₯Ό μ¬μ©νλ λ°©λ²μ μλ λ€μκ³Ό κ°μ΅λλ€.
```python from skopt import BayesSearchCV from sklearn.svm import SVC from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split # Iris λ°μ΄ν° μΈνΈ λ‘λ iris = load_iris() X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42) # νμ΄νΌνλΌλ―Έν° κ²μ κ³΅κ° μ μ param_space = { 'C': (1e-6, 1e+6, 'log-uniform'), 'gamma': (1e-6, 1e+1, 'log-uniform'), 'kernel': ['rbf'] } # λͺ¨λΈ μ μ model = SVC() # λ² μ΄μ§μ μ΅μ ν κ²μ μ μ opt = BayesSearchCV( model, param_space, n_iter=50, # λ°λ³΅ νμ cv=3 # κ΅μ°¨ κ²μ¦ ν΄λ ) # μ΅μ ν μ€ν opt.fit(X_train, y_train) # μ΅μμ λ§€κ°λ³μ λ° μ μ μΈμ print("Best parameters: %s" % opt.best_params_) print("Best score: %s" % opt.best_score_) # ν μ€νΈ μΈνΈμμ λͺ¨λΈ νκ° accuracy = opt.score(X_test, y_test) print("Test accuracy: %s" % accuracy) ```μ΄ μμμλ Scikit-optimizeλ₯Ό μ¬μ©νμ¬ νμ΄νΌνλΌλ―Έν° κ²μ 곡κ°μ μ μνκ³ , λͺ¨λΈμ μ μνκ³ , λ² μ΄μ§μ μ΅μ ν κ²μμ μ€ννλ λ°©λ²μ 보μ¬μ€λλ€. `BayesSearchCV` ν΄λμ€λ κ°μ°μμ νλ‘μΈμ€ λͺ¨λΈλ§ λ° νλ ν¨μ μ΅μ νλ₯Ό μλμΌλ‘ μ²λ¦¬ν©λλ€. μ΄ μ½λλ `C` λ° `gamma` λ§€κ°λ³μμ λ‘κ·Έ κ· μΌ λΆν¬λ₯Ό μ¬μ©νλ©°, μ΄λ μ¬λ¬ μ°¨μμ κ±Έμ³ λ³λλ μ μλ λ§€κ°λ³μμ μ ν©ν κ²½μ°κ° λ§μ΅λλ€. `n_iter` λ§€κ°λ³μλ λ°λ³΅ νμλ₯Ό μ μ΄νλ©°, μ΄λ μνλλ νμμ μμ κ²°μ ν©λλ€. `cv` λ§€κ°λ³μλ κ° νμ΄νΌνλΌλ―Έν° ꡬμ±μ νκ°νλ λ° μ¬μ©λλ κ΅μ°¨ κ²μ¦ ν΄λ μλ₯Ό μ§μ ν©λλ€.
λ² μ΄μ§μ μ΅μ νμ κ³ κΈ κΈ°μ
λͺ κ°μ§ κ³ κΈ κΈ°μ μ ν΅ν΄ λ² μ΄μ§μ μ΅μ νμ μ±λ₯μ λμ± ν₯μμν¬ μ μμ΅λλ€.
- λ€μ€ λͺ©μ μ΅μ ν: μ¬λ¬ λͺ©μ μ λμμ μ΅μ ν(μ: μ νλ λ° νλ ¨ μκ°).
- μ μ½ μ‘°κ±΄ μ΅μ ν: νμ΄νΌνλΌλ―Έν°μ λν μ μ½ μ‘°κ±΄μ΄ μλ λͺ©μ ν¨μ μ΅μ ν(μ: μμ° μ μ½ μ‘°κ±΄, μμ μ μ½ μ‘°κ±΄).
- λ³λ ¬ λ² μ΄μ§μ μ΅μ ν: μ΅μ ν νλ‘μΈμ€μ μλλ₯Ό λμ΄κΈ° μν΄ μ¬λ¬ νμ΄νΌνλΌλ―Έν° ꡬμ±μ λ³λ ¬λ‘ νκ°ν©λλ€.
- μ μ΄ νμ΅: μ΄μ μ΅μ ν μ€νμ μ§μμ νμ©νμ¬ μλ‘μ΄ λ¬Έμ μ λν μ΅μ ν νλ‘μΈμ€λ₯Ό κ°μνν©λλ€.
- λ°΄λ§ κΈ°λ° μ΅μ ν: λ² μ΄μ§μ μ΅μ νλ₯Ό λ°΄λ§ μκ³ λ¦¬μ¦κ³Ό κ²°ν©νμ¬ νμ΄νΌνλΌλ―Έν° 곡κ°μ ν¨μ¨μ μΌλ‘ νμν©λλ€.
μ: λ³λ ¬ λ² μ΄μ§μ μ΅μ ν
λ³λ ¬ λ² μ΄μ§μ μ΅μ νλ νΉν νμ΄νΌνλΌλ―Έν° ꡬμ±μ νκ°νλ λ° κ³μ° λΉμ©μ΄ λ§μ΄ λλ κ²½μ° νμ΄νΌνλΌλ―Έν° νλμ νμν μκ°μ ν¬κ² μ€μΌ μ μμ΅λλ€. λ§μ λΌμ΄λΈλ¬λ¦¬μμ λ³λ ¬ μ²λ¦¬μ λν λ΄μ₯ μ§μμ μ 곡νκ±°λ Pythonμ `concurrent.futures`μ κ°μ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ μλμΌλ‘ ꡬνν μ μμ΅λλ€.
ν΅μ¬ μμ΄λμ΄λ νλ ν¨μκ° μ μν μ¬λ¬ νμ΄νΌνλΌλ―Έν° ꡬμ±μ λμμ νκ°νλ κ²μ λλ€. μ΄λ κ² νλ €λ©΄ λ³λ ¬ νκ°κ° μ΅μ ν νλ‘μΈμ€μ μ μ νκ² ν΅ν©λλλ‘ μλ¬κ²μ΄νΈ λͺ¨λΈ λ° νλ ν¨μλ₯Ό μ μ€νκ² κ΄λ¦¬ν΄μΌ ν©λλ€.
μ: μ μ½ μ‘°κ±΄μ΄ μλ λ² μ΄μ§μ μ΅μ ν
λ§μ μ€μ μλ리μ€μμ νμ΄νΌνλΌλ―Έν° νλμ μ μ½ μ‘°κ±΄μ μ μ©μ λ°μ΅λλ€. μλ₯Ό λ€μ΄, λͺ¨λΈμ νλ ¨νκΈ° μν μμ°μ΄ μ νλμ΄ μκ±°λ λͺ¨λΈμ΄ νΉμ μμ μꡬ μ¬νμ μΆ©μ‘±νλμ§ νμΈν΄μΌ ν μ μμ΅λλ€.
μ μ½ μ‘°κ±΄μ΄ μλ λ² μ΄μ§μ μ΅μ ν κΈ°μ μ μ΄λ¬ν μ μ½ μ‘°κ±΄μ μΆ©μ‘±νλ©΄μ λͺ©μ ν¨μλ₯Ό μ΅μ ννλ λ° μ¬μ©ν μ μμ΅λλ€. μ΄λ¬ν κΈ°μ μ μΌλ°μ μΌλ‘ νλ ν¨μ λλ μλ¬κ²μ΄νΈ λͺ¨λΈμ μ μ½ μ‘°κ±΄μ ν΅ν©νλ κ²μ ν¬ν¨ν©λλ€.
λ² μ΄μ§μ μ΅μ νμ μ₯μ κ³Ό λ¨μ
μ₯μ
- ν¨μ¨μ±: λ² μ΄μ§μ μ΅μ νλ μΌλ°μ μΌλ‘ Grid Search λ° Random Searchμ κ°μ κΈ°μ‘΄ λ°©λ²μ λΉν΄ λͺ©μ ν¨μμ λν νκ° νμκ° μ μΌλ―λ‘ λΉμ©μ΄ λ§μ΄ λλ ν¨μλ₯Ό μ΅μ ννλ λ° λ ν¨μ¨μ μ λλ€.
- λΉλ³Όλ‘μ± μ²λ¦¬: λ² μ΄μ§μ μ΅μ νλ λ¨Έμ λ¬λμμ νν λ°μνλ λΉλ³Όλ‘ λͺ©μ ν¨μλ₯Ό μ²λ¦¬ν μ μμ΅λλ€.
- λΆνμ€μ± μ λν: λ² μ΄μ§μ μ΅μ νλ λͺ©μ ν¨μμ λν λΆνμ€μ± μΈ‘μ κ°μ μ 곡νλ―λ‘ μ΅μ ν νλ‘μΈμ€λ₯Ό μ΄ν΄νκ³ μ 보μ μ κ°ν μμ¬ κ²°μ μ λ΄λ¦¬λ λ° μ μ©ν μ μμ΅λλ€.
- μ μμ±: λ² μ΄μ§μ μ΅μ νλ λͺ©μ ν¨μμ λͺ¨μμ μ μνμ¬ κ²μ 곡κ°μ μ λ§ν μμμ μ§μ€ν©λλ€.
λ¨μ
- 볡μ‘μ±: λ² μ΄μ§μ μ΅μ νλ Grid Search λ° Random Searchμ κ°μ κ°λ¨ν λ°©λ²μ λΉν΄ ꡬννκ³ μ΄ν΄νκΈ° λ 볡μ‘ν μ μμ΅λλ€.
- κ³μ° λΉμ©: μλ¬κ²μ΄νΈ λͺ¨λΈμ ꡬμΆνκ³ μ λ°μ΄νΈνλ λ° λλ κ³μ° λΉμ©μ νΉν κ³ μ°¨μ κ²μ 곡κ°μ κ²½μ° μλΉν μ μμ΅λλ€.
- μ¬μ λΆν¬μ λν λ―Όκ°λ: μλ¬κ²μ΄νΈ λͺ¨λΈμ λν μ¬μ λΆν¬ μ νμ λ² μ΄μ§μ μ΅μ νμ μ±λ₯μ μν₯μ λ―ΈμΉ μ μμ΅λλ€.
- νμ₯μ±: λ² μ΄μ§μ μ΅μ νλ λ§€μ° κ³ μ°¨μ κ²μ 곡κ°μΌλ‘ νμ₯νκΈ° μ΄λ €μΈ μ μμ΅λλ€.
λ² μ΄μ§μ μ΅μ νλ₯Ό μ¬μ©ν΄μΌ νλ κ²½μ°
λ² μ΄μ§μ μ΅μ νλ λ€μκ³Ό κ°μ μλ리μ€μ νΉν μ ν©ν©λλ€.
- λΉμΌ νκ°: λͺ©μ ν¨μλ₯Ό νκ°νλ λ° κ³μ° λΉμ©μ΄ λ§μ΄ λλ κ²½μ°(μ: λ₯ λ¬λ λͺ¨λΈ νλ ¨).
- λΉλ³Όλ‘ λͺ©μ ν¨μ: νμ΄νΌνλΌλ―Έν°μ λͺ¨λΈ μ±λ₯ κ°μ κ΄κ³κ° λΉλ³Όλ‘μ μΈ κ²½μ°.
- μ νλ μμ°: μκ° λλ 리μμ€ μ μ½μΌλ‘ μΈν΄ νκ° νμκ° μ νλ κ²½μ°.
- κ³ μ°¨μ κ²μ 곡κ°: κ²μ 곡κ°μ΄ κ³ μ°¨μμ΄κ³ Grid Search λ° Random Searchμ κ°μ κΈ°μ‘΄ λ°©λ²μ΄ λΉν¨μ¨μ μΈ κ²½μ°.
μλ₯Ό λ€μ΄, λ² μ΄μ§μ μ΅μ νλ 컨볼루μ μ κ²½λ§(CNN) λ° μν μ κ²½λ§(RNN)κ³Ό κ°μ λ₯ λ¬λ λͺ¨λΈμ νμ΄νΌνλΌλ―Έν°λ₯Ό μ‘°μ νλ λ° μμ£Ό μ¬μ©λ©λλ€. μ΄λ¬ν λͺ¨λΈμ νλ ¨νλ κ²μ κ³μ° λΉμ©μ΄ λ§μ΄ λ€ μ μκ³ νμ΄νΌνλΌλ―Έν° 곡κ°μ΄ λ°©λν μ μκΈ° λλ¬Έμ λλ€.
μ ν΅μ μΈ νμ΄νΌνλΌλ―Έν° νλ κ·Έ μ΄μ: AutoML
λ² μ΄μ§μ μ΅μ νλ λ§μ μλνλ λ¨Έμ λ¬λ(AutoML) μμ€ν μ ν΅μ¬ κ΅¬μ± μμμ λλ€. AutoMLμ λ°μ΄ν° μ μ²λ¦¬, νΉμ§ μμ§λμ΄λ§, λͺ¨λΈ μ ν λ° νμ΄νΌνλΌλ―Έν° νλμ ν¬ν¨νμ¬ μ 체 λ¨Έμ λ¬λ νμ΄νλΌμΈμ μλννλ κ²μ λͺ©νλ‘ ν©λλ€. λ² μ΄μ§μ μ΅μ νλ₯Ό λ€λ₯Έ κΈ°μ κ³Ό ν΅ν©ν¨μΌλ‘μ¨ AutoML μμ€ν μ κ΄λ²μν μμ μ λν λ¨Έμ λ¬λ λͺ¨λΈμ μλμΌλ‘ ꡬμΆνκ³ μ΅μ νν μ μμ΅λλ€.
λ€μκ³Ό κ°μ μ¬λ¬ AutoML νλ μμν¬λ₯Ό μ¬μ©ν μ μμ΅λλ€.
- Auto-sklearn: λͺ¨λΈ μ ν λ° νμ΄νΌνλΌλ―Έν° νλμ ν¬ν¨νμ¬ μ 체 λ¨Έμ λ¬λ νμ΄νλΌμΈμ μ΅μ ννκΈ° μν΄ λ² μ΄μ§μ μ΅μ νλ₯Ό μ¬μ©νλ AutoML νλ μμν¬μ λλ€.
- TPOT: μ΅μ μ λ¨Έμ λ¬λ νμ΄νλΌμΈμ λ°κ²¬νκΈ° μν΄ μ μ μ νλ‘κ·Έλλ°μ μ¬μ©νλ AutoML νλ μμν¬μ λλ€.
- H2O AutoML: λ¨Έμ λ¬λ νλ‘μΈμ€λ₯Ό μλννκΈ° μν κ΄λ²μν μκ³ λ¦¬μ¦κ³Ό κΈ°λ₯μ μ 곡νλ AutoML νλ«νΌμ λλ€.
κΈλ‘λ² μμ λ° κ³ λ € μ¬ν
λ² μ΄μ§μ μ΅μ νμ μ리μ κΈ°μ μ λ€μν μ§μκ³Ό μ°μ μ λ°μ κ±Έμ³ λ³΄νΈμ μΌλ‘ μ μ©ν μ μμ΅λλ€. κ·Έλ¬λ κΈλ‘λ² μ»¨ν μ€νΈμμ λ² μ΄μ§μ μ΅μ νλ₯Ό μ μ©ν λ λ€μ μμλ₯Ό κ³ λ €νλ κ²μ΄ μ€μν©λλ€.
- λ°μ΄ν° λ€μμ±: λͺ¨λΈμ νμ΅νκ³ κ²μ¦νλ λ° μ¬μ©λλ λ°μ΄ν°κ° κΈλ‘λ² μΈκ΅¬λ₯Ό λννλμ§ νμΈν©λλ€. μ¬κΈ°μλ λ€λ₯Έ μ§μκ³Ό λ¬Ένμμ λ°μ΄ν°λ₯Ό μμ§ν΄μΌ ν μ μμ΅λλ€.
- λ¬Ένμ κ³ λ € μ¬ν: μ΅μ ν νλ‘μΈμ€μ κ²°κ³Όλ₯Ό ν΄μν λ λ¬Ένμ μ°¨μ΄μ μ μνμμμ€. μλ₯Ό λ€μ΄, μ΅μ μ νμ΄νΌνλΌλ―Έν° ꡬμ±μ λ¬Ένμ λ§₯λ½μ λ°λΌ λ€λ₯Ό μ μμ΅λλ€.
- κ·μ μ€μ: λͺ¨λΈμ΄ λ€μν μ§μμμ λͺ¨λ κ΄λ ¨ κ·μ μ μ€μνλμ§ νμΈν©λλ€. μλ₯Ό λ€μ΄, μΌλΆ μ§μμμλ λ°μ΄ν° κ°μΈ μ 보 λ³΄νΈ λ° λ³΄μκ³Ό κ΄λ ¨νμ¬ μ격ν κ·μ μ΄ μμ μ μμ΅λλ€.
- κ³μ° μΈνλΌ: κ³μ° 리μμ€μ κ°μ©μ±μ μ§μμ λ°λΌ λ€λ₯Ό μ μμ΅λλ€. λ² μ΄μ§μ μ΅μ νμ μΆ©λΆν κ³μ° λ₯λ ₯μ μ 곡νκΈ° μν΄ ν΄λΌμ°λ κΈ°λ° νλ«νΌμ μ¬μ©νλ κ²μ κ³ λ €νμμμ€.
μ: κΈλ‘λ² μ¬κΈ° νμ§ μμ€ν μ κ°λ°νλ νμ¬λ λ² μ΄μ§μ μ΅μ νλ₯Ό μ¬μ©νμ¬ λ¨Έμ λ¬λ λͺ¨λΈμ νμ΄νΌνλΌλ―Έν°λ₯Ό μ‘°μ ν μ μμ΅λλ€. λͺ¨λΈμ΄ λ€μν μ§μμμ μ μνλλλ‘ νλ €λ©΄ νμ¬λ λ€μν κ΅κ° λ° λ¬Ένμμ λ°μ΄ν°λ₯Ό μμ§ν΄μΌ ν©λλ€. λν μ§μΆ ν¨ν΄ λ° μ¬κΈ° νμμ λ¬Ένμ μ°¨μ΄λ₯Ό κ³ λ €ν΄μΌ ν©λλ€. λν κ° μ§μμ λ°μ΄ν° κ°μΈ μ 보 λ³΄νΈ κ·μ μ μ€μν΄μΌ ν©λλ€.
κ²°λ‘
λ² μ΄μ§μ μ΅μ νλ νμ΄νΌνλΌλ―Έν° νλμ μν κ°λ ₯νκ³ ν¨μ¨μ μΈ κΈ°μ μ λλ€. Grid Search λ° Random Searchμ κ°μ κΈ°μ‘΄ λ°©λ²μ λΉν΄ ν¨μ¨μ±, λΉλ³Όλ‘μ±μ μ²λ¦¬νλ κΈ°λ₯, λΆνμ€μ± μ λν λ± λͺ κ°μ§ μ₯μ μ΄ μμ΅λλ€. λ² μ΄μ§μ μ΅μ νμ μ리μ κΈ°μ μ μ΄ν΄ν¨μΌλ‘μ¨ λ¨Έμ λ¬λ λͺ¨λΈμ μ±λ₯μ ν¬κ² ν₯μμν€κ³ κ΄λ²μν μ ν리μΌμ΄μ μμ λ λμ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€. νΉμ λ¬Έμ μ κ°μ₯ μ ν©ν μ κ·Ό λ°©μμ μ°ΎκΈ° μν΄ λ€μν λΌμ΄λΈλ¬λ¦¬, νλ ν¨μ λ° κ³ κΈ κΈ°μ μ μ¬μ©ν΄ 보μμμ€. AutoMLμ΄ κ³μ λ°μ ν¨μ λ°λΌ λ² μ΄μ§μ μ΅μ νλ λ¨Έμ λ¬λ νλ‘μΈμ€λ₯Ό μλννκ³ λ λ§μ μ²μ€μ΄ μ κ·Όν μ μλλ‘ νλ λ° μ μ λ μ€μν μν μ ν κ²μ λλ€. λͺ¨λΈμ κΈλ‘λ² μν₯λ ₯μ κ³ λ €νκ³ λνμ μΈ λ°μ΄ν°λ₯Ό ν΅ν©νκ³ μ μ¬μ μΈ νΈν₯μ ν΄κ²°νμ¬ λ€μν μΈκ΅¬ μ§λ¨μμ λͺ¨λΈμ μ λ’°μ±κ³Ό 곡μ μ±μ 보μ₯νμμμ€.