gradient descent3 Python으로 regression 학습 구현하기 Machine Learning에서 가장 중요한 것 중 cost function과 theta update이 있다. 일례로, Deep learning으로 RMSE를 낮추는 prediction 모델링을 한다고 할 때 더 고급 알고리즘을 사용하거나, Batch normalization 기법을 적용하는 것 보다 learning rate나 threshold, batch size를 수정해보는 것이 훨씬 좋은 결과를 얻는 경우가 많다. 사실 해보지 않으면 잘 모른다. 해봐도 모르는 경우가 많다. 그래서 이 내용들을 제대로 이해하려면 한 번쯤 직접 구현해보는 것이 좋다고 생각했고, 파이썬으로 basic한 머신러닝 이론들을 구현하는 Implementation 프로젝트를 시작했다(github 링크). 본 포스팅에서는 간단한.. 2018. 5. 6. 인공뉴런(퍼셉트론, 에이다라인)과 그래디언트 디센트(Gradient Descent)의 개념 및 구현 머신러닝의 핵심 원리1. 인공 뉴런의 개념머신 러닝과 관련된 학문은 초기에 인공 뉴런을 표방하는 것으로 시작되었다. 뇌가 어떻게 일하는지를 이해하려는 노력의 산물이 바로 인공 뉴런이다. 뉴런은 뇌에서 서로 연결되어있는 신경 세포를 의미하는데, 이를 알고리즘으로 해부하면 다음과 같다. 하나하나의 신경세포는 바이너리 출력을 갖는 간단한 논리 게이트를 가지고 있다. 신경세포가 다음 신경세포로 신호를 보내는 임계치를 판단하는 것이 바로 활성함수의 개념이다. (정확히는 활성함수의 아웃풋은 비용함수로 이용되고, 임계함수가 최종 판단의 역할을 한다. 아래의 예제코드에서 활성함수는 new_input, 임계함수는 predict이다. 글을 정독한 뒤 다시 이 문단을 읽으면 이해가 된다) 이 활성함수의 최적의 가중계수를 자.. 2017. 8. 3. R을 이용한 머신러닝 - 4 (로지스틱 회귀모델을 이용한 분류 문제) R에서의 로지스틱 회귀모델을 이용한 분류1. 분류 알고리즘1.1 회귀분석에서의 분류의 기법- y값은 범주형 데이터(그룹 변수)여야 분류가 가능한 수식이 완성됨. 1.2-1 로지스틱 회귀로지스틱 회귀는 독립변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는 통계적 기법이다. 따라서 로지스틱 회귀의 y값은 0~1 사이의 확률이 되는데, 이때의 확률은 이진 그룹에 속할 확률이다. 또한 로지스틱 회귀는 선형 회귀 분석과 다르게, 종속변수가 범주형 데이터이다. - 만약 일반적인 수식 y = b + ax라는 식이 있다고 할 때, 이 식은 y가 0~1로 나오지 않을 수 있음. - 따라서 f(x)의 결과가 0~1 확률로 나올수 있도록 함수를 구성해주는 것이 로지스틱 함수의 아이디어이다. - y에 log를 취해서.. 2017. 7. 14. 이전 1 다음