一、机器学习与数学知识简介
1、 机器学习的目的:现代人都讲究资源整合,学习应用也是一样,需要将工作中所接触和学习到的技能整合起来形成自己的核心竞争力力,提高自己的不可替代性,而机器学习恰好是当前最热门也最有用的结合之一。
具体来说,数据研究人员的职场能力可以分成3个方面:计算机技术、数理统计知识和特定行业的业务知识。而“机器学习”就是计算机技术与数理统计知识的结合,“传统研究”则是数理统计与特定行业业务知识的整合,而一个不具备数理统计能力的码农则进入了一个“危险区域”,因为他通常已经在一家公司工作多年,具备基本的计算机能力,熟悉公司乃至行业有关的业务情况,却对数理统计一窍不通。相反,若具备3种职场能力并能全部有效整合起来,那就形成了所谓的“数据科学”。而“量化交易”正属于“数据科学”中有关金融和交易业务的部分。
2、 机器学习的分类:根据1959年Arthur Samuel的定义,机器学习就是研究在没有完全为计算机程序规定精确规则的基础上,如何让计算机具备自主学习能力的研究。大体而言可分为3类,监督学习,非监督学习和强化学习。监督学习通常用于分类预测和回归分析,例如用户点击和购买预测;非监督学习用于聚类和关联规则,例如新闻聚类;强化学习则是用于Q-learning和时间差学习,例如动态系统及机器人控制。简单而言,监督学习就是在已知当前所有样本标签的情况下去预测下一个样本的标签,非监督学习就是未知样本具体标签,而尝试去为它们打上标签。
3、机器学习的一般思路:机器学习的研究流程是,首先收集一系列样本数据,透过某一种机器学习算法所得到的假设函数或得分函数h(x),计算由h(x)与样本间的误差形成损失函数
J(
),使其最小化,形成对总体模型的估计,最终去预测新样本的相关类别。其中最重要的部分是h(x)的假定和J(
)的计算,具体到监督学习上来说,则是在规则化参数的同时最小化误差,即使模型相对简单的同时使误差最小,前者保证模型不会过拟合,而后者则避免了欠拟合。在众多的学习研究,包括该课程中,重点研究损失函数的最小化问题。
4、机器学习的数学基础:机器学习所需要的数学知识包含3个大类:高等数学、概率统计与线性代数。就个人的感觉来说,高等数学作用于损失函数最小化问题求解,概率统计则是收集并处理数据,得到假设函数所需要的一系列特征量,最后估计新样本落在最优模型中某个类别的概率,而线性代数则用于在最优化问题在多维空间中的线性表达。
高等数学中最重要的就是泰勒公式、梯度和凸函数。由于导数本身是对函数的线性逼近,因此泰勒公式的本质就是对函数进行逼近,在邻域内的不断逼近迭代则是梯度下降法和牛顿法的精髓,只不过前者是函数的一阶导数逼近,后者是二阶。梯度本身定义为函数增长的方向,因此由全微分公式推出方向导数后,通过其余弦公式可知,只有在梯度方向与方向导数同向时,才能使得函数增长最快,这也是梯度下降法寻找最优解的由来。如果函数的最优化问题没有精确的代数解,通常会使用迭代的方法求解最优参数,但它们一般只会得到局部最优解,因此若能将函数本身变换为凸函数,迭代产生的局部最优解往往又是全局最优解本身。
概率与统计中的关注点在于,概率求解在已知样本总体分布的情况下,某一次抽样产生特定结果的可能性,而统计则是未知总体,通过对已知结果的不断抽样,计算总体分布的形态。因此,统计问题往往就是概率问题的逆向工程。而概率论与统计学习的关系在于,在已知多次抽样结果的情况下,对总体分布做出估计,然后使用估计的总体分布去预测下一次抽样结果的可能性,因此机器学习,尤其是监督学习算法先使用统计训练样本得到模型,后利用估计的模型对未来做出预测。于是就有一个不严谨的说法,机器学习是概率与统计的进阶版本。
线性代数的关注点通常在于求解多维特征的最优参数时,能简化计算过程,将繁杂的计算转变为简单的矩阵形式,同时大大的加快迭代的速度。举例可参考SVD算法。