背景介绍
编程语句、数据结构、算法,这些开发者的基本功都构筑在数学的基础上,大厂招人的学历门槛,本质上是构筑底层能力与发展潜力的护城河。日常开发工作中,解决问题的逻辑、代码优化的方法,无不体现出数学思维的重要性。
你会学到什么?
对于程序员来说,大而全地学习数学理论是没有必要的,精简程序员用得上的数学知识,将数学原理反哺实践,培养数学思维,提高解决问题的能力,是这个专栏的核心目标。
本专栏共 23 讲,通过以下 4 个模块的讲解,让你成为懂数学的一流程序员:
① 养成无处不在的数学思维。这一模块通过数制转化、数学逻辑、经典公式等原理与业务代码示例,讲解数学思维是如何运用在日常编程工作中的,让你重新审视数学思维在工作中的作用。
② 程序员必备的数学原理:代数与统计。精简的数学知识,比如求极值、向量与导数,这些应用于实际工作哪些方面:如何找到复杂业务最优解,如何完成海量高维度数据计算。这一模块将带你认识数学原理的实际应用,更为你打好理论基础。
③ 打好编程基本功:算法与数据结构。这一模块会讲到二分法、动态规划、递归等通用算法和重要思想,从数学角度找到算法背后的规律,还会结合实战场景,如:利用指数爆炸优化程序,将数学原理、算法与实战结合,事半功倍地夯实开发基本功。
④ AI 与机器学习,热门领域的核心技术。AI 与机器学习的技术核心其实是数学问题,这一模块将通过几个常用技术点,逻辑回归、决策树等,带你入门 AI 建模,从数学角度理解当前热门领域。
课程目录
模块一 无处不在的数学思维
01 | 从计数开始,程序员必知必会的数制转换法
02 | 逻辑与沟通,怎样才能讲出有逻辑的话?
03 | 用数学决策,如何规划好投入、转化和产出?
04 | 万物可数学,经典公式是如何在生活中应用的?
模块二 编程基础,代数与统计
05 | 求极值:如何找到复杂业务的最优解?
06 | 向量及其导数:计算机如何完成对海量高维度数据计算?
07 | 线性回归:如何在离散点中寻找数据规律?
08 | 加乘法则:如何计算复杂事件发生的概率?
09 | 似然估计:如何利用 MLE 对参数进行估计?
10 | 信息熵:事件的不确定性如何计算?
11 | 灰度实验:如何设计灰度实验并计算实验的收益?
12 | 统计学方法:如何证明灰度实验效果不是偶然得到的?
模块三 数学实战,算法与数据结构
13 | 复杂度:如何利用数学推导对程序进行优化?
14 | 程序的循环:如何利用数学归纳法进行程序开发?
15 | 递归:如何计算汉诺塔问题的移动步数?
16 | 二分法:如何利用指数爆炸优化程序?
17 | 动态规划:如何利用最优子结构解决问题?
模块四 数学应用,AI 与机器学习
18 | AI 入门:利用 3 个公式搭建最简 AI 框架
19 | 逻辑回归:如何让计算机做出二值化决策?
20 | 决策树:如何对 NP 难复杂问题进行启发式求解?
21 | 神经网络与深度学习:计算机是如何理解图像、文本和语音的?
彩蛋
22 | 面试中那些坑了无数人的算法题
23 | 站在生活的十字路口,如何用数学决择?
结束语
结束语 | 数学底子好,学啥都快
讲师介绍
公瑾,中科院博士,资深算法专家
国内一线互联网公司资深算法专家,国内首批从事机器学习和数据挖掘的工程师,业界从事算法工作超过 5 年,拥有深厚的一线代码开发经验,对数据结构、算法思想有多年研究和深入理解。