目录
机器学习的一般步骤
分类算法
决策树
支持向量机
最近邻算法
贝叶斯网络
神经网络
聚类算法
K—均值算法
BIRCH算法
CURE算法
OPTICS算法
关联分析算法
Apriori算法
FP-growth算法
回归分析算法
线性回归
逻辑回归
多项式回归
邻回归
LASSO回归
深度学习
机器学习的一般步骤
定义分析目标
收集数据
数据预处理
数据建模
模型训练
模型评估
模型应用
分类算法
分类算法是应用分类规则对记录进行目标映射,将其划分到不同的分类中,构建具有泛化能力的算法模型,即构建映射规则来预测未知样本的类别
分类算法包括预测和描述两种,经过训练集学习的预测模型在遇到未知记录时,应用规则对其进行类别划分,而描述型的分类主要是对现有数据集中特征进行解释并进行区分,例如对动植物的各项特征进行描述,并进行标记分类,由这些特征来决定其属于哪一类目
主要的分类算法包括决策树、支持向量机(Support Vector Machine, SVM)、最近邻(K NearestNeighbors, KNN) 、贝叶斯网络( Bayes Network) 和神经网络等
决策树
决策树是一棵用于决策的树, 目标类别作为叶子结点,特征属性的验证作为非叶子节点,而每个分支是特征属性的输出结果。擅长对人物、位置、事物的不同特征、品质、特性进行评估,可应用于基于规则的信用评估、比赛结果预测等。
决策过程是从根结点出发,测试不同的特征属性,按照结果的不同选择分支,最终落到某一叶 子结点,获得分类结果。
主要的决策树算法有ID3、C4.5、C5.0、 CART、CHAID、 SLIQ、 SPRINT等算法
决策树的构建过程是按照属性的优先级或重要性米逐渐确定树的层次结构,使其叶于结点尽明能属于同一类别,一般采用局部最优的贪心策略来构建决策树量机支持向量机
支持向量机
支持向量机的主要思想是将低维特征空间中的线性不可分进行非线性映射转化为高维空间的线性可分。例如在二维平面图中某些点是杂乱排布的,无法用一条直线分为两类,但是在三维空间中,可能通过一个平面可以将其划分
为了避免在低维空间向高维高空转化过程中增加计算复杂性和“维数灾难”支持向量机应用核函数,不需要关心非线性映射的显式表达式,直接在高维空间建立线性分类器,优化了计算复杂度。支持向量机常见的核函数有线性核函数、多项式核函数、径向基函数和二层神经网络核函数等
支持向量机的目标变量以分类最佳,虽然可以用于多分类, 但效果不好。与其他分类算法相比,支持向量机对小样本数据集分类效果更好
最近邻算法
对样本应用向量空间模型表示,将相似度高的样本分为一类,对新样本计算与之距离最近(最相似)的样本的类别,那么新样本就属于这些样本中的类别最多那一类。 可见影响分类结果的因素分别为距离计算方法、近邻的样本数量等。
相似度距离计算方法:欧式距离、曼哈顿距离、切比雪夫距离、明科夫斯基距离、 标准化欧氏距离、马氏距离、巴氏距离、汉明距离、夹角余弦、杰卡德相似系数、皮尔逊系数
最近邻算法的主要缺点
1、在各分类样本数量不平衡时误差较大。
2、由于每次比较要遍历整个训练样本集来计算相似度,所以分类的效率较低,时间和空间复杂度较高。
3、近邻的数量选择不合理可能会导致结果的误差较大。
4、在原始近邻算法中没有权重的概念,所有特征采用相同的权重参数,这样计算出来的相似度易产生误差。
贝叶斯网络
贝叶斯网络贝叶斯网络又称为置信网络,是基于贝叶斯定理绘制的具有概率分布的有向弧段图形化网络,其理论基础是贝叶斯公式,网络中的每个点表示变量,有向孤段表示两者间的概率关系。
与神经网络相比,贝叶斯网络中的节点都具有实际的含义,节点之间的关系比较明确,可以从贝叶斯网络中直观看到变量之间的条件独立和依赖关系,可以进行结果和原因的双向推理。
贝叶斯网络分类算法分为朴索贝叶斯算法和普通贝叶斯算法,在节点数较少的网络结构中可选精确贝叶斯算法以提高精确概率,在节点数较多时,为减少推理过程和降低复杂性,一般选择朴素贝叶斯算法。
神经网络
神经网络包括输入层、隐藏层、输出层
每一个节点代表一个神经元, 节点之间的连线对应权重值
输入变量经过神经元时会运行激活函数对输入值赋予权重和加上偏置
并将输出结果传递到下一层中的神经元,而权重值和偏置是在神经网络训练过程中不断修正
神经网络的训练过程主要包括前向传输和逆向反馈
1、将输入变量逐层向前传递最后得到输出结果,并对比实际的结果,逐层逆向反馈误差
2、同时对神经元中权重值和偏置进行修正,然后重新进行前向传输,依此反复迭代直到最终预测结果与实际结果一致或在一定的误差范围内。
3、由于神经网络是基于历史数据构建的模型,因此,随着新的数据不断产生,需要进行动态优化,例如随着时间变化,应用新的数据对模型重新训练,调整网络的结构和参数值
聚类算法
聚类是基于无监督学习的分析模型,不需要对原始数据进行标记,按照数据的内在结构特征进行聚集形成簇群,从而实现数据的分离
聚类与分类的主要区别是其并不关心数据是什么类别,而是把相似的数据聚集起来形成某一类簇。在聚类的过程中,首先选择有效特征构成向量,然后按照欧式距离或其他距离函数进行相似度计算,并划分聚类,通过对聚类结果进行评估,逐渐迭代生成新的聚类
聚类应用领域广泛,可以用于发现不同的企业客户群体特征、消费者行为分析、市场细分、交易数据分析、动植物种群分类、医疗领域的疾病诊断、环境质量检测等,还可用于互联网和电商领域的客户分析、行为特征分类等
聚类方法可分为基于层次的聚类、基于划分的聚类、基于密度的聚类、基于约束的聚类、基于网络的聚类等
K—均值算法
传统的k-均值算法的聚类过程是在样本集中随机选择k个聚类中心点,对每个样本计算候选中心的距离进行分组,在得到分组之后重新计算类簇的中心,循环迭代直到聚类中心不变或收敛
k-均值存在较多改进算法,如初始化优化k-均值++、距离优化Elkan k -Means算法、k Prototype算法等
k-均值算法的主要
优点
可以简单快速处理大数据集,并且是可伸缩的,当数据集中类之间区分明显(凸形分布)时,聚类效果最好
缺点
要用户给出k值,即聚类的数目,而聚类数有时事先很难确定一个 合理的值
k- 均值算法对k值较敏感,如果k值不合理可能会导致结果局部最优
BIRCH算法
BIRCH算法是指利用层次方法来平衡迭代规则和聚类,它只需要扫描数据集一次便可实现聚类,它利用了类似B+树的结构对样本集进行划分,叶子结点之间用双向链表进行连接,逐渐对树的结构进行优化获得聚类
BIRCH算法的主要优点
空间复杂度低内存占用少,效率较高,能够对噪声点进行滤除
缺点
树中结点的聚类特征树有个数限制,可能会产生其与实际类别个数不一致的情况
对样本有一定的限制,要求数据集的样本是超球体,否则聚类的效果不佳。
CURE算法
传统的基于划分聚类的方法得到的是凸形的聚类,对异常数据较敏感,而CURE算法是使用多个代表点来替换聚类中的单个点,算法更加健壮。并且在处理大数据时采用分区和随机取样,使其处理大数据量的样本集时效率更高且不会降低聚类质量
OPTICS算法
在DBSCAN算法中,有两个初始参数ε (邻域半径)和minPts(ε邻域最小点数)需要用户手动设置,这两个参数较关键,不同的取值将产生不同的结果。而OPTICS 克服了上述问题,为聚类分析生成一个增广的簇排序,代表了各样本点基于密度的聚类结构
关联分析算法
关联分析(Associat ive Analysis) 是通过对数据集中某些项目同时出现的概率来发现它们之间的关联关系,其典型的应用是购物篮分析,通过分析购物篮中不同商品之间的关联,分析消费者的购买行为习惯,从而制定相应的营销策略,为商品促销、产品定价、位置摆放等提供支持,并且可用于不同消费者群体的划分。
Apriori算法
Apriori算法主要实现过程是首先生成所有频繁项集,然后由频繁项集构造出满足最小置信度的规则
由于Apriori 算法要多次扫描样本集,需要由候选频繁项集生成频繁项集,在处理大数据量数据时效率较低。
FP-growth算法
该算法只进行两次数据集扫描且不使用侯选项集,直接按照支持度来构造一个 频繁模式树,用这棵树生成关联规则,在处理比较大的数据集时效率比Apriori算法大约快一个数量级,对于海量数据,可以通过数据划分、样本采样等方法进行再次改进和优化
回归分析算法
回归分析是一种研究自变量和因变量之间关系的预测模型,用于分析当自变量发生变化时因变量的变化值。
要求自变量相互独立
线性回归
机器学习应用线性回归进行分析折时要求自变量是连续型,线性回归用直线(回归线)去建立因变量和一个或多个自变量之间的关系
线性回归主要的特点如下:
1、自变量与因变量之间呈现线性关系
2、多重共线性、自相关和异方差对多元线性回归的影响很大
3、线性回归对异常值非常敏感,其能影响预测值
4、在处理多个自变量时,需要用逐步回归的方法来来自动选择显著性变量,不需要人工干预,其思想是将自变量逐个引入模型中,并进行F检验、t检验等来筛选变量,当新引人的变量对模型结果没有改进时,将其剔除,直到模型结果稳定。逐步回归的目的是选择重要的自变量。用最少的变量去最大化模型的预测能力,它也是一 种降维技术,主要的方法有前进法和后退法,前者是以最显著的变量开始,逐渐增加次显著变量。后者是逐渐剔除不显著的变量
逻辑回归
逻辑回归般应用于分类问题。如果因变量类型为序数型的,则称为序数型逻辑回归;如果因变量有多个,则称为多项逻辑回归。
逻辑回归需要大的样本量,在低样本量的情況下可能效果不佳,因为最大似然估计在低样本数量时的统计结果误差较大。
多项式回归
在回归分析中有时会遇到线性回归的直线拟合效果不佳,如果发现散点图中数据点呈多项式曲线时,可以考虑使用多项式回归来分析。
用多项式回归可以降低模型的误差,但是如果处理不当易造成模型过拟合,在回归分析完成之后需要对结果进行分析,并将结果可视化以查看其拟合程度
邻回归
岭回归又称为脊回归,在共线性数据分析中应用较多,是种有偏估计的回归方法,在最小二乘估计法的基础,上做了改进,通过舍弃最小二乘法的无偏性,以损失部分信息为代价使得回归系数更稳定和可靠。其中R方值会稍低于普通回归分析方法,但回归系数更加显著,主要用于变量间存在共线性和数据点较少时
LASSO回归
LASSO回归的特点是与岭回归类似,在拟合模型的同时进行变量筛选和复杂度调整。变量筛选是逐渐把变量放入模型从而得到更好的自变量组合。复杂度调整是通过参数调整来控制模型的复杂度,例如减少自变量的数量等,从而避免过度拟合
LASSO回归也是擅长处理多重共线性或存在一定噪声和冗余的数据,可以支持连续型因变量、二元、多元离散变量的分析
深度学习
深度学习方法是通过使用多个隐藏层和大量数据来学习特征,从而提升分类或预测的准确性
受限玻尔兹曼机
深度信念网
卷积神经网络
层叠自动编码器
深度神经网络
循环神经网络
对抗神经网络