티스토리 뷰
hypothesis theta의 값을 X * theta로 쉽게 구하기 위해 X = [ones(length(data(:, 1)), 1) data] 로 정의.
(쉽게 말하면 X의 맨 왼쪽에 값이 1인 원소의 컬럼을 추가.)
function cost = costFunctionJ(X, y, theta)
m = length(X(:, 1));
h = X * theta;
h = h .^ 2;
cost = 1 / (2 * m) * sum(h);
function [final_theta, history_theta, history_cost] = gradientDescentMulti(X, y, theta, alpha, iteration)
m = length(X(:, 1));
final_theta = theta;
history_theta = [theta];
history_cost = [costFunctionJ(X, y, theta)];
for iter = 1:iteration
h = X * final_theta;
new_theta = final_theta - alpha * 1 / m * ( transpose(X) * (h - y) );
final_theta = new_theta;
history_theta = [ history_theta final_theta ];
history_cost = [ history_cost costFunctionJ(X, y, final_theta) ];
end
'프로그래밍 > 잡탕' 카테고리의 다른 글
StreamReader ReadLine으로 메세지 읽을 때 문제점 (0) | 2015.06.13 |
---|---|
Eclipse에서 Jess 쓰기 (0) | 2015.05.14 |
[AWS] Elastic Beanstalk로 Flask 프로젝트 Deploy 하기 (0) | 2015.04.09 |
C에서 문자 입력을 바로 받기 (0) | 2015.03.08 |
[Python, Flask] 암호를 안전하게 저장하기 (1) | 2015.02.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday