01 | 导读:如何在机器学习中运用线性代数工具?
朱维刚
你好,我是朱维刚。欢迎你跟我一起重学线性代数!
在开篇词中,我和你大致讲过我自己的经历,从 2006 年开始到现在 14 年的时间里,我都专注于机器学习领域。对于线性代数在机器学习中的应用,我非常了解。而这也是线性代数最主要的应用场景之一。因此,今天第一节课,我想先和你聊一聊,如何在机器学习中运用线性代数工具,在我们开始自下而上的学习之前,先从上层来看一看。
我们都知道,“数据”是机器学习的前提,机器学习的第一步就是要进行数据的收集、预处理和特征提取;而模型就是通过数据来学习的算法;学习则是一个循环过程,一个自动在数据中寻找模式,并不停调优模型参数的过程。那我们就从机器学习的三个核心概念:数据、模型和学习说起。
你看,不论是模型,还是学习,都涉及数据,而数据加上模型和学习,就是数学的一般过程了,也就是:观察、实验、推理和抽象。所以,我认为学好数学,不仅有利于理解复杂的机器学习系统,还能调优算法参数,甚至能帮助你创建新的机器学习解决方案。
从机器学习到线性代数
那机器学习和线性代数之间到底有着怎样的关系呢?我想,用一个实际的机器学习算法的例子来解释,你可能更容易搞清楚。接下来,我使用 KNN(K-Nearest Neighbor,K 最近邻分类算法)来让你简单了解一下机器学习,以及它和线性代数之间的关系。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了机器学习中线性代数的重要性,以KNN分类算法为例,阐述了线性代数与机器学习的关系。通过实际案例展示了线性代数在机器学习中的应用,包括数据准备、模型训练和测试。文章强调了学习数学对于理解机器学习系统、调优算法参数以及创建新的解决方案的重要性。通过代码演示和实例分析,读者能够直观地理解线性代数在机器学习中的重要性。作者还解释了KNN算法背后的线性代数原理,以及监督学习和无监督学习算法的数学基础。总之,本文为读者提供了深入了解机器学习和线性代数关系的有价值的技术文章。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《重学线性代数》,新⼈⾸单¥59
《重学线性代数》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(9)
- 最新
- 精选
- ququwowo最近刚开始学拿Stan/pymc3做贝叶斯机器学习,很多情况下需将模型re-parameterize (主要搞成non-centered),方便MCMC采后验. 几乎总用到cholesky factorization,希望老师后面能讲到。
作者回复: 你好,ququwowo,对于pymc3我不熟悉,可以尝试一下变分推理,有机会也可以另外做个专题来探讨大规模概率编程。
2020-07-285 - PoketaoIt would be great to mention how Euclidean Distance is applied to the multi-dimensional vectors. E.g. d(a,b) = sqrt( (a1-b1)^2 + (a2-b2)^2 + (a3-b3)^2 + (a4-b4)^2 )
作者回复: Hey Poketao, thank u for the suggestion.
2020-09-143 - DZ有点疑惑: ``` plot_shapes(iris_test, 'Petal_Width', 'Sepal_Length', markers, colors) plot_shapes(iris_test, 'Sepal_Width', 'Sepal_Length', markers, colors) ``` 为啥不是: ``` plot_shapes(iris_test, 'Petal_Width', 'Petal_Length', markers, colors) plot_shapes(iris_test, 'Sepal_Width', 'Sepal_Length', markers, colors) ```
作者回复: 你好,DZ,很好的问题。 这里没有特别的原因,鸢尾花的四个特征:花萼的长、宽和花瓣的长、宽,其实你可以尝试随意挑选放在plot_shapes里来看图的效果。
2020-08-0423 - 瀚海星尘这么理解,KNN真的好简单啊,没想到这么简单。。豁然开朗~
作者回复: 其实很多机器学习模型算法,如果通过数学角度来解释都是非常简单的,而且大部分都能适用应用场景,即使是深度学习也只是加了很多层而已。
2020-08-023 - 思致精研_益达import pandas as pd from sklearn import datasets iris = datasets.load_iris() species = [iris.target_names[x] for x in iris.target] iris.target里面的“target”作用是什么。我发现iris里面的列名并没有target,所以这块感到有点困惑
作者回复: 你好,思致精研_益达 target是分类目标,属于ndarray类型,通过它我们可以拿到鸢尾花的种类并赋值给species。 具体可以查sklearn的官方手册哦,地址是:https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_iris.html
2020-08-071 - 㗊一点也不豁然开朗,因为通篇都在讲分类器,没有讲线性代数2020-07-3198
- newzai云里雾里,4维距离也不列出个公式2022-06-071
- 黄金果plot_iris(iris, 'Petal_Width', 'Sepal_Length') 是不是有问题, 应该是: plot_iris(iris, 'Petal_Width', 'Petal_Length'), 包括配图的 title 也有问题2023-12-27归属地:江苏
- 王堃iris[['Species', 'count']].groupby('Species').count() print(iris[['Species', 'count']]) 为什么打印有没有聚合?2023-11-16归属地:天津2
收起评论