μΉ΄ν…Œκ³ λ¦¬ 보관물: stats

stats

νšŒκ·€λ₯Ό 톡해 λΆ„λ₯˜μ— μ ‘κ·Όν•˜μ§€ μ•ŠλŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? λ¬Έμ œμ— μ ‘κ·Όν•˜λŠ” 것이 쒋지 μ•Šλ‹€κ³  λ§ν–ˆμŠ΅λ‹ˆλ‹€.

기계 ν•™μŠ΅μ—μ„œ λ³Έ 일뢀 μžλ£ŒλŠ” νšŒκ·€λ₯Ό 톡해 λΆ„λ₯˜ λ¬Έμ œμ— μ ‘κ·Όν•˜λŠ” 것이 쒋지 μ•Šλ‹€κ³  λ§ν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 데이터λ₯Ό λ§žμΆ”κΈ° μœ„ν•΄ 연속 νšŒκ·€ 뢄석을 μˆ˜ν–‰ν•˜κ³  연속 μ˜ˆμΈ‘μ„ 잘라 λΆˆμ—°μ† λΆ„λ₯˜λ₯Ό μƒμ„±ν•˜λŠ” 것이 항상 κ°€λŠ₯ν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μ™œ λ‚˜μœ μƒκ°μž…λ‹ˆκΉŒ?



λ‹΅λ³€

β€œνšŒκ·€β€λ₯Ό ν†΅ν•œ ” .. μ ‘κ·Ό λΆ„λ₯˜ λ¬Έμ œβ€ . β€œνšŒκ·€β€μ˜ 의미 μ„ ν˜• νšŒκ·€λ₯Ό μ˜λ―Έν•œλ‹€κ³  κ°€μ •ν•˜κ³ μ΄ 방법을 λ‘œμ§€μŠ€ν‹± νšŒκ·€ λͺ¨λΈμ„ 적합 ν™”ν•˜λŠ” β€œλΆ„λ₯˜β€λ°©μ‹κ³Ό λΉ„κ΅ν•©λ‹ˆλ‹€.

이λ₯Ό μˆ˜ν–‰ν•˜κΈ° 전에 νšŒκ·€ λͺ¨λΈκ³Ό λΆ„λ₯˜ λͺ¨λΈμ˜ 차이점을 λͺ…ν™•νžˆν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. νšŒκ·€ λͺ¨λΈμ€ κ°•μš°λŸ‰ λ˜λŠ” ν–‡λΉ› 강도와 같은 연속 λ³€μˆ˜λ₯Ό μ˜ˆμΈ‘ν•©λ‹ˆλ‹€. λ˜ν•œ 이미지에 고양이가 포함될 ν™•λ₯ κ³Ό 같은 ν™•λ₯ μ„ μ˜ˆμΈ‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν™•λ₯  예츑 νšŒκ·€ λͺ¨λΈμ€ κ²°μ • κ·œμΉ™μ„ μ μš©ν•˜μ—¬ λΆ„λ₯˜κΈ°μ˜ μΌλΆ€λ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ ν™•λ₯ μ΄ 50 % 이상인 경우 고양이인지 κ²°μ •ν•˜μ‹­μ‹œμ˜€.

λ‘œμ§€μŠ€ν‹± νšŒκ·€ 뢄석은 ν™•λ₯ μ„ μ˜ˆμΈ‘ν•˜λ―€λ‘œ νšŒκ·€ μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜, 이것은 일반적으둜 기계 ν•™μŠ΅ λ¬Έν—Œμ—μ„œ λΆ„λ₯˜ λ°©λ²•μœΌλ‘œ μ„€λͺ…λ˜λŠ”λ°, λΆ„λ₯˜κΈ°λ₯Ό λ§Œλ“œλŠ” 데 μ‚¬μš©λ  수 있고 μ’…μ’… μ‚¬μš©λ˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. κ²°κ³Ό 만 μ˜ˆμΈ‘ν•˜κ³  ν™•λ₯ μ„ μ œκ³΅ν•˜μ§€ μ•ŠλŠ” SVMκ³Ό 같은 β€œμ§„μ •ν•œβ€λΆ„λ₯˜ μ•Œκ³ λ¦¬μ¦˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” 이런 μ’…λ₯˜μ˜ μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄ λ…Όμ˜ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

λΆ„λ₯˜ λ¬Έμ œμ— λŒ€ν•œ μ„ ν˜• λŒ€ λ‘œμ§€μŠ€ν‹± νšŒκ·€

Andrew Ngκ°€ μ„€λͺ… ν•˜λ“― 이 μ„ ν˜• νšŒκ·€λ₯Ό μ‚¬μš©ν•˜λ©΄ 데이터λ₯Ό 톡해 닀항식을 λ§žμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μ•„λž˜ μ˜ˆμ™€ 같이 {tumor size, tumor type} μƒ˜ν”Œ μ„ΈνŠΈλ₯Ό 톡해 직선을 맞 μΆ₯λ‹ˆ λ‹€ .

μœ„μ˜ μ•…μ„± 쒅양은 을 μ–»μ—ˆκ³  λΉ„ μ•…μ„± 쒅양은 μ–»μ—ˆκ³  녹색 선은 우리의 κ°€μ„€ μž…λ‹ˆλ‹€. μ˜ˆμΈ‘ν•˜κΈ° μœ„ν•΄ 주어진 μ’…μ–‘ 크기 에 λŒ€ν•΄ κ°€ 보닀 컀지면 μ•…μ„± 쒅양을 μ˜ˆμΈ‘ν•˜κ³  그렇지 μ•ŠμœΌλ©΄ 양성을 μ˜ˆμΈ‘ν•œλ‹€κ³  말할 수 μžˆμŠ΅λ‹ˆλ‹€.

1

0

h(x)

x

h(x)

0.5

이런 μ‹μœΌλ‘œ λͺ¨λ“  단일 νŠΈλ ˆμ΄λ‹ μ„ΈνŠΈ μƒ˜ν”Œμ„ μ •ν™•ν•˜κ²Œ μ˜ˆμΈ‘ν•  수 μžˆμ§€λ§Œ 이제 μž‘μ—…μ„ 쑰금 λ³€κ²½ν•˜κ² μŠ΅λ‹ˆλ‹€.

μ§κ΄€μ μœΌλ‘œ νŠΉμ • μž„κ³„ 값보닀 큰 λͺ¨λ“  쒅양이 μ•…μ„±μž„μ„ λΆ„λͺ…νžˆ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. μ’…μ–‘ 크기가 큰 λ‹€λ₯Έ μƒ˜ν”Œμ„ μΆ”κ°€ν•˜κ³  μ„ ν˜• νšŒκ·€ 뢄석을 λ‹€μ‹œ μ‹€ν–‰ ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

이제 우리의 이 더 이상 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ˜¬λ°”λ₯Έ μ˜ˆμΈ‘μ„ κ³„μ†ν•˜λ €λ©΄ λ˜λŠ” λ‹€λ₯Έ κ²ƒμœΌλ‘œ λ³€κ²½ν•΄μ•Ό ν•˜μ§€λ§Œ μ•Œκ³ λ¦¬μ¦˜μ˜ μž‘λ™ 방식은 μ•„λ‹™λ‹ˆλ‹€.

h(x)>0.5β†’malignant

h(x)>0.2

μƒˆ μƒ˜ν”Œμ΄ 도착할 λ•Œλ§ˆλ‹€ 가섀을 λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€. λŒ€μ‹  ν›ˆλ ¨ μ„ΈνŠΈ 데이터λ₯Ό 톡해 ν•™μŠ΅ ν•œ λ‹€μŒ (μš°λ¦¬κ°€ 배운 가섀을 μ‚¬μš©ν•˜μ—¬) μ΄μ „μ—λŠ” 보지 λͺ»ν•œ 데이터λ₯Ό μ •ν™•ν•˜κ²Œ μ˜ˆμΈ‘ν•΄μ•Όν•©λ‹ˆλ‹€.

이것이 μ„ ν˜• νšŒκ·€κ°€ λΆ„λ₯˜ λ¬Έμ œμ— κ°€μž₯ μ ν•©ν•˜μ§€ μ•Šμ€ 이유λ₯Ό μ„€λͺ…ν•˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. λ˜ν•œ VI λ₯Όλ³΄κ³  싢을 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€ . λ‘œμ§€μŠ€ν‹± νšŒκ·€. 아이디어λ₯Ό 더 μžμ„Ένžˆ μ„€λͺ…ν•˜λŠ” ml-class.org의 λΆ„λ₯˜ λΉ„λ””μ˜€ .


νŽΈμ§‘ν•˜λ‹€

chanceislogic 은 쒋은 λΆ„λ₯˜μžκ°€ 무엇을 ν•  것인지 λ¬Όμ—ˆμŠ΅λ‹ˆλ‹€. 이 νŠΉμ • μ˜ˆμ—μ„œλŠ” μ•„λ§ˆλ„ λ‘œμ§€μŠ€ν‹± νšŒκ·€λ₯Ό μ‚¬μš©ν•˜μ—¬ λ‹€μŒκ³Ό 같은 가섀을 배울 수 μžˆμŠ΅λ‹ˆλ‹€ (단지 μž‘μ„± μ€‘μž…λ‹ˆλ‹€).

λͺ¨λ‘ μ°Έκ³  μ„ ν˜• νšŒκ·€ 와 λ‘œμ§€μŠ€ν‹± νšŒκ·€λŠ” λ‹Ήμ‹ μ—κ²Œ 직선 (λ˜λŠ” κ³ μ°¨ 닀항식)을 μ œκ³΅ν•˜μ§€λ§Œ, κ·Έ 선은 λ‹€λ₯Έ 의미λ₯Ό 가지고 :


  • h(x)

    μ„ ν˜• νšŒκ·€μ— λŒ€ν•œ λŠ” 좜λ ₯을 λ³΄κ°„ν•˜κ±°λ‚˜ μ™Έμ‚½ν•˜μ—¬ 보지 λͺ»ν•œ 의 값을 μ˜ˆμΈ‘ν•©λ‹ˆλ‹€ . 그것은 λ‹¨μˆœνžˆ μƒˆλ‘œμš΄ 꽂고 숫자λ₯Ό μ–»λŠ” 것과 κ°™μœΌλ©° {car size, car age} 등에 κΈ°μ΄ˆν•œ μžλ™μ°¨ 가격과 같은 예츑과 같은 μž‘μ—…μ— 더 μ ν•©ν•©λ‹ˆλ‹€ . x

    x


  • h(x)

    λ‘œμ§€μŠ€ν‹± νšŒκ·€ λΆ„μ„μ˜ λŠ” κ°€ β€œpositiveβ€ν΄λž˜μŠ€μ— 속할 ν™•λ₯  을 μ•Œλ €μ€λ‹ˆλ‹€ . 이것이 νšŒκ·€ μ•Œκ³ λ¦¬μ¦˜μ΄λΌκ³  λΆˆλ¦¬λŠ” μ΄μœ μž…λ‹ˆλ‹€. 연속적인 μ–‘, ν™•λ₯ μ„ μΆ”μ •ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ ν™•λ₯ μ— μž„κ³„ 값을 μ„€μ •ν•˜λ©΄ 예 : λΆ„λ₯˜κΈ°λ₯Ό 얻을 수 있으며 λŒ€λΆ€λΆ„μ˜ 경우 λ‘œμ§€μŠ€ν‹± νšŒκ·€ λͺ¨λΈμ˜ 좜λ ₯으둜 μˆ˜ν–‰λ©λ‹ˆλ‹€. 이것은 쀄거리에 선을 λ‘λŠ” 것과 κ°™μŠ΅λ‹ˆλ‹€. λΆ„λ₯˜ μ„  μœ„μ—μžˆλŠ” λͺ¨λ“  점은 ν•œ ν΄λž˜μŠ€μ— μ†ν•˜κ³  μ•„λž˜ 점은 λ‹€λ₯Έ ν΄λž˜μŠ€μ— μ†ν•©λ‹ˆλ‹€. x

    h(x)>0.5

κ·Έλž˜μ„œ, 결둠은 λΆ„λ₯˜ μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€ μ™„μ „νžˆ λ‹€λ₯Έ μΆ”λ‘ κ³Ό μ™„μ „νžˆ λ‹€λ₯Έ νšŒκ·€ μ‹œλ‚˜λ¦¬μ˜€μ— λΉ„ν•΄ μ•Œκ³ λ¦¬μ¦˜μ„.


λ‹΅λ³€

λΆ„λ₯˜κ°€ μ‹€μ œλ‘œ ꢁ극적 인 λͺ©ν‘œ 인 예λ₯Ό 생각할 수 μ—†μŠ΅λ‹ˆλ‹€. 거의 항상 μ‹€μ œ λͺ©ν‘œλŠ” ν™•λ₯ κ³Ό 같은 μ •ν™•ν•œ μ˜ˆμΈ‘μ„ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έ μ •μ‹ μ—μ„œ (λ¬Όλ₯˜) νšŒκ·€λŠ” λ‹Ήμ‹ μ˜ μΉœκ΅¬μž…λ‹ˆλ‹€.


λ‹΅λ³€

μ™œ 증거λ₯Ό 보지 μ•Šκ² μŠ΅λ‹ˆκΉŒ? λ§Žμ€ μ‚¬λžŒλ“€μ΄ μ„ ν˜• νšŒκ·€κ°€ λΆ„λ₯˜μ— 적합 ν•˜μ§€ μ•Šλ‹€κ³  μ£Όμž₯ν•˜μ§€λ§Œ μ—¬μ „νžˆ νš¨κ³Όκ°€μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 직관을 μ–»κΈ° μœ„ν•΄ scikit-learn의 λΆ„λ₯˜ 자 비ꡐ에 μ„ ν˜• νšŒκ·€ (λΆ„λ₯˜κΈ°λ‘œ μ‚¬μš©)λ₯Ό 포함 μ‹œμΌ°μŠ΅λ‹ˆλ‹€ . λ‹€μŒκ³Ό 같은 일이 λ°œμƒν•©λ‹ˆλ‹€.

μ˜μ‚¬ κ²°μ • κ²½κ³„λŠ” λ‹€λ₯Έ λΆ„λ₯˜ μžλ³΄λ‹€ 쒁지 만 μ •ν™•λ„λŠ” λ™μΌν•©λ‹ˆλ‹€. μ„ ν˜• 지원 벑터 λΆ„λ₯˜κΈ°μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ νšŒκ·€ λͺ¨λΈμ€ 피쳐 κ³΅κ°„μ—μ„œ 클래슀λ₯Ό λΆ„λ¦¬ν•˜λŠ” ν•˜μ΄νΌ ν”Œλ ˆμΈμ„ μ œκ³΅ν•©λ‹ˆλ‹€.

λ³΄μ‹œλ‹€μ‹œν”Ό, λΆ„λ₯˜ 자둜 μ„ ν˜• νšŒκ·€λ₯Ό μ‚¬μš©ν•˜λ©΄ νš¨κ³Όκ°€ μžˆμ§€λ§Œ 항상 μ˜ˆμΈ‘μ„ ꡐ차 κ²€μ¦ν•©λ‹ˆλ‹€.

λ ˆμ½”λ“œμ˜ 경우 λΆ„λ₯˜κΈ° μ½”λ“œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

class LinearRegressionClassifier():

def __init__(self):
    self.reg = LinearRegression()

def fit(self, X, y):
    self.reg.fit(X, y)

def predict(self, X):
    return np.clip(self.reg.predict(X),0,1)

def decision_function(self, X):
    return np.clip(self.reg.predict(X),0,1)

def score(self, X, y):
    return accuracy_score(y,np.round(self.predict(X)))

λ‹΅λ³€

λ˜ν•œ 이변 λŸ‰ λΆ„λ₯˜λ₯Ό λ„˜μ–΄μ„  λΆ„λ₯˜ μž‘μ—…μ— λŒ€ν•΄ 이미 쒋은 닡변을 ν™•μž₯ν•˜λ €λ©΄ νšŒκ·€λ₯Ό μ‚¬μš©ν•˜μ—¬ 클래슀 사이에 거리와 μˆœμ„œλ₯Ό λΆ€κ³Όν•΄μ•Όν•©λ‹ˆλ‹€. 즉, μš°λ¦¬λŠ” 단지 클래슀의 라벨을 μ…”ν”Œ λ˜λŠ” ν• λ‹Ή 된 숫자 κ°’μ˜ 규λͺ¨λ₯Ό λ³€κ²½ν•˜μ—¬ λ‹€λ₯Έ κ²°κ³Όλ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€ (예λ₯Ό λ“€μ–΄ 클래슀 ν‘œμ‹œ λ“± λŒ€ ) λΆ„λ₯˜ 문제의 λͺ©μ μ„ λ¬΄νš¨ν™”ν•©λ‹ˆλ‹€.

1,10,100,...

1,2,3,...

λ‹΅λ³€