Python3入门机器学习之3.4向量化
Python3入门机器学习3.4 向量化1.向量化运算:在上一节中,求解参数a时,使用的for循环依次求解出分子和分母的m项都是什么,然后将它们相加在一起。而使用for循环这种方式性能相对来讲是比较低的,如果有办法将这个计算变为向量计算,那么性能就会大大的提升,这就是向量化运算的意义。在a的式子里,仔细观察分子和分母都属于以下这样一种模式:而w是一个向量,v也是一个向量。有了这样两个向量,将它们进
·
Python3入门机器学习
3.4 向量化
1.向量化运算:
在上一节中,求解参数a时,使用的for循环依次求解出分子和分母的m项都是什么,然后将它们相加在一起。而使用for循环这种方式性能相对来讲是比较低的,如果有办法将这个计算变为向量计算,那么性能就会大大的提升,这就是向量化运算的意义。
在a的式子里,仔细观察分子和分母都属于以下这样一种模式:
而w是一个向量,v也是一个向量。有了这样两个向量,将它们进行点乘,就是两个向量对应的项相乘再相加。这样一来就可以使用numpy中向量的运算法则,非常快速高效。
2.具体实现代码:
将之前的for循环做如下的替换:
num = (x_train - x_mean).dot(y_train - y_mean) #for循环改为向量化运算
d = (x_train - x_mean).dot(x_train - x_mean) #其中点乘的意义为相乘再相加
其中dot函数为点乘。
3.向量化实现的性能测试:
由此可见使用向量化运算比使用for循环的效率提高了几十倍。
更多推荐
已为社区贡献39条内容
所有评论(0)