机器学习笔记

机器学习的常见算法简介

有监督学习

  有监督学习(Supervised learning):利用一组已知类别的样本进行训练模型,使其达到性能要求。特点为输入数据(训练数据)均有明确的标识或者结果(也成为标签),即我们提供样例“教”计算机如何学习。
  分类算法:通过对已知类别训练集的分析看,从中发现分类规则,一次预测新数据的类别的方法。
  按照原理分类:基于统计的(贝叶斯分类)、基于规则的(决策树算法)、基于神经网络的(神经网络算法)、基于距离的(KNN算法)。
  常用的评估指标:①精确率:预测结果与实际结果的比例;②召回率:预测结果中某类结果的正确覆盖率;③F1-Score:统计量,综合评估分类模型,取值0-1之间

KNN算法(K最近邻算法)

  KNN:k-Nearest Neighbour,分类算法中最简单的算法之一,其核心思想是如果离某个样本最近的k个样本中大都数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特征,KNN不但可以预测分类,还可以做回归分析。
  有N个一直分类结果的样本点,对新记录r使用KNN将其分类的步骤如下:

  • step1:确定k值,确定计算距离的公式,比如欧氏距离
  • step2:计算r和其他样本点之间的距离d
  • step3:得到目前和r最接近的k个样本,作为KNN距离的训练样本
  • step4:将k个样本中最多归属类别的分类标签赋予新记录r,分类结束

  优点:
  1.原理简单,容易理解,容易实现
  2.重新训练代价较低
  3.时间空间复杂度取决于训练集
  缺点:
  1.KNN属于lazy-learning算法,得到结果的及时性差
  2.k值对结果影响大
  3.不同类记录相关较大时容易误判
  4.样本点较多时,计算量较大
  5.相对于决策树,结果可能解释性不强

决策树

  决策树的构建流程大致如下:
  1.准备工作:明确自变量和因变量,确定信息度量的方式,确定终止条件
  2.选择特征:得到当前待处理子集,计算所有特征信息度量,得到当前最佳分类特征
  3.创建分支:根据选中特征将当前记录分为不同分支,分支个数取决于算法
  4.是否终止:判断是否在满足终止条件,满足则退出2~4的循环,不满足则继续递归调用2~4的循环
  5.生成结果:判断是否需要剪枝,可适当修建形成最终的结果

ID3、C4.5、C50、CART算法


信息熵:信息论中的概念,由香农提出。用于描述混乱程度,取值范围0~1(值越大,越混乱)

  ID3:核心是根据信息熵,根据信息增益决定树的节点,但是也存在一些问题。信息度量不合理(倾向于选择取值比较多的字段);输入类型单一(离散型);不做剪枝,容易过拟合。
  C4.5:再ID3的基础上进一步改进,使用信息增益率取代信息增益,能对连续属性进行离散化,对不完整数据进行处理,进行剪枝处理。
  C50:在C4.5的基础上又进行了改进,使用了boosting,可以前修剪或者后修剪。
  CART:(Classification and Regression Tree,分类回归树)核心是基尼系数,分类方式采用了二叉的结构,支持连续值和离散值,使用后剪枝进行修剪,支持回归,可以预测连续值。

无监督学习

  无监督学习(Unsupervised learning):从无标记的训练数据中推断结论,其特点为输入数据(训练数据)不存在明确的标识或者结果(标签)。常见的无监督学习为据类,即饭先隐藏模式或者对数据进行分组。即计算机根据我们提供的材料“自动”学习,给定数据,寻找隐藏的结构或者模式。

聚类算法

  聚类:就是将相似的事物聚在一起,而将不相似的食物划分到不同的类别的过程,他是一种探索性的分析,不必实现给出一个分类标准,聚类分析能够从样本数据出发,自动进行分类,聚类分析所使用的方法不同,常常会得到不同的结论。
  常见的聚类算法:层次聚类,划分聚类,基于密度的聚类。

K-Means算法(K均值聚类)

  K-Means算法(K均值聚类):属于划分聚类。其工作原理为根据初始化的聚类中心信息,计算每一个样本到这些中心的距离,可以判断每个样本均归属于某个类簇,更新聚簇中心信息,重新计算每个样本到新的聚类中心的距离,重新划分样本到心的聚类中心对应的类中,重复进行,直到满足终止条件。
  假设有N个样本点,使用K-Means将其聚类的步骤如下:

  • Step1:确定聚类的个数k,并指定k个聚类的中心。
  • Step2:计算每个样本点到k个中心的距离,并将其归入到最近的类中。
  • Step3:重新计算k个聚类的中心点,更新原有中心点的位置。
  • Step4:重复步骤Step2和Step3,知道中心点位置不再变化或者变化幅度小于约定的阈值,或者得到预定的最大循环次数,结束,将得到最终的聚类结果。

  优点:
  1.原理简单,容易理解,容易实现
  2.聚类结果容易解释
  3.聚类结果相对较好
  缺点:
  1.分类个数k需要实现确定,且k值不同,聚类结果相差较大
  2.初始的k个类簇中心对最终的结果是有影响的,选择不同,结果可能会不同
  3.能识别的类簇仅为球状,非球状的聚类效果很差
  4.样本点较多时,计算量较大
  5.对异常值敏感,对离散值需要进行特殊处理

关联规则

  关联规则:反应事物与事物之间相互的依存关系和关联性,如果两个或多个事物之间存在一定的关联关系,则其中一个事物就能够通过其他事物预测到。比如最常见的购物篮分析(Market Basket),经典案例就是啤酒和尿布。

Apriori算法

半监督学习

  半监督学习:训练数据有部分被标识,部分没有被标识,这种模型首先需要学习数据的内在结构,以便合理的组织数据来进行预测。旨在避免数据和资源的浪费,解决监督学习的模型泛化能力不强,无监督学习的模型不精确等问题。
  常见的学习方法:半监督分类、半监督回归、半监督聚类、半监督降维。
  集成学习:针对同一数据集,训练多种学习器,来解决同一个问题。例如:Bagging、Boosting、Stacking


当珍惜每一片时光~