μΈκ³΅μ§λ₯μ΄λ?
- μ¬λμ²λΌ νμ΅νκ³ μΆλ‘ ν μ μλ μ§λ₯μ κ°μ§ μ»΄ν¨ν° μμ€ν μ λ§λλ κΈ°μ
- κΈ°λ³Έμ μΌλ‘ μΈκ°μ μ§λ₯μ λͺ¨λ°©νλ €λ μλμμ μμλ¨
- μ°λ¦¬κ° νλ λ€μν μμ λ€μ μ»΄ν¨ν°κ° ν μ μλλ‘ νμ¬, μΌμ μνμ ν¨μ¨μ±μ λμ΄κ³ μλ€.
κ°μΈκ³΅μ§λ₯ vs μ½μΈκ³΅μ§λ₯
- κ°μΈκ³΅μ§λ₯(AGI, Artificial General Intelligence)
- μΈκ°κ³Ό μ μ¬ν μμ€μ μ§λ₯μ κ°μ§ μ»΄ν¨ν° μμ€ν
- λ€μν λ¬Έμ λ₯Ό μ€μ€λ‘ ν΄κ²°ν μ μμΌλ©°, μ€μ€λ‘ νμ΅νκ³ μΆλ‘ ν μ μλ λ₯λ ₯μ κ°μ§λ€.
- νμ¬λ μ°κ΅¬ λ¨κ³μ μμΌλ©°, μ€νλμ§λ μμλ€.
- μ½μΈκ³΅μ§λ₯(ANI, Artificial Narrow Intelligence)
- νΉμ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° νΉνλ AI. νμ¬ μ°λ¦¬κ° μ¬μ©νλ λλΆλΆμ AI μμ€ν μ μ΄ λ²μ£Όμ μνλ€.
- μλ₯Ό λ€μ΄, μμ± μΈμ, μ΄λ―Έμ§ λΆλ₯, μμ¨μ£Όνμ°¨ λ±μ λͺ¨λ μ½μΈκ³΅μ§λ₯μ ν΄λΉνλ€.
λ¨Έμ λ¬λ(Machine Learning)
μλμΌλ‘ λ°μ΄ν°μμ κ·μΉμ νμ΅νλ μκ³ λ¦¬μ¦μ μ°κ΅¬νλ λΆμΌ
λ¨Έμ λ¬λμ ν΅κ³νμμ μ λνμμ§λ§, μ΅κ·Όμλ κ²½νμ λ°νμΌλ‘ λ°μ νλ κ²½ν₯μ΄ μλ€.
- λ°μ΄ν°μμ ν¨ν΄μ μΈμνμ¬ μμΈ‘νκ±°λ κ²°μ μ λ΄λ¦°λ€.
- νλ ¨ λ°μ΄ν°λ₯Ό ν΅ν΄ λͺ¨λΈμ νμ΅μν¨ ν, μλ‘μ΄ λ°μ΄ν°μ λν΄ μμΈ‘μ ν μ μλ€.
μ¬μ΄ν·λ°(Scikit-learn): μ¬μ΄ν·λ°μ νμ΄μ¬μ κΈ°λ°μΌλ‘ ν λ¨Έμ λ¬λ λΌμ΄λΈλ¬λ¦¬, λ°μ΄ν° μ μ²λ¦¬, λͺ¨λΈ νμ΅, νκ°, μμΈ‘ κΈ°λ₯ μ 곡
λ₯λ¬λ(Deep Learning)
λ₯λ¬λμ λ¨Έμ λ¬λ μκ³ λ¦¬μ¦ μ€μμ μΈκ³΅ μ κ²½λ§(Artificial Neural Networks)μ κΈ°λ°μΌλ‘ νλ λ°©λ²μ ν΅μΉνλ€.
λ₯λ¬λμ 볡μ‘ν μκ³ λ¦¬μ¦μ νλ ¨ν μ μλ λ₯λ ₯μ κ°μ§κ³ μμΌλ©°, νλΆν λ°μ΄ν°μ μ»΄ν¨ν° μ±λ₯μ ν₯μ, κ·Έλ¦¬κ³ μκ³ λ¦¬μ¦μ λ°μ μ λ°λΌ μ΅κ·Ό κΈκ²©ν λ°μ νκ³ μλ€.
- λ€μΈ΅ μ κ²½λ§μ νμ©νμ¬ λμ± λ³΅μ‘ν λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ€.
- λκ·λͺ¨ λ°μ΄ν°μ GPUλ₯Ό νμ©ν μ°μ° μ±λ₯μ΄ νμνλ€.
- μ΄λ―Έμ§ μ²λ¦¬, μμ± μΈμ, μμ°μ΄ μ²λ¦¬ λ±μμ κ°λ ₯ν μ±λ₯μ λ°ννλ€.
λ₯λ¬λ λΌμ΄λΈλ¬λ¦¬
- ν μνλ‘(TensorFlow): ꡬκΈμμ κ°λ°ν λ₯λ¬λ νλ μμν¬
- νμ΄ν μΉ(PyTorch): νμ΄μ€λΆμμ κ°λ°ν λ₯λ¬λ λΌμ΄λΈλ¬λ¦¬
μ§λνμ΅κ³Ό λΉμ§λνμ΅
μ§λνμ΅
μ λ΅(νκΉ)μ΄ μ£Όμ΄μ§ λ°μ΄ν°λ₯Ό μ¬μ©νμ¬ λͺ¨λΈμ νμ΅νλ λ°©λ²
λ°μ΄ν°μ ν΄λΉνλ νΉμ±(feature)κ³Ό μ λ΅(target)μ ν¨κ» μ 곡νμ¬, λͺ¨λΈμ΄ μ£Όμ΄μ§ μ λ ₯μ λν΄ μ¬λ°λ₯Έ μΆλ ₯μ μμΈ‘νλλ‘ νλ ¨μν¨λ€.
- νλ ¨ λ°μ΄ν°(Training Data): μ λ ₯κ°κ³Ό ν΄λΉνλ μ λ΅μ΄ ν¬ν¨λ λ°μ΄ν°μ
- νκΉ(Target): μμΈ‘νλ €λ λͺ©ν κ°. μλ₯Ό λ€μ΄, μ§ κ°κ²©μ μμΈ‘ν λ, κ° μ§μ μ€μ κ°κ²©μ΄ νκΉ κ°μ΄λ€.
- λͺ©ν: μκ³ λ¦¬μ¦μ΄ μ£Όμ΄μ§ μ λ ₯κ°μ λν΄ μμΈ‘νλ κ·μΉμ νμ΅νμ¬, μλ‘μ΄ λ°μ΄ν°μ λν΄ μ νν μμΈ‘μ ν μ μλλ‘ λ§λλ κ²μ΄λ€.
- μ’
λ₯
- νκ· λ¬Έμ (Regression): μμΈ‘νλ €λ κ°μ΄ μ°μμ μΈ κ°μΌ λ. μ) μ§ κ°κ²© μμΈ‘
- λΆλ₯ λ¬Έμ (Classification): μμΈ‘νλ €λ κ°μ΄ μ ν΄μ§ λ²μ£Όμ μν λ. μ) μ΄λ©μΌμ΄ μ€νΈμΈμ§ μλμ§ κ΅¬λΆνκΈ°
λΉμ§λνμ΅
λ°μ΄ν°μ λν μ λ΅ μμ΄, λ°μ΄ν°μ ν¨ν΄μ΄λ ꡬ쑰λ₯Ό νμ νλ νμ΅ λ°©λ²μ΄λ€.
μ λ ₯ λ°μ΄ν°λ§ μ£Όμ΄μ§κ³ , μκ³ λ¦¬μ¦μ λ°μ΄ν°λ₯Ό λΆμνμ¬ μ¨κ²¨μ§ ꡬ쑰λ₯Ό μ°ΎμλΈλ€.
- λͺ©ν: λ°μ΄ν° λ΄μμ μ μ¬ν νΉμ±μ κ°μ§ κ·Έλ£Ήμ λ°κ²¬νκ±°λ, λ°μ΄ν° κ°μ μκ΄ κ΄κ³λ₯Ό νμ νλ κ²μ΄λ€.
- μ’
λ₯
- κ΅°μ§ν(Clustering): λ°μ΄ν°λ€μ λΉμ·ν νΉμ±μ κ°μ§ κ·Έλ£ΉμΌλ‘ λλλ λ¬Έμ . μ) κ³ κ° μΈλΆν, μν κ΅°μ§ν
- μ°¨μ μΆμ(Dimensionality Reduction): λ°μ΄ν°μ νΉμ±μ μμΆνμ¬ λ μ μ μμ λ³μλ‘ νννλ λ¬Έμ . μ) PCA(μ£Όμ±λΆ λΆμ)
κ°ννμ΅
μνΈμμ©μ ν΅ν΄ μ΅μ μ νλμ νμ΅νλ λ°©λ²
μμ΄μ νΈκ° μ£Όμ΄μ§ νκ²½μμ νλμ μ·¨νκ³ , κ·Έμ λν 보μ, λ²μ μ ν΅ν΄ νμ΅νλ€.
λͺ©νλ μ΅μ μ μ λ΅μ μ°Ύμμ μ₯κΈ°μ μΈ λ³΄μμ κ·Ήλννλ κ²μ΄λ€.
- μν©(State): νμ¬ μνλ₯Ό λνλ΄λ μ 보
- νλ(Action): μμ΄μ νΈκ° μ νν μ μλ νλ
- 보μ(Reward): νλμ λν κ²°κ³Όλ‘ μ£Όμ΄μ§λ νΌλλ°±
- κ²μ: λ°λ, 체μ€, μνκ³ μ κ°μ κ²μμμ μ΅μ μ μ λ΅μ μ°Ύλ λ¬Έμ
νλ ¨μΈνΈ(Training Set)μ ν μ€νΈμΈνΈ(Test Set)
- νλ ¨μΈνΈ: λͺ¨λΈ νμ΅ μν΄ μ¬μ©νλ λ°μ΄ν°. μ΄ λ°μ΄ν°μμ μκ³ λ¦¬μ¦μ κ·μΉμ μ°Ύμλ΄κ³ , μμΈ‘ λͺ¨λΈμ μμ±νλ€.
- ν μ€νΈμΈνΈ: νλ ¨λ λͺ¨λΈμ μ±λ₯μ νκ°νλ λ° μ¬μ©νλ λ°μ΄ν°. ν μ€νΈμΈνΈλ λͺ¨λΈ νμ΅μ μ¬μ©λμ§ μμΌλ©°, μλ‘μ΄ λ°μ΄ν°μ λν΄ λͺ¨λΈμ΄ μΌλ§λ μ μμΈ‘νλμ§λ₯Ό μΈ‘μ νλ λ° μ¬μ©λλ€.
μν(Sample)κ³Ό μνλ§ νΈν₯(Sampling Bias)
- μν: νλμ λ°μ΄ν°λ₯Ό μνμ΄λΌκ³ νλ€. νλ ¨ μΈνΈλ ν μ€νΈ μΈνΈμμ νλνλμ λ°μ΄ν°κ° μνμ΄λ€.
- μνλ§ νΈν₯: νλ ¨μΈνΈμ ν
μ€νΈμΈνΈλ₯Ό λλ λ, λ°μ΄ν°κ° κ³ λ₯΄κ² μμ΄μ§ μμΌλ©΄ μνλ§ νΈν₯μ΄ λ°μν μ μλ€.
- ex) ν΄λμ€λ νΉμ±μ΄ κ³Όλνκ² ν¬ν¨λκ±°λ λΆμ‘±ν κ²½μ°, λͺ¨λΈμ΄ μΌλ°νλμ§ μκ±°λ νΉμ λ°μ΄ν°μ κ³Όλνκ² μ΅μ νλ μ μλ€.
νλ ¨μΈνΈμ ν μ€νΈμΈνΈκ° μλͺ» λ§λ€μ΄μ‘μ λμ λ¬Έμ
νλ ¨μΈνΈμ ν μ€νΈμΈνΈκ° μλͺ» λ§λ€μ΄μ§λ©΄, λͺ¨λΈμ΄ μ 체 λ°μ΄ν°λ₯Ό λννμ§ μκ² λλ€.
μ΄λ κ³Όλμ ν© μ΄λ κ³Όμμ ν© λ¬Έμ λ₯Ό μΌμΌν¬ μ μμΌλ©°, μ€μ λ°μ΄ν°λ₯Ό μ²λ¦¬ν λ μ±λ₯μ΄ λ¨μ΄μ§κ² λλ€.
- κ³Όλμ ν©
- νλ ¨ λ°μ΄ν°μ λ무 λ§μΆ°μ§ λͺ¨λΈλ‘, μλ‘μ΄ λ°μ΄ν°μ λν μμΈ‘ μ±λ₯μ΄ λ¨μ΄μ§λ€.
- μ¦, νλ ¨ λ°μ΄ν°μλ λ§€μ° μ λ§μ§λ§, μ€μ λ°μ΄ν°μλ μ μΌλ°νλμ§ μλ λͺ¨λΈμ΄ λλ€.
- κ³Όμμ ν©
- λͺ¨λΈμ΄ νλ ¨ λ°μ΄ν°μμμ‘°μ°¨ μ λλ‘ νμ΅νμ§ λͺ»νλ μνμ΄λ€.
- λͺ¨λΈμ΄ λ무 λ¨μνμ¬ λ°μ΄ν°μ ν¨ν΄μ μ‘μλ΄μ§ λͺ»νλ κ²½μ°μ΄λ€.
- λ°©μ§λ₯Ό μν΄μ
- νλ ¨μΈνΈμ ν μ€νΈμΈνΈλ₯Ό 무μμλ‘ λΆλ¦¬ν΄μΌ νλ€.
- κ΅μ°¨κ²μ¦μ μ¬μ©νμ¬ λͺ¨λΈμ μ¬λ¬ λ² νκ°νμ¬ μΌλ°ν μ±λ₯μ λμ΄λ λ°©λ²μ΄ μλ€.
κ²°λ‘
- μ§λνμ΅μ μ£Όμ΄μ§ λ°μ΄ν°μ μ λ΅μ λ°νμΌλ‘ νμ΅νλ λ°©μμΌλ‘, λΆλ₯μ νκ· λ¬Έμ μ μ¬μ©λλ€.
- λΉμ§λνμ΅μ μ λ΅ μμ΄ λ°μ΄ν° λ΄μμ μ¨κ²¨μ§ ꡬ쑰λ ν¨ν΄μ μ°Ύλ λ°©λ²μΌλ‘, κ΅°μ§νμ μ°¨μ μΆμ λ±μ νμ©λλ€.
- κ°ννμ΅μ μμ΄μ νΈκ° νκ²½κ³Ό μνΈμμ©νλ©° μ΅μ μ μ λ΅μ νμ΅νλ λ°©μμΌλ‘, κ²μμ΄λ λ‘λ΄ μ μ΄ λ±μ μ¬μ©λλ€
- νλ ¨μΈνΈμ ν μ€νΈμΈνΈλ λͺ¨λΈμ νλ ¨νκ³ νκ°νλ λ° μ€μν μν μ νλ©°, λ°μ΄ν°λ₯Ό μ λΆλ¦¬νκ³ κ³ λ₯΄κ² μλ κ²μ΄ μ€μνλ€.
μ¬μ΄ν·λ°μΌλ‘ νλ ¨μΈνΈμ ν μ€νΈμΈνΈ λλκΈ°
- train_test_splitμ μ¬μ΄ν·λ°μμ μ 곡νλ ν¨μλ‘, μ£Όμ΄μ§ λ°μ΄ν°λ₯Ό νλ ¨μΈνΈμ ν μ€νΈμΈνΈλ‘ λλλ λ° μ¬μ©λλ€.
- λ³΄ν΅ λ°μ΄ν°λ₯Ό νλ ¨κ³Ό ν μ€νΈ μΈνΈλ‘ λλμ΄ λͺ¨λΈμ μΌλ°ν μ±λ₯μ νκ°νλ€.
train_test_split
from sklearn.model_selection import train_test_split
# μμ λ°μ΄ν° (νΉμ± Xμ νκ² y)
X = # νΉμ± λ°μ΄ν°
y = # νκ² λ°μ΄ν°
# νλ ¨μΈνΈμ ν
μ€νΈμΈνΈ λλκΈ°
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
- test_size: ν μ€νΈ μΈνΈμ λΉμ¨. 0.2λ μ 체 λ°μ΄ν°μ 20%λ₯Ό ν μ€νΈ μΈνΈλ‘ λΆλ¦¬νλ€λ λ»
- random_state: λ°μ΄ν° λΆν μ λλ€ μλλ₯Ό κ³ μ μμΌ, λμΌν λ°μ΄ν° λΆν μ λ°λ³΅μ μΌλ‘ μ¬μ©ν μ μλ€.
λ°μ΄ν° μ μ²λ¦¬: νΉμ±μ μ€μΌμΌ λ§μΆκΈ°
λͺ¨λΈμ΄ μ λλ‘ νμ΅νλ €λ©΄, λ°μ΄ν°μ μ€μΌμΌμ λ§μΆλ κ²μ΄ μ€μνλ€.
νΉν 거리 κΈ°λ° μκ³ λ¦¬μ¦(μ: K-μ΅κ·Όμ μ΄μ, SVM λ±)μμλ νΉμ± κ°μ λ¨μ μ°¨μ΄κ° κ²°κ³Όμ ν° μν₯μ λ―ΈμΉ μ μλ€.
νμ€ν(Standardization)
- νμ€νλ κ° νΉμ±(feature)μ νκ· (mean)μ 0, νμ€νΈμ°¨(std)λ₯Ό 1λ‘ λ³ννλ λ°©λ²μ΄λ€. μ΄λ κ² νλ©΄ λ°μ΄ν°κ° λμΌν μ€μΌμΌλ‘ λ§μΆ°μ Έ, λͺ¨λΈμ΄ λ ν¨κ³Όμ μΌλ‘ νμ΅ν μ μλ€.
νλ ¨μΈνΈμ ν μ€νΈμΈνΈμ λ³ν
- μ€μν μ μ νλ ¨μΈνΈμμ κ³μ°ν νκ· κ³Ό νμ€νΈμ°¨λ₯Ό ν μ€νΈμΈνΈμ μ μ©ν΄μΌ νλ€λ μ μ΄λ€.
- ν μ€νΈ μΈνΈλ νλ ¨ κ³Όμ μμ λͺ¨λΈμκ² λ ΈμΆλλ©΄ μ λλ λ°μ΄ν°μ΄λ€. νλ ¨ μΈνΈμμ νκ· κ³Ό νμ€νΈμ°¨λ₯Ό κ³μ°νκ³ μ΄λ₯Ό ν μ€νΈ μΈνΈμ μ μ©ν¨μΌλ‘μ¨, λͺ¨λΈμ΄ μ€μ λ‘ λ³΄μ§ λͺ»ν λ°μ΄ν°μ λν΄ μμΈ‘μ μ ν μ μλμ§ νκ°νλ€.
νλ ¨μΈνΈμ ν μ€νΈμΈνΈμ λν νμ€ν μ μ©
- μ¬μ΄ν·λ°μμλ StandardScalerλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό νμ€νν μ μλ€.
1. νλ ¨μΈνΈμ ν μ€νΈμΈνΈ λλκΈ°
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# μμ λ°μ΄ν° (νΉμ± Xμ νκ² y)
X = # νΉμ± λ°μ΄ν°
y = # νκ² λ°μ΄ν°
# νλ ¨μΈνΈμ ν
μ€νΈμΈνΈ λλκΈ°
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
2. νλ ¨μΈνΈμ λν΄ μ€μΌμΌ μ‘°μ (νμ€ν)
# StandardScaler κ°μ²΄ μμ±
scaler = StandardScaler()
# νλ ¨μΈνΈμ λν΄μλ§ fit()μ μ¬μ©νμ¬ νκ· κ³Ό νμ€νΈμ°¨ κ³μ°
X_train_scaled = scaler.fit_transform(X_train)
- fit(): νλ ¨ λ°μ΄ν°μμ νκ· κ³Ό νμ€νΈμ°¨λ₯Ό κ³μ°νμ¬, μ΄λ₯Ό μ¬μ©ν΄ λ°μ΄ν°λ₯Ό λ³ννλ€.
- transform(): μ΄λ―Έ κ³μ°λ νκ· κ³Ό νμ€νΈμ°¨λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό λ³ννλ€.
3. ν μ€νΈμΈνΈ λ³ν (νλ ¨μΈνΈμ νκ· κ³Ό νμ€νΈμ°¨ μ¬μ©)
# ν
μ€νΈμΈνΈλ νλ ¨μΈνΈμ νκ· κ³Ό νμ€νΈμ°¨λ‘ λ³ν
X_test_scaled = scaler.transform(X_test)
- ν μ€νΈμΈνΈλ fit()μ μ¬μ©νμ§ μκ³ νλ ¨μΈνΈμμ μ΄λ―Έ κ³μ°λ νκ· κ³Ό νμ€νΈμ°¨λ₯Ό μ¬μ©ν΄ λ³ννλ€.
'π¦ AI&Big Data > ML' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λΉμ§λνμ΅ (0) | 2025.03.05 |
---|---|
κ²°μ νΈλ¦¬ & μμλΈ (1) | 2025.03.05 |
λ‘μ§μ€ν± νκ· (0) | 2025.03.05 |
νκ· (0) | 2025.02.28 |
K μ΅κ·Όμ μ΄μ (0) | 2025.02.27 |