程序员的数学基础课
黄申
LinkedIn资深数据科学家
立即订阅
23340 人已学习
课程目录
已完结 57 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 作为程序员,为什么你应该学好数学?
免费
导读 (1讲)
导读:程序员应该怎么学数学?
基础思想篇 (18讲)
01 | 二进制:不了解计算机的源头,你学什么编程
02 | 余数:原来取余操作本身就是个哈希函数
03 | 迭代法:不用编程语言的自带函数,你会如何计算平方根?
04 | 数学归纳法:如何用数学归纳提升代码的运行效率?
05 | 递归(上):泛化数学归纳,如何将复杂问题简单化?
06 | 递归(下):分而治之,从归并排序到MapReduce
07 | 排列:如何让计算机学会“田忌赛马”?
08 | 组合:如何让计算机安排世界杯的赛程?
09 | 动态规划(上):如何实现基于编辑距离的查询推荐?
10 | 动态规划(下):如何求得状态转移方程并进行编程实现?
11 | 树的深度优先搜索(上):如何才能高效率地查字典?
12 | 树的深度优先搜索(下):如何才能高效率地查字典?
13 | 树的广度优先搜索(上):人际关系的六度理论是真的吗?
14 | 树的广度优先搜索(下):为什么双向广度优先搜索的效率更高?
15 | 从树到图:如何让计算机学会看地图?
16 | 时间和空间复杂度(上):优化性能是否只是“纸上谈兵”?
17 | 时间和空间复杂度(下):如何使用六个法则进行复杂度分析?
18 | 总结课:数据结构、编程语句和基础算法体现了哪些数学思想?
概率统计篇 (14讲)
19 | 概率和统计:编程为什么需要概率和统计?
20 | 概率基础(上):一篇文章帮你理解随机变量、概率分布和期望值
21 | 概率基础(下):联合概率、条件概率和贝叶斯法则,这些概率公式究竟能做什么?
22 | 朴素贝叶斯:如何让计算机学会自动分类?
23 | 文本分类:如何区分特定类型的新闻?
24 | 语言模型:如何使用链式法则和马尔科夫假设简化概率模型?
25 | 马尔科夫模型:从PageRank到语音识别,背后是什么模型在支撑?
26 | 信息熵:如何通过几个问题,测出你对应的武侠人物?
27 | 决策树:信息增益、增益比率和基尼指数的运用
28 | 熵、信息增益和卡方:如何寻找关键特征?
29 | 归一化和标准化:各种特征如何综合才是最合理的?
30 | 统计意义(上):如何通过显著性检验,判断你的A/B测试结果是不是巧合?
31 | 统计意义(下):如何通过显著性检验,判断你的A/B测试结果是不是巧合?
32 | 概率统计篇答疑和总结:为什么会有欠拟合和过拟合?
线性代数篇 (13讲)
33 | 线性代数:线性代数到底都讲了些什么?
34 | 向量空间模型:如何让计算机理解现实事物之间的关系?
35 | 文本检索:如何让计算机处理自然语言?
36 | 文本聚类:如何过滤冗余的新闻?
37 | 矩阵(上):如何使用矩阵操作进行PageRank计算?
38 | 矩阵(下):如何使用矩阵操作进行协同过滤推荐?
39 | 线性回归(上):如何使用高斯消元求解线性方程组?
40 | 线性回归(中):如何使用最小二乘法进行直线拟合?
41 | 线性回归(下):如何使用最小二乘法进行效果验证?
42 | PCA主成分分析(上):如何利用协方差矩阵来降维?
43 | PCA主成分分析(下):为什么要计算协方差矩阵的特征值和特征向量?
44 | 奇异值分解:如何挖掘潜在的语义关系?
45 | 线性代数篇答疑和总结:矩阵乘法的几何意义是什么?
综合应用篇 (6讲)
46 | 缓存系统:如何通过哈希表和队列实现高效访问?
47 | 搜索引擎(上):如何通过倒排索引和向量空间模型,打造一个简单的搜索引擎?
48 | 搜索引擎(下):如何通过查询的分类,让电商平台的搜索结果更相关?
49 | 推荐系统(上):如何实现基于相似度的协同过滤?
50 | 推荐系统(下):如何通过SVD分析用户和物品的矩阵?
51 | 综合应用篇答疑和总结:如何进行个性化用户画像的设计?
加餐 (3讲)
数学专栏课外加餐(一) | 我们为什么需要反码和补码?
数学专栏课外加餐(二) | 位操作的三个应用实例
数学专栏课外加餐(三):程序员需要读哪些数学书?
结束语 (1讲)
结束语 | 从数学到编程,本身就是一个很长的链条
程序员的数学基础课
登录|注册

19 | 概率和统计:编程为什么需要概率和统计?

黄申 2019-01-28
你好,我是黄申。
通过第一个模块的学习,我想你对离散数学在编程领域中的应用,已经有了比较全面的认识。可以看出来,数据结构和基础算法体现的大多数都是离散数学的思想。这些思想更多的时候是给我们提供一种解决问题的思路,在具体指导我们解决问题的时候,我们还需要更多的数学知识。
比如说,在机器学习、数据挖掘等领域,概率统计就发挥着至关重要的作用。那关于概率统计,我们需要掌握哪些知识呢?这些知识究竟可以用在什么地方呢?第二模块的第一节,我们就来聊聊这些问题,让你对这一模块的学习做到心中有数。

概率和统计里有哪些需要掌握的概念?

在第一个模块中,我们认为所有事件都是一分为二的,要么必然发生,要么必然不发生。换句话说,事件的发生只有必然性,没有随机性。但是现实生活中,我们常常会碰到一些模棱两可的情况。
比如,你读到一则新闻,它报道了某个娱乐圈明星投资了一家互联网公司。那么,这则报道是属于娱乐新闻,还是科技新闻呢?你仔细读了读,觉得全篇大部分的内容都是讲述这家互联网企业的发展,而只有少部分的内容涉及了这位明星的私生活。你可能会说,这篇新闻 80% 的可能属于科技新闻,只有 20% 的可能属于娱乐新闻。这里面的数字表示了事件发生的可能性。概率(Probability)就是描述这种可能性的一个数值。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《程序员的数学基础课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(15)

  • strentchRise
    在机器学习的特征工程步骤中,我们可以使用统计的"正太"分布,
    这个正太应该是“正态”吧?

    作者回复: 对 是个错别字...看来这个输入法使用了很多年轻人的样本...

    2019-01-28
    16
  • 唯她命
    对于离散型随机变量,通过联合概率 P(x, y) 在 y 上求和,就可以得到 P(x),这个 P(x) 就是边缘概率

    看不懂啥意思啊,老师能举个剧透例子吗

    作者回复: 举个生活化的例子,100人里有10个人是学编程的,那么以这100人为全体样本,P(编程)=10/100=10%,而10个人中,3个人是前端编程的,7个人是学后端编程的,那么P(前端, 编程)=3/100=3%,P(后端, 编程)=7/100=7%,这两者加起来就是10%,也就是P(编程)。
    简单的理解,如果把y所有出现情况的P(x, y)相加,就是P(x)了,联合概率变成了边缘概率。至于“边缘”这个名字的来源,你可以想象一下2维的联合概率分布,也就是一张表格,这个过程就是在二维的联合概率分布表格中,对一行或者一列加和,和就写在了表的边缘,这个概率就是“边缘”概率。

    2019-02-14
    11
  • 石维康
    在科技新闻中出现国际新闻的概率就是 5/20=25%。
    请问这个是怎么算的?

    作者回复: 还是沿用了前面的100篇里有20篇是科技新闻

    2019-01-28
    8
  • 三木子
    举个列:硬币只有正反两面,抛硬币正面朝上的概率为50%,假如我抛了三次,结果三次正面朝下。这就违背与直觉观察,这是最初理解概率比较困惑的地方。

    作者回复: 硬币正面朝上的概率为50%,这个是理论值,在实际中受到很多因素的影响。比如,这个硬币构造不够均匀,导致正面朝下的可能性更高。
    另外,假设这三次抛的事件都是独立的,那么三次正面朝下的概率仍有50% * 50% * 50% = 12.5%。

    所以从实验观测的角度来说,我们要抛足够多的次数,才可能获得更接近理论的值,否则偶然性太大。这些我会在后面的专栏介绍。

    2019-01-28
    3
  • Being
    准备专栏结合《程序员的数学2》认真学习
    2019-01-28
    2
  • Paul Shan
    我学概率论,最大的困难在于正态分布的数学表达,现在分布函数已经全忘了,只记得大致的范围,分布在均值一个方差以内是68%,两个方差以内是94%,三个方差以内是99.67%。

    作者回复: 对于编程来说,有的时候可能不需要一下记住那么多细节,关键是概念清楚就好

    2019-08-29
    1
  • Paul Shan
    概率论是选定模型,研究产生的数据有何特征。统计是根据数据反推模型参数。

    作者回复: 是的

    2019-08-29
    1
  • 网虫子
    借用一句:数学是保证,数字是验证。只有从理论高度上理解推导,才不至于迷失在各种数据中。
    2019-07-01
    1
  • alic
    也就是某个事件受其他事件影响之后出现的概率,放到咱们的例子里。在国际新闻中出现科技新闻的概率就是 5/30=16.67%,在科技新闻中出现国际新闻的概率就是 5/20=25%。
    这个后面25%是怎么得来的?

    作者回复: 还是沿用了前面的100篇里有20篇是科技新闻

    2019-01-28
    1
    1
  • 骑行的掌柜J
    因为学习数据分析实战的专栏 才发现之前对概率的理解太片面了 于是来补数学这一块 然后刚刚看完黄申老师这篇 发现其实下面三个专栏结合起来一起服用 会效果更好(程序员的数学基础课+数据分析实战45讲+数据结构和算法之美)比如第二个里面没有讲到的知识都基本可以在另外两个里面找到答案

    作者回复: 感谢对本专栏的肯定

    2019-12-03
  • 康斯坦丁

    之前你对概率统计的认识是什么样的呢?对这块内容,你觉得最难的.
    1. 概率就像演绎,通过已知的先验(幂律分布、正态分布、厄兰分布),推导出结果.
    统计就像归纳,通过小样本数据发现特征和规律,然后放在更大的样本里验证.
    2. 如果将重要的概念、重要的公式烂熟于心、并完全理解.
    2019-08-28
  • zhb
    刚开始学习,想中彩票,有没方法?6和采,,嘿嘿嘿嘿,,,

    作者回复: 这是个值得深入研究的问题,很多数学家都是博彩高手👍

    2019-04-13
  • Thinking
    迫不及待开始学习
    2019-01-29
  • 杨志
    各种统计模型的基本概念及适用范围一直困惑着,比如置信度,置信区间等半懂似懂,再比如泊松分布,t分布等常见统计模型适用场景等
    2019-01-28
  • 无法言喻.
    这些概念太多了,感觉不知道怎么记忆

    作者回复: 不用担心,我会逐个讲解

    2019-01-28
收起评论
15
返回
顶部