300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- nlp
- kick start
- dp
- BFS
- 프로그래머스
- 백준
- 코딩테스트
- 구글 킥스타트
- 파이썬
- google coding competition
- 동적 프로그래밍
- 운영체제
- 코딩
- CSS
- 순열
- DFS
- 그래프
- OS
- PYTHON
- 킥스타트
- 리눅스
- 브루트포스
- 동적프로그래밍
- 코딩 테스트
- 프로그래밍
- 네트워크
- AI
- linux
- 딥러닝
- 알고리즘
Archives
- Today
- Total
오뚝이개발자
ML Task별 output 양상과 activation function(활성화 함수) 본문
728x90
300x250
ML로 해결하려는 task에서 기본적인 것은 분류, 회귀이다. 대부분의 task들은 사실 이 둘의 컴포넌트로 구분이 가능하다.(object detection과 같이 분류와 회귀가 섞인 task들도 있다.) 분류의 경우 이진분류(binary classification), 다중분류(multi-class classification)으로 나눌 수 있다. 그럼 각각에서 output layer의 양상은 어떠한지, 사용하는 activation function은 무엇인지 알아보자.
종류 | output #(output layer의 unit 갯수) | activation function |
이진분류(binary classification) | 1개 | sigmoid |
다중분류(multi-class classification) | n개(class 갯수) | softmax |
회귀(regression) | 1개 | none |
하나씩 살펴보자. 이진분류의 예로는 IMDB의 영화리뷰 데이터셋을 분류하는 문제를 들 수 있다. 해당 리뷰가 긍정인지 부정인지를 판별하는 것이 목표다. 그럼 output이 긍정/부정을 나타내기 위해 2개여야 할 것 같은데 왜 1개만 할까? 간단하다. 만약 동전 뒤집기 같이 2개의 case가 있는 상황에서 하나의 확률이 p라면 다른 하나의 확률은 1-p이기 때문이다.
회귀에선 왜 activation function을 사용하지 않을까? 이는 회귀의 정의를 살펴보면 된다. 회귀란 기본적으로 불연속적인 스칼라값을 예측하는 문제이다. 예컨대, 어떤 특정 지역의 여러 요소들을 기반으로 해당 지역의 집값을 예측하는 문제를 들 수 있다. 이 경우 집값에 대한 예측 결과값은 50000$과 같이 특정 값으로 나오기 때문에 활성화 함수를 별도로 사용하지 않아도 되는 것이다.
728x90
300x250
'AI > AI 개념' 카테고리의 다른 글
[AI/ML] 배치(batch)와 에폭(epoch), 적절한 배치 사이즈(batch size) (0) | 2022.01.27 |
---|---|
강화학습(Reinforcement learning)의 방향성 (0) | 2021.10.07 |
overfitting(과적합)은 항상 안좋은가?, overfitting의 이점 (0) | 2021.10.07 |
Comments