Andrew Ng1일차-강의 내용 습득 망한 후기

착오가 있었다. 수강신청을 다시하는 개념이 아니라 그냥 기한 갱신이었다. 오해할 뻔했네.
근데 기한이 갱신 된 채로 강의를 이어 들으려고 하다 보니
도대체가 무슨 말인지 이해하기가 어렵다.

그래서 지난 강의의 스크립트를 보고 다시 이해하려고 한다.

1. 머신러닝의 정의
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

수행해야 하는 업무 T와 그것을 수행하는 경험 E, 해당 업무 수행 능력의 퀄리티 P가 있을 때 E가 늘어남에따라 P 역시 늘어나는 것을 머신러닝이라고 한다. 다시 말해 일을 수행하면 할수록 능력이 좋아지는 것, 업무 수행에 있어서 노하우가 축적되는 것을 머신러닝이라고 한다.

2. Cost Function
머신러닝을 활용하여 예측 프로그램을 짜려는 것이 이 강의의 목적인가본데, 추정 함수와 데이터들이 얼마나 잘 맞아 떨어지는 지를 Cost Function을 통해서 확인한다고 한다.
이 꼴을 Cost Function 이라고 하는데, 잘 확인해 보면 고등학생 때 배운 '분산'의 꼴을 하고 있는 듯 하다. 이제는 분산도 잘 기억이 나지 않지만.... 예측값과 데이터를 1대1로 대응시켰을 때 그 둘의 차이를 제곱한 것을 총 개수의 두배로 나누어 준 것인데, 왜 총 개수로 나눠주지 않고 두배를 해서 나눠주는 것일까?! 다시 보니까 헷갈린다.

으으음...편미분을 했을 때, 1/2m 이 1/m 이 되니까 편의상 1/2m 으로 했다고 하는데, 그렇다면 이 Cost Function 자체가 중요한 것이 아니라 이 함수를 편미분한 값이 중요할 것이라고 예측할 수 있겠다. 또한 이 강의는 큰 그림을 보여주면서 가르쳐주고 있지는 않다는 사실도 확인할 수 있겠다. 뭐가 왜 되는지 근본적으로 설명해 주지 않고 있다.

Cost Function이 다음 강의까지 주된 역할을 하는 것으로 보아 확실하게 이해를 하고 넘어가야 될 것 같은데 아무래도 이해가 잘 되지 않는다.

Θ(1)이 1로 고정되어 있을 때, J(Θ)의 값이 0이 된다는 것을 말하고 있는데, 이것을 좀 더 천천히 이해해보기로 했다.

눈 여겨 봐야 할 점은 Θ가 아니라 Θ(1)이라는 점인데, 이는 예측값 h x(i)가 Θ*x(i)라는 것과 결부되어 있다. 정확하게는 Θ(i)*x(i)라는 것일텐데, 주어진 데이터가 직선이므로 Θ(i)가 아니라 Θ 하나만 사용한 것 같다.

아, 아니다. 주어진 데이터는 (1,1), (2,2), (3,3)이라는 점이었다. 이를 선형으로 만드는 것이 현재의 과제이다. 표현한 선형데이터가 직선이므로 Θ값이 하나만 쓰였다고 볼 수 있겠다.

그렇다면 다음과 같이 직선은 직선인데, 원점을 지나지 않는 직선일 경우에는 어떨까?! 이 경우에는 Θ가 두 개가 있어야 기울기와 y 절편을 표현해줄 수 있다.
그래서 Θ(0)와 Θ(1)에 따라 J값이 결정되는 다음과 같은 입체꼴이 등장하는 것이다.
이것을 평면으로 옮기게 되면 다음과 같은 그래프가 형성된다.
x 축과 y축을 조심해야 한다. 위의 그래프처럼 y 축이 J의 값을 나타내는 것이 아니라 각각 Θ(0)과 Θ(1)을 나타내고 있다. 등고선의 형태인 것이다. 동심원이 원형이 아니라 타원형인 이유는 x, y축의 단위가 다르기 때문이다. J값이 명시되어 있지 않지만, 입체 그래프의 형태를 생각해봤을 때, 가장 안쪽에 있는 원의 중심 지점에서 최적의 예측이 이루어진다는 사실을 확인할 수 있다.

그렇다면 어떻게 하면 가장 안쪽의 동심원, 그 중에서도 중심으로 들어갈 수 있느냐 하는 문제를
다음 강좌인 Gradient Descent로 풀어나가는 것 같다.
이제 잘 거라서 강의를 보진 않지만, 미적분학 과목과 선형대수학 과목을 들은 기억을 되살려 보았을 때, 특정 (Θ(0), Θ(1))에서 접선을 긋게 된다면 중심으로 다가가든지, 멀어지는 가장 빠른 길이 생긴다는 점을 활용하는 듯하다. 그 방향으로 점진적으로 (Θ(0), Θ(1))를 이동시키고, 종내에는 중심점을 찾아내는 것이겠지...



댓글

이 블로그의 인기 게시물

Answers for Sound and Vibration exmples

아두이노 - 안드로이드 블루투스 연결 및 실시간 그래프 표현 (1)

하루키식 글쓰기 연습-에어맥스 97