机器学习
学习方式
因为每种学习课题的数据类型,建模以及学习的目的不同,决定了学习方式也是不尽相同的。大致分为四种方式:监督学习、半监督学习、弱监督学习、非监督学习。
监督学习
在具备已知正确答案的数据的前提下,利用数据和其对应标签训练得出一个算法,这个将数据和标签对应的过程称之为监督学习。
常见的应用场景有分类学习和回归问题
常见算法有反向传递神经网络和逻辑回归
非监督学习
在非监督式学习中,数据并不被特别标识,适用于你具有数据集但无标签的情况。学习模型是为了推断出数据的一些内在结构。
常见的应用场景包括关联规则的学习以及聚类等。
常见算法包括 Apriori 算法以及 k-Means 算法。
监督学习的步骤
监督学习是使用已知正确答案的示例来训练网络的。想象一下,我们可以训练一个网络,让其从照片库中(其中包含你自己的照片)识别出你的照片。以下就是我们在这个假设场景中所要采取的步骤。
步骤一:数据集的创建和分类
首先我们需要浏览你的照片(数据集),并标识出包含自己的照片,然后将数据集分成两部分,一部分用于训练网络(训练集),另一部分用于得出模型正确识别包含自己的照片的正确率(验证集)。
将训练集的照片提供给模型进程训练,在数学上,就是在深度网络中找到一个函数,这个函数的输入是一张照片,而当你不在照片中时,其输出为0,否则输出为1。
步骤二:训练
选择合适的模型,模型可通过以下激活函数对每张照片进行预测。既然我们已经知道哪些是包含自己的图片,那么我们就可以告诉模型它的预测是对还是错。然后我们会将这些信息反馈(feed back)给网络。
该算法使用的这种反馈,就是一个量化“真实答案与模型预测有多少偏差”的函数的结果。这个函数被称为成本函数(cost function),也称为目标函数(objective function),效用函数(utility function)或适应度函数(fitness function)。然后,该函数的结果用于修改一个称为反向传播(backpropagation)过程中节点之间的连接强度和偏差。
我们会为每个图片都重复一遍此操作,而在每种情况下,算法都在尽量最小化成本函数。
其实,我们有多种数学技术可以用来验证这个模型是正确还是错误的,但我们常用的是一个非常常见的方法,我们称之为梯度下降(gradient descent)。
步骤三:验证
当处理完训练集所有照片,接着要去测试该模型。利用验证集来来验证训练有素的模型是否可以准确地挑选出含有自己在内的照片。
在此过程中,通常会通过调整和模型相关的各种事物(超参数)来重复步骤 2 和 3,诸如里面有多少个节点,有多少层,哪些数学函数用于决定节点是否亮起,如何在反向传播阶段积极有效地训练权值等等。
分类算法的评估方法?
1、几个常用的术语
这里首先介绍几个 常见 的 模型评价术语,现在假设我们的分类目标只有两类,计为正例(positive)和负例(negtive)分别是:
1) True positives(TP): 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数(样本数);
2)False positives(FP): 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数;
3)False negatives(FN):被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数;
4)True negatives(TN): 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。
1)P=TP+FN 表示实际为正例的样本个数。
2)True、False 描述的是分类器是否判断正确。
3)Positive、Negative 是分类器的分类结果,如果正例计为 1、负例计为-1,即 positive=1、negtive=-1。用 1 表示 True,-1 表示 False,那么实际的类标=TF*PN,TF 为 true 或 false,PN为 positive 或 negtive。
4)例如 True positives(TP)的实际类标=1*1=1 为正例, False positives(FP)的实际类标= (-1)*1=-1 为负例,False negatives(FN)的实际类标=(-1)*(-1)=1 为正例,True negatives(TN)的实际类标=1*(-1)=-1 为负例。
2、评价指标
1)正确率(accuracy)
正确率是我们最常见的评价指标,accuracy = (TP+TN)/(P+N),正确率是被分对的样本数在所有样本数中的占比,通常来说,正确率越高,分类器越好。
2)错误率(error rate)
错误率则与正确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(P+N),对某一个实例来说,分对与分错是互斥事件,所以 accuracy =1 - error rate。
3)灵敏度(sensitive)
sensitive = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。
4)特效度(specificity)
specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。
5)精度(precision)
精度是精确性的度量,表示被分为正例的示例中实际为正例的比例, precision=TP/ (TP+FP)。
6)召回率(recall)
召回率是覆盖面的度量,度量有多个正例被分为正例, recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率与灵敏度是一样的。
7)其他评价指标
计算速度:分类器训练和预测需要的时间;
鲁棒性:处理缺失值和异常值的能力;
可扩展性:处理大数据集的能力;
可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解的,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。
关联规则学习
关联规则(Association Rules)是反映一个事物与其他事物之间的相互依存性和关联性,是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。常见的购物篮分析
该过程通过发现顾客放人其购物篮中的不同商品之间的联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略。其他的应用还包括价目表设计、商品促销、商品的排放和基于购买模式的顾客划分。
可从数据库中关联分析出形如“由于某些事件的发生而引起另外一些事件的发生”之类的规则
频繁项集评估标准
常用的频繁项集的评估标准有支持度,置信度和提升度三个
支持度:几个关联的数据在数据集中出现的次数占总数据集的比重
置信度:一个数据出现后,另一个数据出现的概率,或者说数据的条件概率。
提升度:表示含有Y的条件下,同时含有X的概率,与X总体发生的概率之比