前言:
以下是我在自己理解的基础上做的总结,介绍了机器学习的定义以及评估算法的几个概念。
-
定义
- 机器学习是一门从数据中研究算法的科学学科。是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测。机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果,只是这个函数过于复杂,以至于不太方便形式化表达。需要注意的是,机器学习的目标是使学到的函数很好地适用于“新样本”,而不仅仅是在训练样本上表现很好。学到的函数适用于新样本的能力,称为泛化(Generalization)能力。
1.数据中研究算法
可以从人的学习来理解机器学习,比如,人通过西瓜的颜色,响声,根蒂来挑选西瓜,也就是说人通过经验来对新的情况作出预测。而计算机中,“经验”是以“数据”的形式的存在,从数据中产生模型算法也叫学习算法,对新的情况进行预测。如下图:
2.机器学习分类 - 有监督学习:
- 预测值是离散值,如根据瓜的成色(特征值),判断出是“好瓜” 或者是“坏瓜”(目标属性),这种学习任务就是“分类”。
- 预测值是连续值,比如根据瓜的相貌,判断出这个西瓜值多少钱。这种学习任务是连续的,就会用到“回归”问题。
- 无监督学习:
如果没有给出目标属性,那怎么办呢?我们可以对样本进行“聚类”处理,简单的来讲,就是根据把具有某些相同特征的样本划分到一起直接进行分类。这里提到的聚类将会在以后的章节有介绍。
3.关于模型
也就是机器学习算法,从数据中获得一个假设的函数g,使其非常接近目标函数f的效果。
算法(T):根据业务需要和数据特征选择的相关算法, 也就是一个数学公式。
模型(E):基于数据和算法构建出来的模型,模型构建的时候要先把历史数据分为“训练集”和“测试集”用于训练算法。
4.机器学习的过程
5.如何评估你得到的算法的好坏?
鲁棒性:也就是健壮性、稳健性、强健性,是系统的健壮性;但缺点是当存在异常数据的 时候,算法也会拟合数据
模型训练中可能出现的问题:
1> 欠拟合:由于学习不足,还得进行继续学习。
解决方法:添加特征值,提取更多的特征
2> 过拟合:学习的太彻底,使得模型在训练数据中的效果非常好,然而在实际的数据中反而不太好。
解决方法:1.正则化方法 2.提前终止 3.逐层归一化
不过,数据训练过程中始终是最重要的,往往都是更多的数据胜过一个更好的模型。-
流程
- 数据收集
很关键,传统行业转向机器学习的第一步 - 数据清理
大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的数值
数据过滤
处理数据缺失
处理可能的异常、错误或者异常值
合并多个数据源数据
数据汇总 - 模型训练
- 模型测试
- 模型选择:对特定任务最优建模方法的选择
模型的测试一般以下几个方面来进行比较,分别是准确率/召回率/精准率/F值
1 准确率(Accuracy)=提取出的正确样本数/总样本数
2 召回率(Recall)=正确的正例样本数/样本中的正例样本数——覆盖率
3 精准率(Precision)=正确的正例样本数/预测为正例的样本数
4 F值=PrecisionRecall2 / (Precision+Recall) (即F值为正确率和召回率的调和平均值)
5 ROC曲线
注:AUC表示ROC的面积,AUC的值越大表示模型越好