红色石头的个人博客:www.redstonewill.com

推荐一份适合程序员的线性代数教程,包含理论和源码。教程地址为:

https://github.com/fastai/numerical-linear-algebra

本教程的重点是以下问题:我们如何以可接受的速度和可接受的精度进行矩阵计算?

这份教程来自于旧金山大学的分析学硕士 2017 暑期课程(为毕业班致力成为数据科学家的学生开设的)。该课程使用 python 和 jupyter 笔记本进行教学,在大多数课程中使用 scikit learn 和 numpy 等库,以及在一些课程中使用 numba(一个将 python 编译为 C 以提高性能的库)和 pytorch(一个替代 numpy 的 GPU 库)。

笔记本附带了一个演讲视频的播放列表,可以在 YouTube 上找到。如果你对一个讲座感到困惑或者太快,请看下一个视频的开头,在这里会回顾上一个讲座的概念,经常从一个新的角度或不同的插图解释事情,然后回答问题。

课程内容

本教程所有的内容将以 notebook 来呈现,具体目录如下:

0. Course Logistics

notebook 地址:

https://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/0. Course Logistics.ipynb

视频地址:

https://www.youtube.com/watch?v=8iGzBMboA0I&index=1&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

1. Why are we here?

我们将对数值线性代数中的一些基本概念进行了高层次的概述。

notebook 地址:

https://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/1. Why are we here.ipynb

视频地址:

https://www.youtube.com/watch?v=8iGzBMboA0I&index=1&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

2. Topic Modeling with NMF and SVD

我们将使用新闻组数据集来尝试识别不同文章的主题。我们使用一个表示文档中词汇频率的术语文档矩阵。我们使用 NMF 进行因子分析,然后使用 SVD 进行因子分析。

notebook 地址:

https://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/2. Topic Modeling with NMF and SVD.ipynb

视频地址:

https://www.youtube.com/watch?v=kgd40iDT8yY&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY&index=2

https://www.youtube.com/watch?v=C8KEtrWjjyo&index=3&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

3. Background Removal with Robust PCA

SVD 的另一个应用是识别人群并删除监控视频的背景。我们将介绍使用随机 SVD 的健壮 PCA。而随机 SVD 则采用 LU 因子分解。

notebook 地址:

https://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/3. Background Removal with Robust PCA.ipynb

视频地址:

https://www.youtube.com/watch?v=C8KEtrWjjyo&index=3&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

https://www.youtube.com/watch?v=Ys8R2nUTOAk&index=4&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

https://www.youtube.com/watch?v=O2x5KPJr5ag&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY&index=5

4. Compressed Sensing with Robust Regression

压缩传感对于允许低辐射的 CT 扫描至关重要——图像可以用较少的数据重建。在这里,我们将学习该技术并将其应用于 CT 图像。

notebook 地址:

https://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/4. Compressed Sensing of CT Scans with Robust Regression.ipynb#4.-Compressed-Sensing-of-CT-Scans-with-Robust-Regression

视频地址:

https://www.youtube.com/watch?v=YY9_EYNj5TY&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY&index=6

https://www.youtube.com/watch?v=ZUGkvIM6ehM&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY&index=7

5. Predicting Health Outcomes with Linear Regressions

notebook 地址:

https://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/5. Health Outcomes with Linear Regression.ipynb

视频地址:

https://www.youtube.com/watch?v=SjX55V8zDXI&index=8&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

6. How to Implement Linear Regression

notebook 地址:

https://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/6. How to Implement Linear Regression.ipynb

视频地址:

https://www.youtube.com/watch?v=SjX55V8zDXI&index=8&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

7. PageRank with Eigen Decompositions

我们已经将 SVD 应用于主题建模、背景去除和线性回归。SVD 与特征分解密切相关,因此我们现在将学习如何计算大型矩阵的特征值。我们将使用 dbpedia 数据,一个维基百科链接的大数据集,因为这里的主要特征向量给出了不同维基百科页面的相对重要性(这是谷歌 pagerank 算法的基本思想)。我们将研究 3 种不同的计算特征向量的方法,它们的复杂性越来越高(而且有用性也越来越高!).

notebook 地址:

https://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/7. PageRank with Eigen Decompositions.ipynb

视频地址:

https://www.youtube.com/watch?v=AbB-w77yxD0&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY&index=9

https://www.youtube.com/watch?v=1kw8bpA9QmQ&index=10&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

8. Implementing QR Factorization

notebook 地址:

http://nbviewer.jupyter.org/github/fastai/numerical-linear-algebra/blob/master/nbs/8. Implementing QR Factorization.ipynb

视频地址:

https://www.youtube.com/watch?v=1kw8bpA9QmQ&index=10&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

课程特色

本课程采用自上而下的教学方法,这与大多数数学课程的操作方式不同。通常,在自下而上的方法中,首先学习将要使用的所有独立组件,然后逐步将它们构建成更复杂的结构。问题在于,学生经常失去动力,没有“大局感”,不知道自己需要什么。

哈佛大学教授大卫·帕金斯(DavidPerkins)有一本书《使学习成为整体》,书中他将棒球作为类比。我们不要求孩子们在我们让他们玩游戏之前记住所有的棒球规则和理解所有的技术细节。相反,他们开始玩一种简单的感觉,然后随着时间的推移逐渐学习更多的规则/细节。

如果你上的是 fast.ai 人工智能深度学习课程,那就是我们使用的课程。你可以在这篇博文中听到我的教学哲学,或者我在旧金山机器学习会议上的演讲。这么说吧,如果你一开始不明白所有的事情,别担心!你不应该这样。我们将开始使用一些尚未解释的“黑盒”或矩阵分解,然后我们将在稍后深入讨论较低级别的细节。

首先,集中精力做什么,而不是做什么。

最后再附上教程链接:

https://github.com/fastai/numerical-linear-algebra


程序员的线性代数教程!Jupyter 代码和视频可能更适合你相关推荐

  1. 前后端解析_好程序员Web前端教程分享前后端分离接口

    随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式.在实际工作中,前后端的接口联调对接工作量占Web前端人员日常工作的30%-50%,甚至会更高.接下来的好程 ...

  2. 好程序员Web前端教程分享Vue学习心得

    为什么80%的码农都做不了架构师?>>>    好程序员Web前端教程分享Vue学习心得,Vue是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向 ...

  3. Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程

    早在 Docker 正式发布几个月的时候,LeanCloud 就开始在生产环境大规模使用 Docker,在过去几年里 Docker 的技术栈支撑了我们主要的后端架构.这是一篇写给程序员的 Docker ...

  4. 好程序员大数据教程:SparkShell和IDEA中编写Spark程序

    好程序员大数据教程:SparkShell和IDEA中编写Spark程序,spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用Scala编写Spa ...

  5. Discuz验证码识别(编码篇)-写给程序员的TensorFlow教程

    欢迎大家回到<写给程序员的TensorFlow教程>系列中来,本系列希望能给广大想转型机器学习的程序员带来一些不一样的内容,我们不讲公式,只调方法,不聊文献,只说代码.不求最好,只求有用. ...

  6. js怎么定义combobox_好程序员web前端教程分享新手应该怎么学习webpack

    好程序员web前端教程分享新手应该怎么学习webpack,什么是webpack?一句话概括:webpack是一个模块打包工具(module bundler).重点在于两个关键词"模块&quo ...

  7. 好程序员Web前端教程分享JavaScript开发技巧

    好程序员Web前端教程分享JavaScript开发技巧,相信知道Web前端的小伙伴都熟悉,Javascript的很多扩展的特性是的它变得更加的犀利,同时也给予程序员机会创建更漂亮并且更让用户喜欢的网站 ...

  8. window 程序报错 自动重启_好程序员web前端教程之详解JavaScript严格模式

    好程序员web前端教程之详解JavaScript严格模式,严格模式(Strict mode)是由ECMA-262规范定义的新兴JavaScript标准,发布于2009年12月第五版.旨在改善错误检查功 ...

  9. 好程序员HTML5前端教程-css的引入方式和选择器

    好程序员HTML5前端教程-css的引入方式和选择器 01.引入css方式(重点掌握) 行内样式 内接样式 外接样式 3.1 链接式 3.1 导入式 css介绍 现在的互联网前端分三层: HTML:超 ...

最新文章

  1. 一句话的设计模式(转)
  2. [鸟哥的Linux私房菜] X Window 与 纯文本模式的切换
  3. 深入理解Linux调度子系统
  4. NET Core微服务之路:再谈分布式系统中一致性问题分析
  5. hbase 修改表名_hbase修改表名 - 张欢19933的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. windowswps怎么以文件形式发送_手机WPS怎么以文件形式发送
  7. springboot上传文件过大,全局异常捕获,客户端没有返回值
  8. 推荐系统如何一键实现工业级部署? ElasticCTR 百度开讲
  9. mysql自动关闭_服务器mysql数据库老自动停止,请问怎么回事
  10. 简单树匹配算法STM-理论篇
  11. 自助bi工具如何搭建数据可视化
  12. 如何利用3Dslicer将mhd格式三维图像迅速转换为tif单张图片
  13. emu8086汇编——字符串匹配算法程序
  14. 中学生信息技术计算机软件教案,初中信息技术教学计划
  15. android打印机字体大小,打印自定义文档  |  Android 开发者  |  Android Developers
  16. 找一下不男不女 ?。。?
  17. 金融级云服务 平安云赋能保险业创新发展
  18. 2022常见软件测试面试题
  19. excel表格打印每页都有表头_Excel打印时如何实现每一页纸上都有表头?
  20. Win10十二月更新系统讲了什么?

热门文章

  1. 【鱼C·零基础入门学习Python】课后习题答案 第14课
  2. 利用模板化应对ERP业务模型的快速变化
  3. 光耦合器输入驱动电路
  4. Java 在PPT中添加SmartArt图形
  5. android xml ignore,工具:ignore =“UselessParent”是什么意思在Android XML布局文件中?...
  6. ETL开发面试问题加吐槽加职业发展建议
  7. 微信小程序支付功能实现全过程简析
  8. 微信小程序开发学习6(基础加强之使用npm包和全局数据共享及分包【Tab底栏案例改进】)
  9. python学习笔记二——阅读MakeHuman程序源码小结
  10. css类似于打马赛克