《关于线性回归越算越大这件事》-杂谈

如果说还有什么比做出了线代测试但是把行列式的等号
与矩阵的箭头搞错更令人崩溃的话(希望老师改宽点),

那就是5个小时把线性回归模型的参数调整到一个让计算机都
难以相信的10的300次方,然后查了半天不知道哪里有问题
(一定是kaggle数据集的问题,确信.jpg)。到现在,我连两个
参数的模型都没有搞定,后天还有线代的另一次测试,可能这
就是人生⑧。话说还是不要买桂花味的
百事可乐,它没有桂花味,而且酸,最好买无糖的树莓味可口可乐,
虽然无糖差了点灵魂。好久没有搞编程了,希望C++没事。
然后介绍下当代智能院学生的科研现状
写matlab代码的现状:盯着屏幕发呆——看教程——我懂了——两行代码——
这什么东西——盯着屏幕发呆——嗯,仓鼠该喂了
科研真是有趣(doge)
贴一段越变越大的代码(迭代了100次,因为2000次电脑快炸了)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
theta = [0;0];
count = 0;
iterations = 100;
m = size(x1,1);
k = size(theta,1);
while(count < iterations)
for i = 1:k,
A(i) = sum((x1*theta-y).*x1(:,i));
end
theta = theta - 0.0001*A';
disp(count);
%disp(A);
disp(theta');
%plot(count,theta(1,1));
count = count + 1;
end

数据集来自kaggle,不放上去了,比较丢人
最后贴一段成功的函数,就是吴恩达所说的代价函数的代码实现

1
2
3
4
5
function J = Jcost(X,y,theta)
m = size(X,1); %计算样本个数
predictions = X*theta; %计算预测值
sqrErrors = (predictions - y).^2; %计算误差
J = 1/(2*m) * sum(sqrErrors); %计算损失

(果然还是helloworld适合老子)

5.31补充:

原来还是学习速率的老问题(吴老师我错了),但是谁知道速率要这么低?不过出来了,还是很激动的。