机器学习:公式推导与代码实现
上QQ阅读APP看书,第一时间看更新


第一部分 入门篇

随着人工智能技术的快速发展,如今机器学习(machine learning)这个名词说是“烂大街”也不为过。作为一门以数学计算理论为支撑的综合性学科,机器学习的范畴早已广博繁杂,以至于别人问你擅长什么,你答曰机器学习,那么大概率你是没有专长的。在不同的细分领域、应用场景和研究方向下,每个人做的机器学习研究可能天差地别。

甲同学即将毕业,他想用线性回归来预测应届毕业生在机器学习岗位上的薪资水平;乙同学任职于一家医疗技术公司,他想用卷积神经网络来预测患者肺部是否发生病变;丙同学是一家游戏公司的算法工程师,他的工作是利用强化学习来进行游戏开发。上面提到的线性回归、卷积神经网络和强化学习,都是机器学习算法在不同场景下的应用。上层的应用千变万化,但机器学习的底层技术是不变的。

那么,什么是机器学习的底层技术呢?一是必备的数学推导能力,二是基于数据结构和算法的基本代码实现能力。本书取名为“公式推导和代码实现”,正是源于此。笔者希望通过对主流机器学习模型的详细数学推导和不借助或少借助第三方机器学习库的源码实现,来帮助各位读者从底层技术的角度完整、系统和深入地掌握机器学习。

为了方便本章的行文叙述,下面通过一个简单的例子来引入机器学习。丁师傅是一家饭店的厨师,根据个人从业经验,他认为“食材新鲜度”“食材是否经过处理”“火候”“调味品用量”和“烹饪技术”是影响一盘菜肴烹饪水平的关键因素。