机器学习--基础概念

机器学习类型划分

按有无标签划分

一、有监督学习

有监督学习:用已知某种或某些特性的样本作为训练集,以建立一个数学模型,再用已建立的模型来预测未知样本,此种方法被称为有监督学习,是最常用的一种机器学习方法。是从标签化训练数据集中推断出模型的机器学习任务。(出处:https://www.cnblogs.com/yifanrensheng/p/12076877.html

1.判别式模型(Discriminative Model):直接对条件概率p(y|x)进行建模,常见判别模型有:线性回归、决策树、支持向量机SVM、k近邻、神经网络等;

(1)线性回归:没什么可说的

(2)决策树:没什么可说的

(3)支持向量机SVM:想要的就是找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面。

(4)K近邻:所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个实例的多数属于某个类,就把该输入实例分类到这个类中。

(5)神经网络:赶紧掏出大学课本

2.生成式模型(Generative Model):对联合分布概率p(x,y)进行建模,常见生成式模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等;

(1)隐马尔可夫模型:

(2)朴素贝叶斯模型:https://zhuanlan.zhihu.com/p/37575364

(3)高斯混合模型GMM:混合模型是一个可以用来表示在总体分布(distribution)中含有 K 个子分布的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由 K 个子分布组成的混合分布。

二、无监督学习

无监督学习:与监督学习相比,无监督学习的训练集中没有人为的标注的结果,在非监督的学习过程中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。

1.无监督学习试图学习或者提取数据背后的数据特征,或者从数据中抽取出重要的特征信息,常见的算法有聚类、降维、文本处理(特征抽取)等。

2.无监督学习一般是作为有监督学习的前期数据处理,功能是从原始数据中抽取出必要的标签信息。

3.常见算法:

(1)聚类:https://blog.csdn.net/qq_40597317/article/details/80949123

(2)降维:上面的链接也简单的介绍了降维

(3)文本处理:

三、半监督学习

半监督学习:考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题,是有监督学习和无监督学习的结合

 

按功能性划分 

分类和回归是分类学习的代表,聚类是非监督学习的代表。

一、分类:通过分类模型,将样本数据集中的样本映射到某个给定的类别中(一般是有监督)

二、聚类:通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大(属于无监督)

三、回归:反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系

四、关联规则:获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现频率。(也属于无监督)

算法名称

算法描述(我这种菜鸟需要了解下概念哈哈)

C4.5

分类决策树算法,决策树的核心算法,ID3算法的改进算法。(待了解)

CART

分类与回归树(Classification and Regression Trees) (待了解)

kNN

K近邻分类算法;如果一个样本在特征空间中的k个最相似的样本中大多数属于某一个类别,那么该样本也属于该类别

NaiveBayes

贝叶斯分类模型;该模型比较适合属性相关性比较小的时候,如果属性相关性比较大的时候,决策树模型比贝叶斯分类模型效果好(原因:贝叶斯模型假设属性之间是互不影响的)

SVM

支持向量机,一种有监督学习的统计学习方法,广泛应用于统计分类和回归分析中。

EM

最大期望算法,常用于机器学习和计算机视觉中的数据集聚领域

Apriori

关联规则挖掘算法

K-Means

聚类算法,功能是将n个对象根据属性特征分为k个分割(k<n); 属于无监督学习

PageRank

Google搜索重要算法之一

AdaBoost

迭代算法;利用多个分类器进行数据分类

 

机器学习常见名词

1、泛化能力(generalization ability):是指一个机器学习算法对于没有见过的样本的识别能力。我们也叫做举一反三的能力,或者叫做学以致用的能力。

2、过拟合:是指模型过度的拟合了训练集,而在其他数据集上拟合程度较差。过拟合会导致高方差(Variance)(即为不同训练集得到的模型的输出与这些模型期望输出的差异)

过拟合的解决方案:(1)获取更多训练数据(2)增加正则化程度 (待了解)

3、欠拟合是指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。欠拟合的表现为其在训练集表现较差,在测试集表现同样较差。欠拟合会导致高偏差(Bias) (即为模型的期望输出与其真实输出之间的差异)

欠拟合的解决方案:(1)使用更复杂的模型(2)减少正则化程度 (什么事正则化程度)

4、交叉验证(Cross Validation)

交叉验证是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据进行分组,一部分做为训练集(training set),另一部分做为验证集(validation set),首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。

常见交叉验证:

4.1、简单交叉验证(Hold-Out Method)

将原始数据随机分为两组,一组做为训练集,一组做为验证集,利用训练集训练分类器,然后利用验证集验证模型,记录最后的分类准确率为此分类器的性能指标。

简单交叉验证的优点是处理简单,只需随机把原始数据分为两组即可。严格意义来说Hold-Out Method并不能算是CV,因为这种方法没有达到交叉的思想,由于是随机的将原始数据分组,所以最后验证集分类准确率的高低与原始数据的分组有很大的关系。

4.2、K-折交叉验证(K-fold Cross Validation)

将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标。K-CV可以有效的避免过拟合以及欠拟合的发生。

 

机器学习开发流程

一、数据收集:

数据来源:用户访问行为数据、业务数据、外部第三方数据

数据存储:

1、需要存储的数据:原始数据、预处理后数据、模型结果

2、存储设施:mysql、HDFS、HBase、Solr、Elasticsearch、Kafka、Redis等

数据收集方式:Flume & Kafka(大数据方向的时候要掌握)

在实际工作中,我们可以使用业务数据进行机器学习开发,但是在学习过程中,没有业务数据,此时可以使用公开的数据集进行开发,常用数据集如下:

http://archive.ics.uci.edu/ml/datasets.html

https://aws.amazon.com/cn/public-datasets/

https://www.kaggle.com/competitions

http://www.kdnuggets.com/datasets/index.html

http://www.sogou.com/labs/resource/list_pingce.php

https://tianchi.aliyun.com/datalab/index.htm 国内的:天池的数据

http://www.pkbigdata.com/common/cmptIndex.html

二、数据预处理

大部分情况下 ,收集得到的数据需要经过预处理后才能够为算法所使用,预处理的操作,主要包括以下几个部分:

  1. 数据过滤
  2. 处理数据缺失
  3. 处理可能的异常、错误或者异常值
  4. 合并多个数据源数据
  5. 数据汇总

对数据进行初步的预处理,需要将其转换为一种适合机器学习模型的表示形式,对许多模型类型来说,这种表示就是包含数值数据的向量或者矩阵

  1. 将类别数据编码成为对应的数值表示(一般使用one-hot编码方法)
  2. 从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)
  3. 处理图像或者音频数据(像素、声波、音频、振幅等<傅里叶变换>,小波变换主要处理图像)
  4. 数值数据转换为类别数据以减少变量的值,比如年龄分段
  5. 对数值数据进行转换,比如对数转换
  6. 对特征进行正则化、标准化,以保证同一模型的不同输入变量的值域相同
  7. 对现有变量进行组合或转换以生成新特征,比如平均数 (做虚拟变量)不断尝试

词袋法:将文本当作一个无序的数据集合,文本特征可以采用文本中的词条T进行体现,那么文本中出现的所有词条及其出现的次数就可以体现文档的特征

TF-IDF: 词条的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降;也就是说词条在文本中出现的次数越多,表示该词条对该文本的重要性越高,词条在所有文本中出现的次数越少,说明这个词条对文本的重要性越高。TF(词频)指某个词条在文本中出现的次数,一般会将其进行归一化处理(该词条数量/该文档中所有词条数量);IDF(逆向文件频率)指一个词条重要性的度量,一般计算方式为总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。TF-IDF实际上是:TF * IDF

三、特征提取

四、模型构建

模型选择:对特定任务最优建模方法的选择或者对特定模型最佳参数的选择。

五、模型测试评估

1.在训练数据集上运行模型(算法)并在测试数据集中测试效果,迭代进行数据模型的修改,这种方式被称为交叉验证(将数据分为训练集和测试集,使用训练集构建模型,并使用测试集评估模型提供修改建议)

2.模型的选择会尽可能多的选择算法进行执行,并比较执行结果

3.模型的测试一般以下几个方面来进行比较,分别是准确率/召回率/精准率/F值

  1. 准确率(Accuracy)=提取出的正确样本数/总样本数
  2. 召回率(Recall)=正确的正例样本数/样本中的正例样本数——覆盖率
  3. 精准率(Precision)=正确的正例样本数/预测为正例的样本数
  4. F值=Precision*Recall*2 / (Precision+Recall) (即F值为正确率和召回率的调和平均值)

六、模型过程:

 

 

 

 

文章来源:https://www.cnblogs.com/yifanrensheng/p/12076877.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值