代价函数的矩阵表示【CF】

不知道为什么,不能高亮matlab,就下面这样了

用的是matlab语法

m为样例数目,X输入,y输出,theta为参数,

  1. 线性回归,linear regression
J=((X*theta-y)'*(X*theta-y))/2/m;
gradient=X'*(X*theta-y)/m;
  1. LR,逻辑回归
# h为h(x)列向量
J=(((log(h))'*(-y))-(log(1-h))'*(1-y))/m;
gradient=((h-y)'*X)'/m;
  1. 正则化,regularization,逻辑回归
# lambda 惩罚系数
J=((log(h))'*(-y))/m-(log(1-h))'*(1-y)/m+theta(2:size(theta)(1),:)'*theta(2:size(theta)(1),:)*lambda/2/m;
gradient=((h-y)'*X)'/m+[0;theta(2:size(theta)(1),:)]*lambda/m;

4.线性回归,正则化

J=((X*theta-y)'*(X*theta-y))/2/m+theta(2:size(theta)(1),:)'*theta(2:size(theta)(1),:)*lambda/2/m;

grad=X'*(X*theta-y)/m+[0;theta(2:size(theta)(1),:)]*lambda/m;

ps:
后续学习继续更新

你可能感兴趣的:(coursera,notes)