Gradient Descent는 cost function을 최소화하기 위해 이용할 수 있는 방법 중 하나이며, cost function 말고도 각종 optimization에 이용되는 일반적인 방법이다. hypothesis function의 최적의 parameter를 찾는 방법이다. Gradient Descent Outline은 위처럼 초기 파라미터값으로 시작하여, 희망하는 최소값으로 줄 때까지 계속 갱신해나간다. cost function을 세타j에 대해 미분하고 학습률을 곱해 계속 갱신해나간다. 주의해야 될 점은 파라미터를 단계적으로 갱신해나가는 것이 아니라, 동신에 업데이트 해야 된다는 점이다. 알파값은 learning rate라고 하는데, 이 크기가 클수록 한 번에 더 많이 움직이게 된다. learn..
경사하강법 검색 결과
경사법에서는 기울기 값을 기준으로 나아갈 방향을 정하는데, 기울기란 무엇인지와 학생 때 배운 '미분'을 복습해보고자 한다. 미분 마라톤 선수가 처음부터 10분에 2km씩 달렸다고 해보자. 이때의 속도는 간단히 2/10 = 0.2 [km/분]이라고 계산할 수 있다. 즉 1분에 0.2km만큼의 속도(변화)로 뛰었다고 해석할 수 있다. 이 마라톤 예에서는 '달린 거리'가 '시간'에 대해서 얼마나 변화했는가를 계산했다. 다만 여기서 0.2km는 10분 동안의 평균 속도를 구한 것이고, 미분은 특정 순간의 변화량을 뜻한다. 그래서 10분이라는 시간을 1분, 1초, 0.1초 이렇게 간격을 줄여가면서 어느 한 순간의 변화량을 얻는 것이 미분이다. 수식으로 표현하면 위와 같다. 극한을 취해 h를 한없이 0에 가깝게 하..
회귀 지도학습은 2가지 유형, 분류와 회귀로 나뉜다. 분류 - 예측값이 카테고리와 같은 이산형 값 회귀 - 예측값이 연속형 숫자 회귀는 그 중에서도 선형회귀가 가장 많이 사용된다. 선형 회귀는 직선형 회귀선을 예측값과 실제값의 차이가 가장 작게 산출되도록 가중치들을 최적화하여 찾아내는 방식을 의미한다. 단순 선형 회귀 단순 선형 회귀는 독립변수(X) 하나, 종속변수(Y)도 하나인 선형 회귀를 의미한다. 독립변수와 종속변수가 갑자기 나와서 헷갈릴 수도 있지만, 쉽게 말해 독립변수는 피처를, 종속변수는 레이블 값을 의미한다. 따라서 단순 선형 회귀는 피처가 하나인 데이터를 가장 잘 나타내는 회귀선을 찾는 기법이라고 생각하면 된다. X, Y를 좌표평면에 찍고, 그 점들을 가장 잘 표현할 수 있는 직선을 찾아내..
(JY) Loss function, 손실함수 (JY) Keras 사용해보기 1. What is keras? 케라스(Keras)는 텐서플로우 라이버러리 중 하나로, 딥러닝 모델 설계와 훈련을 위한 고수준 API이다. 사용자 친화적이고 모델의 구성이 쉽기 때문에 기본 이미지 dsbook.tistory.com 이전 글에서, 손실값을 어떻게 계산하는지, 특히 Cross entropy error 방법에 대해서 알아보았다. 손실값을 계산하는 방법에는 CEE방법 외에도 평균제곱오차(MSE)방법, Huber, Hinge 등 다양한 방법이 존재하며 어떤 데이터를 어떤 방식으로 학습시킬지에 따라 사용하는 사용하는 함수가 달라졌다. 크로스 엔트로피 손실함수에 대해 간략하게 리뷰해보면, 이 손실 함수는 실제값과 로그를 취한 ..
1번 글에서는 '오차 역전파'를 통해서 역방향 계산을 하는 과정을 포스팅 했었다. 실제로는 경사하강법은 '손실함수'라는 개념을 사용하여 나온 방법이다. 경사하강법의 정의 : '어떤 손실함수(loss function)가 정의되었을 때, 손실 함수의 값이 최소가 되는 지점을 찾아가는 방법' 앞에서 본 결과는 손실 오차 중 제곱오차(Squared Error)를 미분한 결과와 동일하다. ■ 손실함수란 무엇인가? 어떤 모델이 좋은 모델이고 어떤 모델이 안좋은 모델일까? 그것에 대한 기준은 무엇일까? 모델A가 모델 B보다 좋은 모델이다.' = '모델 A가 모델 B보다 나쁘지 않은 모델이다.' 라는 아이디어에서 착안하여 모델의 적합성을 판단하는 기준 : 오차의 정도 (이 글에서는 손실함수 중 제곱 오차(SE)를 사용..
선형회귀란? 가장 간단 + 딥러닝의 기초가 되는 머신러닝 알고리즘으로, 데이터들을 가장 잘 표현하는 1차 함수식을 만드는 것이다. (이번 포스팅에서는 기초적인 내용의 이해를 위해 "특성이 1개"인 모델에 대해 이야기 한다.) 일반적으로 우리가 아는 1차 함수식은 y = a*x + b의 형태 이것을 머신러닝에서 쓰는 방식으로 바꾸면 y_hat = W*x + b이다. (선형함수식이라고 표현을 한다.) x: 입력값 y: 타겟값 W: 가중치 b: 절편 1차 함수식을 y와 x에 대한 식으로 이해를 하듯이 위 식을 W와 y_hat에 대한 식으로 이해를 하면 된다. ☞왜 y가 아니라 y_hat? y와 y_hat의 차이점을 설명하자면, y는 이미 우리가 가지고 있는 정답이라고 볼 수 있고, y_hat은 y를 예측하기 ..
최근댓글