老师,我用( x_train - x_mean * y_train - y_mean) 结果一致

来源:5-4 向量化

慕运维7479159

2018-01-20

老师,我用( x_train - x_mean * y_train - y_mean) 结果一致

没有用.dot ,这是为什么

写回答

1回答

liuyubobobo

2018-01-20

在这一小节中,x_train是一个向量,其中包含m个数,表示我们有m个样本,每个样本只有1个特征;

y_train也是一个向量,其中包含m个数,表示我们的m个样本对用的输出结果;

x_mean和y_mean分别是x_train和y_train的均值,均为一个数字。


此时,(x_train - x_mean)的结果是一个向量;(y_train - y_mean)的结果也是一个向量。

(x_train - x_mean).dot(y_train - y_mean) 是两个向量做点乘,其结果为一个数;

(x_train - x_mean) * (y_train - y_mean) 是两个向量做对应元素间的乘法,其结果依然是一个向量。


所以,*和dot是完全不同的。


可以参见下面的notebook测试:


//img.mukewang.com/szimg/5a6332120001e45110990749.jpg


0
1
慕运维7479159
非常感谢!真的很牛
2018-01-22
共1条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程