일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- datatype
- quicksort
- Kotlin
- JavaScript
- zgc
- g1gc
- redis
- For
- jvm
- ansible
- C++
- Algorithm
- IAC
- Java
- Spring Security
- 자료형
- 기초
- JPA
- lambda
- If
- Class
- UserDetails
- SpringBoot Initializr
- MergeSort
- programmers
- 연산자
- datastructure
- While
- Sprint Security
- Fluent-bit
- Today
- Total
뭐라도 끄적이는 BLOG
Lec 05 Logistic (regression) classification cost function & gradient decent 본문
Lec 05 Logistic (regression) classification cost function & gradient decent
Drawhale 2021. 4. 25. 05:33Binary Classification
- Spam Detection → Spam or Ham
- Facebook feed : show or hide
- Credit Card Fraudulent Transaction detection : legitimate or fraud
Classification에서 가장 기본적인 것은 Binary Classification입니다. 이것은 분류를 2가지 항목으로만 분류하는 것을 말합니다. 이것은 Logistic Regression 또는 Logistic Classification이라고 부르기도 합니다. 대표적인 예로 스팸메일인지 아닌지 구분하는것, 주가가 오를지 내릴지 구분하는 것, 시험에 통과할지 떨어질지 구분하는 것을 모두 Logistic Regression이라고 할 수 있습니다.
Logistic Regression의 결과 값은 0과 1로 설정하게 됩니다. 이것은 학습의 결과로 분류를 해야하는데 이 결과 값이 수치로 나오기 때문입니다.
Logistic Regression의 문제
합격과 불합격의 공부 시간으로 나누면 Linear로 가능할 것이라고 생각 할 수 있습니다. 하지만 예외적으로 매우 오랜 시간 공부한 학생이 합격했다고 하면 선의 기울기가 더욱 기울어 지게 됩니다. 그래서 합격을 한 데이터를 모델에서 불합격이라고 처리해 버릴수가 있습니다.
그리고 Hypothesis 가 0보다 작거나 1보다 큰수가 나올 수 있습니다.
Logistic Regression의 결과는 0과 1사이의 값이 이상적입니다. 하지만 위의 Hypothesis를 적용하면 1보다 매우 크거나 0보다 작은 값이 나올 수 있습니다. 그러므로 우리는 Logistic Hypothesis라는 것을 사용하게 됩니다. 이 공식은 Regression에서 사용한 가설 Wx + b를 z변수로 설정하고 이 z변수를 이용하여 0~1사이의 값만 출력할 수 있게 만들어 줍니다.
Logistic Hypothesis
이 공식은 Logistic Function 또는 Sigmoid Function 이라고 부릅니다. 이함수는 S자 곡선을 그리며 z값이 커지면 결과값은 1대 근접하고, 작아지면 0에 근접하는 형태인것을 볼 수 있습니다.
Cost Function(비용함수)
Cost Function은 대입하는데 사용되는 Hypothesis에 의해서 그래프의 모양이 결정됩니다.
자연상수 e 때문에 Logistic Regression의 Hypothesis를 대입하게 되면 울퉁불퉁한 그래프가 나오게 됩니다. 이러한 형태의 그래프에서 학습을 하게되면 Minimization이 되는 지점을 잘못 찾을 수 있습니다.
이렇기 때문에 Logistic Regression에서는 새로운 Cost Function이 필요합니다. 위에서 자연상수 e 때문에 울퉁불퉁한 그래프가 나오게 되는것을 확인 하였습니다. 이러한 자연상수 e를 없애기 위해서는 로그를 사용하는 것이 효과적입니다. 그렇기 때문에Logistic Regression에서의 Cost Function은 로그 함수를 추가적으로 사용하는 형태가 됩니다.
New cost function for logistic
해당 공식에서 중요한 것은 Logistic Regression의 결과 값은 0과 1 두가지 이기 때문에 각각의 경우에 맞는 공식이 있어야 한다는 점 입니다. 따라서 추가적으로 로그를 사용한 공식은 위와 같은 형태입니다.
파란색 선이 y가 1일때의 그래프를 나타내며 빨간색 선은 y가 0일 때의 그래프를 나타낸 것입니다. 이 공식을 2개로 나누지 않고 1개의 통합된 수식으로 정리하면
로 표현이 가능하고 결국 모든 x의 지점들에서 경과 평균을 구하는
위 수식이 새로운 Cost Function이 됩니다.
Logistic Regression에서의 Gradient Descent Algorithm
Logistic Regression에서의 Gradient Descent Algorithm의 공식은 변함이 없습니다.
단지 공식에서 사용되는 Cost Function이 새로운 형태라는 것만 유의하면 됩니다.
'AI > 모두를 위한 머신러닝' 카테고리의 다른 글
Lec 07 ML의 실용과 팁 (0) | 2021.05.02 |
---|---|
Lec 06 Softmax Regresion(Multinomial Logistic Regression) (0) | 2021.05.02 |
Lec 04 Multivariable linear regression (0) | 2021.04.25 |
Lec 03 How to minimize cost (0) | 2021.04.25 |
Lec 02 Linear Regression (0) | 2021.04.25 |