AI/Machine Learning

[ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 3 ์š”์•ฝ

2022. 10. 26. 01:39
๋ชฉ์ฐจ
  1. [3.2] SGDClassifier
  2. [3.3] ์„ฑ๋Šฅ ์ธก์ • ๋ฐฉ๋ฒ•
  3. ๊ต์ฐจ ๊ฒ€์ฆ
  4. ์˜ค์ฐจ ํ–‰๋ ฌ
  5. RandomForestClassifier
  6. [3.4] ๋‹ค์ค‘ ๋ถ„๋ฅ˜
  7. ๋ถ„๋ฅ˜ ์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹  (SVC)
  8. OvO (OneVsOneClassifier), OvR(OneVsRestClassifier)
  9. ์Šค์ผ€์ผ ์กฐ์ •
  10. [3.5] ์—๋Ÿฌ ๋ถ„์„
  11. ์˜ค์ฐจ ํ–‰๋ ฌ ๋ถ„์„
  12. [3.6] ๋‹ค์ค‘ ๋ ˆ์ด๋ธ” ๋ถ„๋ฅ˜
  13. [3.7] ๋‹ค์ค‘ ์ถœ๋ ฅ ๋ถ„๋ฅ˜

๋ณธ ๋‚ด์šฉ์€ ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹2 ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์œผ๋ฉฐ, ์ƒ๋žต๋œ ๋‚ด์šฉ์ด๋‚˜ ์ถ”๊ฐ€๋œ ๋‚ด์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

[3.2] SGDClassifier

ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ์„ ํ˜• ๋ชจ๋ธ์„ ๊ตฌํ˜„

from sklearn.linear_model import SGDClassifier

sgd_clf = SGDClassifier(max_iter=1000, tol=1e-3, random_state=42)
sgd_clf.fit(X_train, y_train)

[Tip]

SGDClassifier๋Š” ํ›ˆ๋ จํ•˜๋Š” ๋ฐ ๋ฌด์ž‘์œ„์„ฑ์„ ์‚ฌ์šฉ. ๋”ฐ๋ผ์„œ ๊ฒฐ๊ณผ๋ฅผ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ random_state ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•ด์•ผํ•จ


[3.3] ์„ฑ๋Šฅ ์ธก์ • ๋ฐฉ๋ฒ•

๊ต์ฐจ ๊ฒ€์ฆ

  • ๊ต์ฐจ ๊ฒ€์ฆ์ด๋ž€ ์‰ฝ๊ฒŒ ๋งํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ๋‚˜๋ˆ„๊ณ  ์—ฌ๋Ÿฌ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค
  • ์‚ฌ์ดํ‚ท๋Ÿฐ์—์„œ๋Š” ๊ต์ฐจ ๊ฒ€์ฆ์„ ๋” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” API์ธ cross_val_score()์„ ์ œ๊ณตํ•œ๋‹ค.
from sklearn.model_selection import cross_val_score
cross_val_score(sgd_clf, X_train, y_train, cv = 3, scoring = "accuracy")
  • cross_val_score(estimator, X, y, scoring=ํ‰๊ฐ€์ง€ํ‘œ, cv=๊ต์ฐจ ๊ฒ€์ฆ ํด๋“œ ์ˆ˜)
  • ์žฅ์ 
    • ๋ชจ๋“  ๋ฐ์ดํ„ฐ์…‹์„ ํ›ˆ๋ จ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
    • ๋ชจ๋“  ๋ฐ์ดํ„ฐ์…‹์„ ํ‰๊ฐ€์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹จ์ 
    • Iteration ํšŸ์ˆ˜๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ธ ํ›ˆ๋ จ/ํ‰๊ฐ€ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.

์˜ค์ฐจ ํ–‰๋ ฌ

  • ๋ถ„๋ฅ˜๊ธฐ์˜ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์€ Confusion Matrix(์˜ค์ฐจ ํ–‰๋ ฌ)๋ฅผ ์กฐ์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค
  • ์˜ˆ๋ฅผ ๋“ค์–ด ์ˆซ์ž 5์˜ ์ด๋ฏธ์ง€๋ฅผ 3์œผ๋กœ ์ž˜๋ชป ๋ถ„๋ฅ˜ํ•œ ํšŸ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ฒƒ์ด๋‹ค.
  • ์˜ค์ฐจ ํ–‰๋ ฌ์„ ๋งŒ๋“ค๋ ค๋ฉด ์šฐ์„  ์‹ค์ œ ํƒ€๊ฒŸ๊ณผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋„๋ก ์˜ˆ์ธก๊ฐ’์„ ๋งŒ๋“ค์–ด์•ผ ํ•จ.
    • cross_val_predict() : k-๊ฒน ๊ต์ฐจ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ํ‰๊ฐ€ ์ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๊ณ  ๊ฐ test fold์—์„œ ์–ป์€ ์˜ˆ์ธก์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
# 5๊ฐ€ ๋งž๋Š”์ง€ ์•„๋‹Œ์ง€ ๋ถ„๋ฅ˜ํ•˜๋Š” ์˜ˆ์‹œ

from sklearn.model_selection import cross_val_predict

y_train_predict = cross_val_predict(sgd_clf, X_train, y_train_5, cv = 3) 

from sklearn.metrics import confusion_matrix

confusion_matrix(y_train, y_train_predict)
  • ์˜ค์ฐจ ํ–‰๋ ฌ์˜ ํ–‰์€ ์‹ค์ œ ํด๋ž˜์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์—ด์€ ์˜ˆ์ธกํ•œ ํด๋ž˜์Šค๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์Œ์„ฑ์–‘์„ฑ

์Œ์„ฑ TN FP
์–‘์„ฑ FN TP

์ฒซ๋ฒˆ์งธ ํ–‰์€ '5 ์•„๋‹˜' ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๊ฒƒ์ด๋‹ค.
TN : 5๊ฐ€ ์•„๋‹Œ ์ด๋ฏธ์ง€๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฅ˜
FP : 5๊ฐ€ ์•„๋‹Œ ์ด๋ฏธ์ง€๋ฅผ 5๋ผ๊ณ  ์ž˜๋ชป ๋ถ„๋ฅ˜

๋‘๋ฒˆ์งธ ํ–‰์€ '5' ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๊ฒƒ์ด๋‹ค
FN : 5์ธ ์ด๋ฏธ์ง€๋ฅผ 5๊ฐ€ ์•„๋‹Œ ์ด๋ฏธ์ง€๋ผ๊ณ  ์ž˜๋ชป ๋ถ„๋ฅ˜
TP : 5์ธ ์ด๋ฏธ์ง€๋ฅผ 5๋ผ๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฅ˜

  • Precision : TP / (TP + FP) / ์‹ค์ œ True, ์˜ˆ์ธก True
  • Recall : TP / (TP + FN) / ์‹ค์ œ False, ์˜ˆ์ธก True
from sklearn.metrics import precision_socre, recall_score
precision_score(y_train_5, y_train_predict)
recall_score(y_train_5, y_train_predict)
  • F1-score : 2TP / (2TP + FN + FP) / Precision๊ณผ Recall์˜ ์กฐํ™” ํ‰๊ท 
from sklearn.metrics import f1_score
f1_score(y_train_5, y_train_predict)

ROC ์ปค๋ธŒ ๊ณก์„ 

  • ๊ฑฐ์ง“์–‘์„ฑ๋น„์œจ(FPR)์— ๋Œ€ํ•œ ์ง„์งœ์–‘์„ฑ๋น„์œจ(TPR)์˜ ๊ณก์„ 
    • FPR : ์–‘์„ฑ์œผ๋กœ ์ž˜๋ชป ๋ถ„๋ฅ˜๋œ ์Œ์„ฑ ์ƒ˜ํ”Œ์˜ ๋น„์œจ
  • ๋ฏผ๊ฐ๋„(์žฌํ˜„์œจ)์— ๋Œ€ํ•œ 1-ํŠน์ด๋„ ๊ทธ๋ž˜ํ”„
from sklearn.metrics import roc_auc_score
y_scores = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3,
                            method="decision_function") 
roc_auc_score(y_train_5, y_scores)

RandomForestClassifier

  • ๋ฐฐ๊น…(bagging) : ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋ฐฐ๊น…์˜ ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋žœ๋คํฌ๋ ˆ์ŠคํŠธ์ด๋‹ค.
  • ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋Š” ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.
  • ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๋ฐฐ๊น…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ˜ํ”Œ๋ง ํ•˜์—ฌ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•œ ํ›„์— ์ตœ์ข…์ ์œผ๋กœ ๋ณดํŒ…์„ ํ†ตํ•ด ์˜ˆ์ธก ๊ฒฐ์ •์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_predict

forest_clf = RandomForestClassifier(random_state = 42)
y_prod_forest = cross_val_predict(forest_clf, X_train, y_train_5, cv = 3, method = "predict_proba" )

[3.4] ๋‹ค์ค‘ ๋ถ„๋ฅ˜

  • ๋‘˜ ์ด์ƒ์˜ ํด๋ž˜์Šค๋ฅผ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค
  • SGDClassifier, RandomForest์™€ ๊ฐ™์€ ์ผ๋ถ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด, Logistic, SVM ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด์ง„ ๋ถ„๋ฅ˜๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค
  • ์ด์ง„ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•ด ๋‹ค์ค‘ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ธฐ๋ฒ•๋„ ์กด์žฌํ•œ๋‹ค. ex) ํŠน์ • ์ˆซ์ž ํ•˜๋‚˜๋งŒ ๊ตฌ๋ถ„ํ•˜๋Š” ์ˆซ์ž๋ณ„ ์ด์ง„ ๋ถ„๋ฅ˜๊ธฐ 10๊ฐœ
  • ํด๋ž˜์Šค๊ฐ€ N๊ฐœ๋ผ๋ฉด ๋ถ„๋ฅ˜๊ธฐ๋Š” N(N-1)/2 ๊ฐœ ํ•„์š”ํ•˜๋‹ค

๋ถ„๋ฅ˜ ์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹  (SVC)

from sklearn.svm import SVC
svm_clf = SVC()
svm_clf.fit(X_train, y_train)
svc_clf.predict([some_digit]) #some_digit๋Š” ์ˆซ์ž 5์ธ MNIST ๋ฐ์ดํ„ฐ
  • ์œ„ ์ฝ”๋“œ๋Š” ํƒ€๊ฒŸ ํด๋ž˜์Šค(y_train_5) ๋Œ€์‹  0~9๊นŒ์ง€ ์›๋ž˜ ํƒ€๊ฒŸ ํด๋ž˜์Šค(y_train)์„ ์‚ฌ์šฉํ•ด SVC๋ฅผ ํ›ˆ๋ จ์‹œ์ผฐ๋‹ค.
some_digit_scores = svm_clf.decision_function([some_digit])
  • ์œ„ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํด๋ž˜์Šค๋งˆ๋‹ค ํ•ด๋‹นํ•˜๋Š” Score๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

OvO (OneVsOneClassifier), OvR(OneVsRestClassifier)

  • ์‚ฌ์ดํ‚ท๋Ÿฐ์—์„œ OvO, OvR๋ฅผ ๊ฐ•์ œํ•˜๋ ค๋ฉด OneVsOneClassifier, OneVsRestClassifier๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • OvO๋Š” 1๋Œ€1 ์ด์ง„ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  • OvR์€ ํ•˜๋‚˜ ๋Œ€ ๋‚˜๋จธ์ง€๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. One-versus-All(OvA)๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค
    • ๊ฐ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ ์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ๋†’์€ ๊ฐ’์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค
from sklearn.multiclass import OneVsRestClassifier
ovr_clf = OneVsRestClassifier(SVC())
ovr_clf.fit(X_train, y_train)

์Šค์ผ€์ผ ์กฐ์ •

  • ์ž…๋ ฅ ์Šค์ผ€์ผ ์กฐ์ •์„ ํ†ตํ•ด ์ •ํ™•๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train.astype(np.float64)) #์Šค์ผ€์ผ๋Ÿฌ๋ฅผ ํ†ตํ•ด float ํ˜•์‹์˜ ๊ฐ’์ด ์ƒ๊ธฐ๋ฏ€๋กœ float๋กœ ์ „ํ™˜ํ•ด์ค„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค

[3.5] ์—๋Ÿฌ ๋ถ„์„

์˜ค์ฐจ ํ–‰๋ ฌ ๋ถ„์„

  • cross_val_predict() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์˜ˆ์ธก์„ ๋งŒ๋“ค๊ณ  ์ด์ „์ฒ˜๋Ÿผ confusion_matrix๋ฅผ ์ƒ์„ฑํ•ด๋‚ธ๋‹ค
y_train_pred = cross_val_predict(sgd_clf, X_train_scaled, y_train, cv = 3)
conf_mx = confusion_matrix(y_train, y_train_pred)
print(conf_mx)

plt.matshow(conf_mx, cmap = plt.cm.gray)
plt.show()
  • ์˜ค์ฐจ ํ–‰๋ ฌ์„ ํ†ตํ•ด ์–ด๋–ค ํด๋ž˜์Šค๊ฐ€ ๋ถ„๋ฅ˜๊ฐ€ ์ž˜ ์•ˆ๋˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ๋ถ„๋ฅ˜๊ธฐ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๋ฐฉ์•ˆ์— ๋Œ€ํ•œ ํ†ต์ฐฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ฑ๋Šฅ์ด ๋‚˜์˜ค์ง€ ์•Š๋Š” ํด๋ž˜์Šค์— ๋Œ€ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋” ํ™•๋ณดํ•˜์—ฌ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ๋˜ํ•œ ๋” ์ ํ•ฉํ•œ ๋ชจ๋ธ์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค
    • ์œ„ ์ฝ”๋“œ์—์„œ MNIST์— ๋Œ€ํ•œ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜๊ธฐ๋กœ SGDClassifier๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ์„ ํ˜• ๋ถ„๋ฅ˜๊ธฐ๋Š” ํ”ฝ์…€์— ๊ฐ€์ค‘์น˜๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ๋‹จ์ˆœํžˆ ํ”ฝ์…€ ๊ฐ•๋„์˜ ๊ฐ€์ค‘์น˜ ํ•ฉ์„ ํด๋ž˜์Šค์˜ ์ ์ˆ˜๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ๋”ฐ๋ผ์„œ 3๊ณผ 5๋Š” ๋ช‡ ๊ฐœ์˜ ํ”ฝ์…€๋งŒ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ธ์ด ์‰ฝ๊ฒŒ ํ˜ผ๋™ํ•œ๋‹ค

[3.6] ๋‹ค์ค‘ ๋ ˆ์ด๋ธ” ๋ถ„๋ฅ˜

  • ์ง€๊ธˆ๊นŒ์ง€๋Š” ๊ฐ ์ƒ˜ํ”Œ์ด ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์—๋งŒ ํ• ๋‹น๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ„๋ฅ˜๊ธฐ๋งˆ๋‹ค ์—ฌ๋Ÿฌ๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ ์ถœ๋ ฅํ•ด์•ผ ํ•  ๋•Œ๋„ ์žˆ๋‹ค.
    • ex) ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฌ๋ช… ํฌํ•จ๋œ ์ด๋ฏธ์ง€
#๋‘ ๊ฐœ์˜ ํƒ€๊ฒŸ ๋ ˆ์ด๋ธ”์ด ํฌํ•จ๋œ y_multilabel ํ•™์Šต
from sklearn.neighbors import KNeighborsClassifier
y_train_large = (y_train >= 7)
y_train_odd = (y_train % 2 == 1)
y_multilabel = np.c_[y_train_large, y_train_odd]

knn_clf = KNeighborsClassifier()
knn_clf.fit(X_train, y_multilabel)

[3.7] ๋‹ค์ค‘ ์ถœ๋ ฅ ๋ถ„๋ฅ˜

  • ๋‹ค์ค‘ ๋ ˆ์ด๋ธ” ๋ถ„๋ฅ˜์—์„œ ํ•œ ๋ ˆ์ด๋ธ”์— ๋Œ€ํ•œ ์ถœ๋ ฅ ๊ฐ’์ด ๋‹ค์ค‘ ํด๋ž˜์Šค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ์ผ๋ฐ˜ํ™” ํ•œ ๊ฒƒ์ด๋‹ค
    • ex ) MNIST์—์„œ ํ”ฝ์…€์˜ ๊ฐ•๋„๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด๋กœ ์ถœ๋ ฅ์„ ํ•œ๋‹ค. ๋ถ„๋ฅ˜๊ธฐ์˜ ์ถœ๋ ฅ์ด ๋‹ค์ค‘ ๋ ˆ์ด๋ธ”(ํ”ฝ์…€ ๋‹น ํ•œ ๋ ˆ์ด๋ธ”)์ด๊ณ  ๊ฐ ๋ ˆ์ด๋ธ”์˜ ๊ฐ’์€ ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ€์ง„๋‹ค(0~255๊นŒ์ง€์˜ ํ”ฝ์…€ ๊ฐ•๋„).
noise = np.random.randint(0, 100, (len(X_train), 784)) #len(X_train) x 784 ํ–‰๋ ฌ์—์„œ 0~100 ๋žœ๋ค ์ˆ˜ ์ƒ์„ฑ / 784 = 28x28(์ด๋ฏธ์ง€ ํฌ๊ธฐ)
X_train_mod = X_train + noise #shape 60000, 784
noise = np.random.randint(0, 100, (len(X_test), 784))
X_test_mod = X_test + noise

y_train_mod = X_train
y_test_mod = X_test

some_index = 0  # 0๋ฒˆ ์ธ๋ฑ์Šค 

plt.subplot(121); plot_digit(X_test_mod[some_index])  # ์žก์Œ ์ถ”๊ฐ€๋œ ์ด๋ฏธ์ง€
plt.subplot(122); plot_digit(y_test_mod[some_index])  # ์›๋ณธ ์ด๋ฏธ์ง€

plt.show()

'AI > Machine Learning' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 10 ์š”์•ฝ  (0) 2022.12.08
[ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 8 ์š”์•ฝ  (0) 2022.12.03
[ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 5 ์š”์•ฝ  (0) 2022.11.29
[ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 4 ์š”์•ฝ  (1) 2022.10.27
[ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 3์žฅ ์—ฐ์Šต๋ฌธ์ œ ํ’€์ด  (0) 2022.10.23
  1. [3.2] SGDClassifier
  2. [3.3] ์„ฑ๋Šฅ ์ธก์ • ๋ฐฉ๋ฒ•
  3. ๊ต์ฐจ ๊ฒ€์ฆ
  4. ์˜ค์ฐจ ํ–‰๋ ฌ
  5. RandomForestClassifier
  6. [3.4] ๋‹ค์ค‘ ๋ถ„๋ฅ˜
  7. ๋ถ„๋ฅ˜ ์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹  (SVC)
  8. OvO (OneVsOneClassifier), OvR(OneVsRestClassifier)
  9. ์Šค์ผ€์ผ ์กฐ์ •
  10. [3.5] ์—๋Ÿฌ ๋ถ„์„
  11. ์˜ค์ฐจ ํ–‰๋ ฌ ๋ถ„์„
  12. [3.6] ๋‹ค์ค‘ ๋ ˆ์ด๋ธ” ๋ถ„๋ฅ˜
  13. [3.7] ๋‹ค์ค‘ ์ถœ๋ ฅ ๋ถ„๋ฅ˜
'AI/Machine Learning' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 8 ์š”์•ฝ
  • [ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 5 ์š”์•ฝ
  • [ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 4 ์š”์•ฝ
  • [ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 3์žฅ ์—ฐ์Šต๋ฌธ์ œ ํ’€์ด
velpegor
velpegor
velpegor
๐Ÿ’ป
velpegor
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ALL (19)
    • Paper Review (11)
    • Book Review (0)
    • Projects (1)
    • AI (6)
      • Deep Learning (0)
      • Machine Learning (6)
    • Algorithm (0)
      • BOJ (0)
    • Backend (1)
      • Python (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • resnet
  • ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹
  • ๋”ฅ๋Ÿฌ๋‹
  • ์„œํฌํŠธ๋ฒกํ„ฐ๋จธ์‹ 
  • Transformer
  • token
  • batch normalization
  • VGGNet
  • ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ
  • GAN
  • ์ฑ… ๋ฆฌ๋ทฐ
  • FastAPI
  • VGG
  • vision transformer
  • Token Pruning
  • ํ•ด์ปคํ†ค
  • AI-hub
  • Xavier Initialization
  • ํ•ธ์ฆˆ์˜จ๋จธ์‹ ๋Ÿฌ๋‹2
  • AI ๊ณต๋ชจ์ „
  • ์ฐจ์›์˜์ €์ฃผ
  • ํ•ธ์ฆˆ์˜จ๋จธ์‹ ๋Ÿฌ๋‹
  • YOLO
  • Swin
  • ์ฑ…๋ฆฌ๋ทฐ
  • ๋…ผ๋ฌธ๋ฆฌ๋ทฐ
  • ๋จธ์‹ ๋Ÿฌ๋‹
  • pruning
  • ICLR
  • ViT

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
velpegor
[ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ] Chapter 3 ์š”์•ฝ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.