古詩詞大全網 - 成語故事 - 代價函數(python實現)

代價函數(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了,好了,把它們整理壹下寫成函數吧