算法分类及一般建模流程

身体不适,中断几天,接下来会陆续上传一些基本算法的概念、同时会附上一个算法使用例子。在此之前需要先把算法的大分类进行一个简单说明:

一、按照机器学习分类

1、有监督学习:已经知道why,这个why可以是分类变量的类别标签,也可以是要预测的数据集的值(比如收入)、可能是单类别或者多类别变量,通过目标变量的不一样有监督学习可以分为两大类,如果是鉴别类别称之为:分类,如果是预测的话,例如二手车的销售价格等,称之为:回归。【后续举例】

2、无监督学习:比如聚类,本身不需要知道why,是探索和启发式的过程,通过寻找类之间的属性,把类进行人工定义,定义好类标签,对决策、后续数据驱动活动进行指导。再在类别基础上进行有监督学习建模,进行工程实施部署。【后续举例】

3、强化学习:算法能够自主学习、自主迭代。对于每一个数据点,算法需要选择一个动作,学习算法接收到一个回报信号后不久,反馈这个决定好不好,基于此,算法修改其策略以达到更高的回报。【近期本博客不会延伸】

二、依据需要解决的问题将算法分类

1、分类:属于有监督学习,数据被用来预测一个分类,当只有两种选择时,称为二类或二项式分类,当有更多类别时称之为多项式分类

2、回归:属于有监督学习,研究两个变量之间的关系,或者一个变量与多个变量之间的关系,即:一元回归和多元回归。如果按照自变量和因变量之间的关系类型(估计函数)划分,可分为线性回归和非线性回归。

3、聚类:无监督学习,把原来数据集分为多个簇,每个簇里边的元素在某种意义上更加相似。可对簇进行主观定义,例如本博客之前提到的互联网金融平台重要客户分类,利用聚类将客户进行划分,分为超级买家、平台粉丝等,

4、异常检测:无监督学习,用来检测当前数据点、或者新进数据点跟现有数据点之间的关联性,如果关联性不强,那么就认为这些点是异常点,例如金融行业里的反欺诈、OTO里边的防刷单等。

三、按照目的看

目标变量 算法
预测类别 分类
预测数值 回归
发现数据集内部的结构 聚类
发现异常数据点 异常检测


无论是哪种,关键点是:数据集与需要需求的变量之间存在关联性。比如目标是反欺诈但是数据只有生理维度的信息,那么这些生理维度的信息对于反欺诈这个目的是弱变量,所拥有的区分能力并不太好,分不出来或者分得不好。

四、相关算法:

1、回归:

线性回归:线性回归拟合直线,【线性回归采用最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配】

贝叶斯线性回归:将极大似然估计应用到线性回归模型中,并数据样本利用率百分之百,加爵了极大似然估计中存在的过拟合问题,仅仅使用训练样本就可以有效而准确的确定模型的复杂度【采用极大似然估计:已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。最大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。】

提升决策树回归:梯度上升、下降两种方法,例如梯度下降去学习每次回归后分割错误的节点,把节点权重调高之后再进行分割。

2、分类:

逻辑回归:使用S形曲线代替直线,通过给出线性分类边界以便切分数据

决策树和随机森林:C4.5、cart方法

支持向量机(SVM):比如是两个点分类,那么就是两个点连线的垂直平分面作为分离类的边界,多维多数据点,对应超平面,通过尽可能宽的边缘方式发现分离类的边界

人工神经网络:不太了解,但是这是它的位置(囧)

3、聚类:之前单写过,不再赘述

4、异常检测:

K最近邻:对象通过其K个最近邻的多数投票来分类,输出是一个类成员。例如B属性跟A一样,但分类不一样,就怀疑是不是分错了。

单类支持向量机:将一个类用边界包起来,边界之外的任何新数据点都认为是非正常的

五、特征工程

1、主成分分析(PCA):线性降维方法,找出包含信息量较高的特征主成分,解释数据大多数方差(一般85%)

2、前向搜索:最开始不选择任何特征,然后选择最相关的特征,将这个特征加入到已有特征,计算模型的交叉验证误差,重复选取其他所有候选特征,最后,选取能使你交叉验证误差最小特征,放入已选择特征之中,重复,直到达到期望数量的特征为止。

3、反向搜索:从所有特征开始,先移除最不相关的特征,然后计算模型的交叉验证误差,对其他候选特征重复这一过程,最后,移除时交叉验证误差最大的候选特征,重复,直到达到期望数量的特征为止。

4、尺度不变特征变换

5、加速稳健特征

6、方向梯度直方图

六、建模过程

1、输入数据→选择算法(参考本篇文章上述内容,根据实际选择问题挑选任务大类,根据属性选择算法)→得到一个估计函数

2、新数据→用估计函数→新估计

估计函数成为构建的模型

七、参数优化

参考老师文章:

https://notebooks.azure.com/YukWang/libraries/rDataAnalysis

原文地址:https://www.cnblogs.com/keepgoingon/p/7209739.html