机器学习常见算法详情学习
本次小编针对阿里云大学课堂中机器学习算法详情,以个人的见解进行实操并将其分享出来。大家发现什么问题还请多多斧正。
1.如何学习机器学习算法?
首先,机器学习算法的学习要求我们有如下层次:1.懂原理(包括数学推导)。2.能够有工具进行编写。3.学习一门编程语言。4.会优化算法,将算法以明确的目的性优化。
2.机器学习的基本概念
以监督学习为例。首先我们需要输入数据,通过特征工程后进行模型训练,而后进行模型部署最后进行模型应用。模型应用需要定期重新建模,以更新数据
模型并不是一个很复杂的概念。它出现在我们生活上的方方面面。比如电商中出现的买一送一,满200减50等等,都可以是店家进行销售促销的模型。对于店家而言,如何以更高的利润进行出售,这些模型(方法)都是店家的手段。
输入空间:将输入的所有可能取值的集合称作为输入空间。
输出空间:将输出的所有可能取值的集合称为输出空间
注意:
- 输入空间和输出空间可以是有限元素的集合,也可以是欧式空间
- 输入空间和输出空间可以是连续的集合,也可以是离散的集合
- 输入空间和输出空间可以是同一个空间,也可以是不同空间
- 通常下输出空间比输入空间小
特征:即属性。
特征向量:多个特征组成的集合
特征空间:将特征向量存在的空间成为特征空间
- 特征空间中每一位都对应一个特征
- 特征空间可以和输入空间相同、不同
- 需要将实例从输入空间映射到特征空间
- 模型实际上是定义在特征空间之上
假设空间:由输入空间到输出空间的映射的集合
假设空间可以看成是问题所有假设组成的空间;假设空间的确定意味着学习范围的确定。
3.机器学习的三要素
机器学习方法由三要素:模型、策略、算法组成。即方法=模型+策略+算法
模型:输入空间到输出空间的映射关系。简单来说,就是确定学习的范围
策略:从假设空间众多假设中选择到最优的模型的学习标准或者规则,就是确定学习的规则。
算法:学习模型的具体的计算方法,通常是求解最优化问题
1.模型
在模型中,我们要分析确定当前需要解决的任务或者问题,来确定模型。
下图是根据“解决什么样的问题”对应的方法模型。
2.策略
策略通常需要解决以下问题:
- 评估某个模型对单个训练样本的效果
- 评估某个模型对训练集的整体效果
- 评估某个模型对包括训练集、预测集在内的所有数据的整体效果
通常,我们会定义几个指标用来衡量上述问题。
损失函数
损失函数:损失函数用来衡量预测结果和真实结果之间的差距。其中的值越小,代表预测值和真实值结果越一致。通过各种方式缩小损失函数的过程成为优化。损失函数记做L(Y,f(x))
0-1损失函数:没有损失为0,完全损失为1。
绝对值损失函数:预测结果与真实值结果差的绝对值,简单易懂。但是计算不方便。
平方损失函数:预测结果与真实结果差的平方
平方损失函数的优势:每一个样本误差都是正的,并且平方对于大误差的惩罚大于小误差;数学计算较为简单并且友好。导数为一次函数
对数损失函数:对数损失函数具有单调性,在求最优化问题时,结果与原始目标一致
指数损失函数:单调性、非负性的优良性质,使得越接近正确结果误差越小
折叶损失函数:对于判定边界的点惩罚力度大,一般用于SVM。
经验风险和风险函数
经验风险:损失函数度量单个样本的预测结果,衡量整个训练集的预测值与真实值的差异。
风险函数(期望风险):模型对局部的效果,并且往往无法计算。
经验风险的问题:在样本较小时,仅仅关注经验风险很容易导致过拟合。过拟合的问题在于一次模型的损失函数较少,但到了另外一个同样的模型就不适用了。
结构风险
结构风险在于经验风险的基础上,增加一个正则化项或者一个惩罚项。
正则化项:即惩罚函数。该项对模型向量进行惩罚从而避免过拟合问题。
范数:它是模型复杂度的单调递增函数。模型越复杂,该函数的值就越大,惩罚力度也越大。
以上是对机器学习更详细的简述。谢谢大家