Java和线性代数的关系_高等数学,线性代数与计算机的关系?

谢邀。

如果你从事算法方面(包括图像处理,机器学习,深度学习等),那么数学用到的地方真是多了去了。我现在从事深度学习计算机视觉方面的东西,用到的数学知识有:线性代数、矩阵论、概率论、优化方法、数值计算、当然还有高等数学,高等数学是一切的基础啊,用的时候才知道高数原来那么牛逼,当初考研的时候怎么没有这种觉悟。

举个具体例子吧:

关于CS231N-Assignment1-KNN中no-loop矩阵乘法代码的讲解 - CSDN博客,这个是我刚开始学深度学习时候做作业时遇到的一个小问题,计算数据集中所有数据之间的距离并保存到一个矩阵汇总,两个数据集分别是两个矩阵,需要用no-loop的形式写出来(python):

test_sum = np.sum(np.square(X), axis=1) # num_test x 1

train_sum = np.sum(np.square(self.X_train), axis=1) # num_train x 1

inner_product = np.dot(X, self.X_train.T) # num_test x num_train

dists = np.sqrt(-2 * inner_product + test_sum.reshape(-1, 1) + train_sum) # broadcast

程序很简单,也就那么几行,但是这个程序可是我推导了一下才得出来的。。

当然,这里用到了:矩阵的概念,矩阵的点乘,矩阵的相加等基本概念。

这个例子是机器学习中KNN算法中需要用到的算法。而且这只是一个小小的分支,整个机器学习中用到的算法很多很多,如果数学学得不扎实,看这些算法会是很吃力的。

举这个例子不为别的,只是想着题主一定要好好学习数学,最起码把基本的概念都要弄懂了,忘记的看一下就可以回忆起来。虽然说现在程序封装的很好,很多计算方面的程序不需要自己写,但是,但是你如果原理也不懂那还怎么复制粘贴人家写好的程序。怎么去调parameter。

如果你从事算法有关的工作,最好还是好好看看这些数学知识吧,高等数学,线性代数,概率论,考研中这三门算是很基础很经典的。先把这三门看好再看其他。

我数学学得并不好,幸运的是经过了考研这个阶段,数学也算没有落下太多,看论文的时候虽说吃力但也可以应付。所以说,作为一个算法工程师,程序写的好是一方面,最重要的是数学知识的素养。真正的大牛数学功底毕竟不会差的。

如果你不从事算法方面的工作,我也不知道该说什么,反正我觉着吧,随着对数学的不断学习,生活中,其他方面多多少少都会用到数学。多学无害,有时间就学吧!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值