例如: 计算h(x)的时候 我一开始的算法 用了几个for循环 后面发现 theta*X 可以直接得到一系列参数
累加求和的时候 求和一般转化为一个行向量乘一个列向量 向量化的关键:首先写出每一个表达式 然后再不断消除需要用到循环的字母
对于计算grad的时候 需要计算到上面这个偏导数
那么 首先h(x) 可以写成 sigmoid(theta*X) 这是一个列向量 y(i) 可以写成y 这也是一个列向量
sigmoid(theta*X)-y 是括号里的结果 也是一个 m*1的列向量 然后应该是 grad(i)= 1/m* [ xi(1),......,xi(m)]*( sigmoid(theta*X)-y ) 这个就是上面图中的第二行那个偏导数的计算方法
然后 grad=1/m*X*(sigmoid(theta*X)-y) 可以直接计算出grad列向量 为 所求结果