전체 글
-
[Week 2] Normal EquationCourses/Andrew Ng - Machine Learning 2021. 12. 20. 23:50
Normal Equation 이번에는 J의 최솟값을 찾는 다른 방법에 대해 알아봅시다. 정규 방정식(Normal Equation) 은 특정 조건에서 경사 하강법보다 파라미터의 값을 찾는 더 적절한 방법입니다. 정규 방정식은 반복적으로 돌릴 필요없이 한 번의 계산으로 파라미터를 직접 계산합니다. 고등학교 수학을 배웠던 기억을 더듬어 보면 위와 같은 2차 함수를 미분하여 0이 되는 지점이 그 함수의 최솟값이었습니다. 이러한 아이디어를 바탕으로 모든 파라미터에 대해 J를 편미분하면 그 최솟값을 구할 수 있습니다. 행렬 X에 변수들을 배치하고 벡터 y에 결과값을 배치합니다. x(i) 변수 벡터가 위와 같을 때 디자인 행렬 X는 행마다 변수 벡터를 전치한 것과 같습니다. 이것을 반복하여 M x N+1 행렬을 만듭..
-
[Week 2] Multivariate Linear RegressionCourses/Andrew Ng - Machine Learning 2021. 12. 20. 22:55
Multivariate Linear Regression 이번에는 변수가 여러 개인 선형 회귀를 다뤄볼 것 입니다. 이는 다변수 선형 회귀라고 불립니다. 하기와 같이 표기법을 정리합니다. m은 샘플의 총 갯수, n은 변수들의 총 갯수라는 것을 유념합시다. 그렇다면 다변수 선형 회귀의 가설 공식은 다음과 같을 것입니다. x라는 변수가 n개이니 그 앞에 붙는 계수 세타들도 n개 입니다. 앞에서 배운 벡터와 행렬의 곱으로 더 간단하게 표현해보도록 하겠습니다. 세타 벡터에 전치를 취해 x 벡터와 곱한 꼴입니다. 실제로 계산해보면 위의 가설 함수 일반식과 동일함을 알 수 있습니다. 파라미터들의 집합은 이제 그냥 세타로 표기합니다. 비용 함수도 그에 따라 J(세타)로 표기합니다. 세타는 벡터이니 비용 함수도 벡터입니..
-
[Week 1] Linear Algebra ReviewCourses/Andrew Ng - Machine Learning 2021. 12. 19. 21:57
Matrices and Vectors 행렬 (Matrix) : 수들을 직사각형으로 배열한 것. 벡터 (Vector) : 복수의 행에 단 하나의 열을 가지고 있는 행렬. Addition and Scalar Multiplication 같은 크기의 행렬끼리는 덧셈과 뺄셈이 가능합니다. 행렬과 스칼라값을 곱할때는 각 원소에 스칼라값을 곱해줍니다. Matrix-Vector Multiplication 행렬과 벡터를 곱할 수도 있습니다. 이 경우 행렬의 크기가 M x N이라고 한다면 벡터의 크기는 N x 1 이어야 합니다. 결과는 M x 1 벡터가 됩니다. Matrix-Matrix Multiplication 행렬과 행렬의 곱셈도 조건이 만족되어야 수행 가능합니다. 행렬 A가 M x N 이고 행렬 B가 N x O일 때..
-
[Week 1] Parameter LearningCourses/Andrew Ng - Machine Learning 2021. 12. 16. 22:21
Gradient Descent 이제 우리는 어떻게 비용 함수의 최솟값을 찾을 것인지 알아보겠습니다. 경사 하강법이라는 방법을 도입하여 오차가 최소가 되는 가설 함수의 파라미터들을 찾아보겠습니다. 비용 함수의 그래프가 위 그림과 같다고 가정해봅시다. θ0과 θ1이 변수로 주어진 3차원 그래프입니다. 일반적으로 θ0 = 0, θ1 =0 으로 설정하고 값을 조금씩 바꾸면서 최솟값을 찾습니다. 임의의 점(빨간색 원)에서 부터 시작하여 그 점에서 방향을 선택하고 아래로 조금씩 내려갑니다. 그렇게 한 걸음 한 걸음씩 내려오다 보면 지역 최솟값에 도달하게 됩니다. 다른 점에서 시작한다면 다른 지역 최솟값으로 도달할 수도 있습니다. 이를 수식으로 표현하자면 다음과 같습니다 : := 기호는 대입연산자입니다. 프로그래밍에..
-
[Week 1] Model and Cost FunctionCourses/Andrew Ng - Machine Learning 2021. 12. 14. 23:06
Model Representation 저번 시간의 부동산 가격 예측으로 이야기를 계속해봅시다. 연속적인 출력이었기 때문에 우리는 지도 학습 회귀 분석으로 접근해볼 수 있을 것 같습니다. 상기와 같은 데이터가 주어졌을 때 우리는 직감적으로 저런 직선을 그을 수 있습니다. 그리고 어떤 넓이의 집의 가격도 대략적으로 유추해볼 수 있습니다. 즉, 목표는 실제 출력(가격)과 가장 근접한/오차가 작은 출력을 내주는 어떤 일차 함수를 유도해내는 것입니다. 주어진 트레이닝 셋이 위와 같을 때 다음과 같이 표기하기로 합니다. m = 트레이닝 샘플의 갯수 x = 입력 변수 y = 출력 변수 (i) = i번째 변수 (x(i),y(i)) 는 i번째 트레이닝 샘플의 쌍을 의미합니다. h : x라는 입력을 넣고 y값을 예측하는 ..
-
[Week 1] IntroductionCourses/Andrew Ng - Machine Learning 2021. 12. 14. 21:45
What is machine learning? 머신 러닝에 대해 두가지 정의를 들 수 있겠습니다. 첫번째는 Arthur Samuel의 정의입니다 : " 명시적 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖출 수 있게 하는 분야 " 조금 오래된 정의입니다. 두번째 정의는 Tom Mitchell의 좀 더 모던한 정의입니다 : " 어떤 프로그램이 T라는 일(task)의 수행에서 P로 측정되는 성능이 E라는 경험을 통해 증가되었다면 이 프로그램은 일 T와 성능측정 P에 대하여 경험 E로 부터 학습한다고 할 수 있다. " 조금 복잡한데, 예를 들어 봅시다. 체커를 플레이하는 프로그램이 있다고 합시다. 이 경우, E = 체커 게임을 플레이하는 경험 T = 체커 게임을 수행하는 일 P = 프로그램이 게임에서 승리할 확..
-
0. 시작하기 전에Courses/Andrew Ng - Machine Learning 2021. 12. 13. 23:45
생각해보면 인공지능이나 기계학습에 대한 관심은 어렸을 때부터 있었던 것 같다. 내 또래 공대 남자애들 대부분이 그렇듯 나도 로봇이 나오는 애니메이션을 보면서 저런 것을 만들어 보고 싶다는 꿈을 키웠다. 나이를 먹어가며 그것이 얼마나 대단하고 비현실적인 꿈인지를 깨달아가면서 멀어지긴 했지만 이제와서 돌이켜보면 무의식 속에 내재된 열망이 대학교 전공을 정하는 큰 요소 중 하나였다는 것은 확실하긴 하다. 대학 졸업 후 감사하게도 대기업에 취업하여 전공과 align된 업무를 담당하게 되었다. 그렇지만 생각보다 내가 새로 개발할 수 있는 부분은 많지 않았고 대부분 유지보수를 하며 조금씩 고치는 일을 하고 있다. 그래서인지 , 조금 더 생산적이고 새로운 것에 도전해보고 싶어졌다. 내가 하고 있는 업무 중 하나는 C..