courses-machine learning-gradient descent

来源:互联网 发布:网络天才中文版下载app 编辑:程序博客网 时间:2024/06/16 19:27

gradient descent作业

涉及到octave循环语句,数据向量化,以及一些小细节

1.octave循环语句

for i=1:100,

*******;

end;

三个符号, ; ;


2.数据向量化

课程5-6,:vectorization

课程中的梯度下降法

 j代表θ向量的一个分量,而实际计算中,所有分量需要同步运算,也就是需要一个循环语句。但是如果把θ向量直接运算的话,则一步即可计算出所需答案(即上述公式中不再含有j)

具体到octave中,我们需要先计算Σ右边的公式(是一个向量:(X(i,:)*theta-y(i))*(X(i,:)');)而后勇一次对m的循环累加,最后得出θ


3.细节

2中的计算公式X(i,:)',其中的 ' 是求转置,因为X(i,:)代表数据集中第i个数据,是一个行向量,而(X(i,:)*theta-y(i))得到的是一个值,故,如果不求X(i,:)的转置,那么Σ右边的值是一个行向量,而θ是一个列向量,两者无法相减,所以需要对X(i,:)求转置


这个细节在courses的5-6:vectorization中没有提及


0 0