前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习要先学多少线性代数?

机器学习要先学多少线性代数?

作者头像
木羊
发布2022-04-11 17:29:53
6680
发布2022-04-11 17:29:53
举报
文章被收录于专栏:睡前机器学习

昨天我们聊了线性方程,今天聊线性代数。

线性代数简称线代,不过,却是个不怎么现代、相反历史非常悠久的数学分支。至少出现了一千五百年,至今仍在肆虐小学奥数班的鸡兔同笼问题,就是一款典型的线代问题。

线性代数的线性,指的是线性方程,前面介绍过,N元一次的方程都称为线性方程,性格耿直如铁,纯粹简单。线性代数就是研究线性方程发展出来的数学分支,涉及到向量、向量空间、线性变化等听起来还挺抽象概念。

我当然是不敢贸然说线代很简单,毕竟,线代是当代数学的主要分支之一,即使已经枝繁叶茂了,但仍然孜孜不倦地生长着。

这里,我只想讨论一个问题,一个大家初学时也许都很想知道的问题。

在我初学时,我先跑到书店买了一本机器学习的书,翻开一看,感觉每一条公式都向我揍了一拳,我鼻青脸肿,想起来学习机器学习需要学习线性代数,心想果然饭得一口一口吃,于是我又跑到书店买了一本专讲线性代数的专业教材,结果想必都能猜到,这本更加专业的数学书简直是把我摁了在地上摩擦。

我应该不是孤例。每个走到这一步的人都忍不住想问一个问题:学机器学习到底需要学多少线性代数?我一直觉得现在开始学机器学习有点迟,可是如果要先学完线性代数,我想那得从上辈子开始,这辈子怕是来不及了。

不过,机器学习里的线代真的很复杂吗?

我们总是以为,机器学习很高端,所以一定是站在线性代数鄙视链顶端的那个男人,以君临天下的姿态俯视众生。

然而,事实恰好相反,机器学习中用到相当多的线代知识,都非常非常地基础,目的都不是方便老师出考题而是方便你去理解使用,譬如以下这条:

这是什么?你问。

这就是线性回归的预测模型,其中的w是weigh的缩写,是权重的意思,而其中的x,就是数据的各个维度,二者逐项相乘求和,对,用的就是小学一年级教的加法和二年级教的乘法,再加上偏置w0,就是线性回归模型的全部内容了。

很简单对吧?简单得难以置信对吧?

那线性代数在哪呢?你又问。

好问题。

我们可以用线性代数里的向量w来替代上式的一串w,也就是这样:

同样,我们用X来替代上式的一串x,现在可以用向量乘法,将上式简写成:y=Xw

向量和向量乘法,都是非常非常基础的线性代数知识,简直只能勉强够安排到《线性代数》的前言那部分。线代是弱水三千,机器学习却只取一瓢,用到再学,真来得及。

不过,还有一个问题:写法是简洁了,不过难道引入线性代数就为了换了个简洁的写法?数学界的美颜App?

是也不是。

使用python语言的numpy库,能很快计算出这两个向量的值,也即y值,比一项一项相乘再相加的运算效率要高得多。这就是机器学习中使用线性代数的重要原因之一:能简化计算。

毕竟数学家也算半个社会人,人不太狠,话照样不多。

下次再聊。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 睡前机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档