일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 운영체제
- TCP
- 데브코스
- 파이썬
- http
- Go
- 데이터 엔지니어링
- 정리
- 데이터베이스
- redshift
- 컴퓨터 네트워크
- 데이터엔지니어링
- HADOOP
- S3
- dockerfile
- 컴퓨터네트워크
- linux
- TIL
- airflow.cfg
- 자료구조
- 종류
- sql
- airflow
- 데이터 웨어하우스
- Django
- AWS
- 데이터 파이프라인
- PYTHON
- 가상환경
- Docker
- Today
- Total
홍카나의 공부방
[ML] Cost Function 본문
최근 시간을 들여 머신러닝을 배우기 시작했다.
입문으로 Andrew Ng 교수님의 Machine Learning 강좌를 많이 추천받아서,
해당 내용을 듣기 시작했다.
블로그에 남기지 않으면 시간 지나고 백퍼 까먹을 것이기 때문에
배운 내용들을 차근차근 정리하려고 한다.
1주차로서 기초적인 용어들과 머신러닝의 정의,
그리고 비용함수에 대해 배웠다.
머신러닝의 정의는
컴퓨터가 어떤 작업(T)를 하는데, 경험(E)로부터 학습해서 성능에 대한 측정(P)를 향상시키는 학문이다.
예시)
알파고가 바둑을 둔다.(T)
각종 바둑 기사들의 대국을 복기하며 최적의 선택지를 배운다.(E)
승률이 얼마나 높아졌는지 측정(P)한다.
음 내가 든 예시가 맞는지 100% 자신감은 없는데,, 맞을것 같다.
그리고 머신러닝은 지도학습, 비지도학습, 강화학습 등으로 분류되는데,
이 중 정답이 있는 데이터에 대한 학습을 진행하는 지도학습 부터 배워본다.
지도학습(Supervised learning)에서 사용되는 여러 용어, 수식들에 대해 먼저 배우기 시작했다.
특히 회귀(Regression)와 관련된 부분부터 학습에 들어갔다.
위 그림에서
가설함수(Hypothesis)는 Training set(정답이 있는 Labeled Data)을
학습 알고리즘에 넣으면 학습 알고리즘이 제시하는 함수를 의미한다.
알고리즘이 제시한 가설함수에
기존 Training Set에 없는 New data를 넣었을 때, 그에 대한 적절한 Output을 제시하게 된다.
어떻게? 알고리즘이 학습 했으므로! ( 이는 단순 선형 회귀와 관련이 있다. )
파라미터는 가설함수가 1차식으로 표현이 되므로,
쎄타0은 y절편, 쎄타1은 가설함수 직선의 기울기를 표현하는데 사용된다.
파라미터 값을 바꿔주면, 그에 맞춰서 가설함수 직선의 모습이 달라진다.
비용 함수(Cost Function)는 원래의 값(그러니까, 정답)과
오차가 가장 작은 가설함수를 도출하기 위해 사용되는 함수다.
파라미터 쎄타를 조절하여, 실제값인 y와 가장 근접한 가설함수를 도출해야한다.
쎄타에 여러 값 들을 넣었을 때, 비용함수 J의 값이 최솟값에 가까울 때의 쎄타 값이 가장 적절한 값이다.
그리고 이것이 우리의 최종 목표다.