UFLDL课程学习(一)

章节地址:http://ufldl.stanford.edu/tutorial/supervised/LinearRegression/

章节名称:线性回归 (Linear Regression)

第一章没有难度大的内容,但是,我还是被深深的恶心到了,明明答案是正确的,却一直报错

Undefined function 'lbfgsAddC' for input arguments of type 'int32'.

查了一下,下面这篇文章的说法是对的:

http://blog.csdn.net/lingerlanlan/article/details/38377023?utm_source=tuicool

意思就是这个鬼程序调用了C语言函数,但是从GitHub上下载的代码里没有对这些C语言函数进行编译(可能是考虑到机器和系统),

具体的C语言代码在这个目录下: ..\common\minFunc_2012\minFunc\mex 

编译方法是,直接在MATLAB控制台输入

mex filename

把目录下所有的文件都编译一遍吧,省的麻烦。然后你需要把编译生成的文件拷贝到 ..\common\minFunc_2012\minFunc 目录下(当然这是懒人的办法,把文件拷贝到执行文件目录下)

之后是代码和结果:

  m=size(X,2);
  n=size(X,1);

  f=0;
  g=zeros(size(theta));

  for row = 1:m
      curr_x = X(:,row);
      curr_y = y(:,row);
      f = f + (theta'*curr_x-curr_y)^2;
      g = g + curr_x.*(theta'*curr_x-curr_y);
  end
%   这个方法更简单,但是矩阵运算不一定理解
%   h = theta' * X - y;
%   f = (1/2) * h * h';
%   g = X*h';

 

转载于:https://www.cnblogs.com/william7neral/p/4448566.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值