《数学之美》学习笔记

学习材料:数学之美

学习计划:每天1~2章

学习时长:7.20左右【超时,预计8月初完成】


第一章 文字和语言 vs 数字和信息

  • 香农:信息论之父
  • 非洲是人类文明的摇篮
  • 汉字大约有十万个,常用的七千个
  • 信息的载体不仅可以是文字,也可以是数字(0和1)
  • 信息冗余,虽然麻烦但是信息会更安全。比如有多个语言的书
  • 十进制的原因是人类有十根手指
  • 古印度人创造了阿拉伯数字,而不是阿拉伯人
  • 实践是检验真理的唯一标准

第二章 自然语言处理 从规则到统计

  • 任何一种语言都是一种编码方式,语言的语法规则是编解码的算法[一种很好理解算法的描述方式]
  • 机器翻译和语音识别不是靠理解自然语言工作的,而是数学统计模型

第三章 统计语言模型

  • 判断一个句子是否合理,通过概率实现。贾里尼克,马尔可夫解决了概率难算的问题(二元模型)
  • 数学的魅力在于把复杂问题简单化。而编程的魅力在于可以创造一个完全逻辑的世界

第四章 谈谈分词

  • 想实现分词,ABCDE,如果AB可以连起来AB一组,如果ABC可以连起来就ABC一组,以此类推
  • 颗粒度,经常看到这个词,指的是划分的块大小,专业的描述法
  • 对于暴力实现分词的方法。有更好的实现方法,先按最小颗粒度划分,再到复合词表去优化。具体细节不清楚,只知道有这个方法去做

第五章 隐含马尔可夫模型

  • 通信的本质是一个编码和解码的过程
  • 隐含马尔可夫模型是机器学习的主要工具之一

第六章 信息的度量和作用

  • 信息熵和变量的不确定性成正比;互信息 = 加入一个信息后的信息熵改变量;相对熵,两个函数的差异越小,相对熵越小。凭借这个原理可以实现查重
  • 信息的作用:消除不确定性

第七章 贾里尼克和现代语言处理

  • 我一直认为,一个人想要在自己的领域走到世界一流,他的周围必须有非常多的一流人物

第八章 简单之美

  • 所有的数学和逻辑运算,加减乘除,乘方开发全都可以转化成二进制运算
  • 假设当前有n个网页,m个词,那就会有一张m*n的索引表,当索引多个关键词的时候,就可以进行&操作,判断哪个文章有我们想要的数据,然而数据太大,采用分布式,相当多个服务器分担压力

第九章 图论和网络爬虫

  • 上一章说了如何建立索引,这章分析如何加载所有的网站(作为资源库)
  • 网络爬虫:把每一个网页当作一个节点,超链接当作弧;实现:BFS + 优先队列
  • 欧拉图:从一个顶点出发,每条边不重复地遍历每一个顶点。要求每个顶点的度为2。证明:一进一出
  • 情景:表信息太大,性能遇到瓶颈怎么办?首先分布式,明确每台下载服务器的分工,这样一看到某个tag就知道这个URL要往哪个服务器去搜索。往服务器发数据的时候,把多个小数据合在一起再发,减少TCP启动,结束(三次握手,四次挥手)带来的时间消耗

第十章 PageRank

  • 本章目的是介绍度量网页质量的方法。PageRank算法:一个网页如果被很多其他网页链接,说明它受到普遍的信赖和认可。PageRank算法的实现:矩阵乘法,证明最后收敛,再进行平滑处理,得到最后的迭代公式

第十一章 如何确定网页的查询和相关性

  • 如今搜索引擎进行搜索和排序的主要依据有:完备的搜索引擎,网页质量的度量(PageRank),用户偏好(很多浏览器下载完成之后会提示输入感兴趣的话题),确定一个网页和某个查询的相关性算法(TF-IDF)
  • TF-IDF公式为;D指网页总数,D_w指和关键词w相关的网页数。用IDF作为w的权重

第十二章 有限状态机和动态规划

  • 顺便复习了一下Dijkstra,终于理解了算法的核心思想:S->....->A->B,假设是S到B的最短路,那么S->A此时也一定是最短路,否则肯定有从S->B更短的路径。因此,每次从当前距离远点最小的点开始更新,扩散到附近的点,一定是S->now->next最短的路径。而dis最小的点,也肯定不能被其他dis比他大的点所更新

第十三章 Google AK-47的设计者

  • AK-47冲锋枪,从不卡壳,不易损坏,可以在任何环境下使用,可靠性好,杀伤力大,操作简单
  • 许多失败并不是因为人不优秀,而是做事情的方法不丢,一开始追求大而全的解决方案
  • 寻找简单有效的解决方案,相信简单哲学(经过深思熟虑,给出合理的解释)

第十四章 余弦定理和新闻的分类

  • 新闻的分类,很大程度上是依靠余弦定理,用余弦值确定关联

第十五章 矩阵运算和文本处理中的两个分类问题

  • 对于一个矩阵A,使用奇异值分解可以将其分解为A = X * B * Y,即三个矩阵的乘积,这样可以减少计算量。在实际应用中,可以先进行奇异分解得到粗分类结果,再利用向量余弦方法进行迭代

第十六章 信息指纹及其应用

  • 哈希,散列表,密码,时间复杂度,空间复杂度

第十七章 谈谈密码学的数学原理


第十八章 谈谈搜索引擎反作弊问题和搜搜结果的权威性问题

  • 噪音存在于任何通信系统,而好的通信系统需要过滤掉噪音,还原真实信号。搜索引擎是一个特殊的通信系统,反作弊和确定权威性就是去噪音的过程。而这一过程背后依靠的是数学模型和方法
  • 原始的信号混入噪音相当于给两个信号做卷积,噪音消除相当于是解卷积的过程

第十九章 谈谈数学模型的重要性

  • 近日点运行比远日点快?
    • 开普勒定律:相同时间内,日地连线扫过的面积相等
  • 一个正确的数学模型应该足够简单
    • 思考:就像一个工程框架应该足够清晰一样
  • 正确的模型可能会存在噪音的干扰,而不正确,这时候不应该采用一种“凑活的修正方法加以弥补”,而是找到噪音的根源,这也许能通往重大的发现
    • 思考:当在开发过程中,碰到BUG应该认真找出问题的根源,而不是特判,仅仅着眼于眼前的问题

第二十章 谈谈熵最大模型——不要把鸡蛋放到一个篮子里

  • 最大熵:保留全部的不确定性,将风险降到最小。他可以解决将各种信息整合到一个统一的模型中的问题,它有很多良好的特性:形式简单,效果好
  • 不要把鸡蛋放到一个篮子里是一个最大熵模型

第二十一章 语音输入法的数学原理

  • 不同的问题,可能背后的原理,数学模型是相同的

第二十二章 自然语言处理的教父马库斯和他的优秀弟子们

  • 马库斯让他的学生自选题目去研究。典型有两种数学模型:追求完美和简单才美。一种是复杂但优化到极致,一种是简单效果好

第二十三章 布隆过滤器(散列表强化版本)

  • 布隆过滤器的原理是用多个随机数对用的bit都为1的概率去judge,用少量空间存储大量信息
    • 思考:设计思路比较暴力。。 我的第一反应是用字典树,如果只允许使用字母和数字的情况下,36层,每层36种可能。每次查找的复杂度是O(36)

第二十四章 马尔可夫链的扩展(贝叶斯网络)

全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗  他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了  好好准备,等待明天的影石360和周四的腾讯了  加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务