이전 포스팅에서는 EM 알고리즘에 대하여 간략한 예제를 통하여 알아보았다. 이번 포스팅에서는 EM 알고리즘이 작동하는 원리에 대하여 살짝 이해해보는 시간을 갖도록 하자. 전 포스팅에서 알아보았듯, 결국 EM 알고리즘은 E step과 M step을 반복 함으로써 우도 함수를 최대화시키는 방법이다. 자연스럽게 떠오르는 질문은 ‘항상 이러한 방법을 사용하면 우도 함수를 최대로 만드는 모수를 찾을 수 있을까?’ 일 것이다. 이러한 질문의 완벽한 대답은 되지 않지만, EM 알고리즘의 Path는 이번 포스팅에서 다룰 아주 좋은 성질을 가지고 있다. Ascent property of EM algorithm EM 알고리즘을 사용해서 우리는 모수의 값을 계속 업데이트 해 나아간다. 이렇게 업데이트된 모수는 우리가 최대화..
Optimization with R - 5. 뉴턴 방법을 사용한 로지스틱 회귀분석 모수 추정하기 Multivariate Newton’s method with R 지난 포스팅에서 우리는 입력변수가 2개 이상인 함수에 대하여 뉴턴법을 적용하여 보았다. 오늘은 이에 관한 실제 R코드를 짜고 이를 가상의 데이터를 만들어 적용하여 보도록 하자. 좀 더 쉬운 코드를 위하여 우리가 사용하는 최적화 방법은 제약조건이 없는(unconstrained) 상황의 최적화를 가정한다. 우리가 정의할 함수의 이름은 newton_opt이라고 하고, 입력값으로는 grad, Hessian, x_now, 그리고 나머지 루프를 빠져나오기 위한 값들인 stop_criteria, max_iter, 마지막으로 stepsize를 설멍하였다. ne..