代价函数(python实现)

首先我们要知道(?(?))等于什么,它的意思是θ^T乘以X,X是一个向量,如果用等式表达的话就是 θ0?0 + θ1?1 + θ2?2+...+θ? ,当然θ也是一个向量,而且是一维的,python里面有一个库叫numpy,专门做矩阵运算的,我们使用就可以了,我们先初始化X,y,还有θ吧

先随机初始化,这些东西应该不需要讲,randint是随机整数,rand是小数,然后low参数代表你的随机数上界,size就是维度,初始化完成后就开始运算。

求和公式里面的运算

( (h(θ) = X theta^T) - y )^2*

我想这些应该不难,就是(X * theta.T - y),平方的话用np的power()函数。

inner = np.power((X * theta.T - y),2),第二个参数就是平方数

然后我们就可以计算求和公式外面的了,这个m代表着X矩阵的行数,对应的就是X的

向量个数,

np.sum(inner,axis=None)

最后再除以两倍的x向量个数即可,就是1 / len(X) * 2为什么是两倍呢,因为它求了偏导数,所以就是2了,好了,把它们整理一下写成函数吧