使用线性近似来执行加法和减法|错误障碍

时间:2018-01-21 00:56:01

标签: octave linear-regression data-science

我正在尝试我的第一个个人项目,在参加机器学习的入门课程之后,我正在尝试使用线性近似来预测两个数字的加/减的结果。

我有3个功能:第一个数字,减法/加法(0或1)和第二个数字。 所以我的输入看起来像这样:

2
6
0

使用相应的输出:

% Iterate
for i = 1 : iter
    % hypothesis
    h = X * Theta;

    % reg theta prep
    regTheta = Theta;
    regTheta(:, 1) = 0;

    % cost calc
    J(i, 2) = (1 / (2 * m)) * (sum((h - y) .^ 2) + lambda * sum(sum(regTheta .^ 2,1),2));

    % theta calc
    Theta = Theta -  (alpha / m) * ((h - y)' * X)' + lambda * sum(sum(regTheta, 1), 2);
end

我(我认为)已经成功实现了逻辑回归算法,因为平方误差逐渐减小,但是在100到100(0到50)范围内,平方误差值在大约400次迭代后变为大约685.6。

Graph: Squared Error vs Iterations  

为了解决这个问题,我尝试使用更大的数据集进行训练,摆脱正则化,并对输入值进行标准化。

我知道修复高偏差的一个步骤是增加近似的复杂性,但我想在这个特定级别上最大化性能。是否有可能在这个级别上更进一步?

我在Octave中的线性逼近码:

burger

注意:我为lambda使用0,以忽略正则化。

0 个答案:

没有答案
相关问题