机器学习简单入门

机器学习简述

一.机器学习的分类

1.有监督学习简述

有监督学习是指通过输入(Y,X)这种一一对应的数据格式,根绝大量的这种数据建立一个数学模型,随后只需要输入X值,就可以得到一个预测的Y值。

常见的有监督学习算法可以分为回归算法和分类算法两种。
分类算法:分类算法应用于预测结果为离散型数据的场景,即所有可能的Y值是离散型,0-1,true-false此类。

回归算法:回归算法应用于预测结果为连续性数据的场景,即预测结果为一个区间内的任意数值,如预测价格 ,温度。

相似度学习是跟回归和分类都有关系的一种监督学习,他的目标是使用相似度函性从样本中学习,这个函数可以度量两个对象中的相似度。

2.无监督学习简述

无监督学习是指输入只有X这种单独的数据格式,我们需要根据X本身隐藏的特征信息,和大量输入的X之间的相关性信息进行处理的一种机器学习过程。

只有输入,根据数据本身属性的差异进行划分,先有结果再有概念,即根据数据之间的tag差异,把相同类型的数据放在一起,然后再赋予这个群体抽象的概念,如聚类。

3.强化学习简述

通过环境交互并获取延迟返回进而改进型为的学习过程
常用的机器学习分类

二.模型评估策略

1.模型评估

  • 训练集和测试集:将原始数据分为两部分,即训练集和测试集合,将通过训练集训练出来的模型,再用测试集跑一跑,查看误差大小。

  • 损失函数:用来衡量模型预测误差的大小,每一个输入x,对应一个y,通过模型f运算之后,输出为f(x),f(x)和y的差异则成为损失函数,记作L(y,f(x)),损失函数越小,模型越优秀。

      常见的损失函数:
        · 0-1损失函数:没有误差为0,有误差为1。
        · 平方损失函数:L(y,f(x))=(y-f(x))^2
        · 绝对损失函数:L(y,f(x))=|(y-f(x))|
        · 对数损失函数:L(y,f(x))=-logP(y|x)   
    
  • 经验风险:关于训练集的平均损失称为经验风险,即针对训练数据集的误差(损失函数),记作Remp,即测试集损失函数的平均值。avg(sum(l(y,f(x))))
    经验风险公式

  • 经验风险最小化:样本足够大,经验风险较小。

  • 训练误差:是关于训练集的平均损失,用来评价给定的问题是否容易学习,并不是十分重要。

  • 测试误差:关于测试集的平均损失,用来模型对于位置数据的预测能力,称作为泛化能力。
    测试误差的图

2.模型选择

  • 过拟合:过拟合会过度解析训练集,将某些不重要的变量当作重要规则,即将噪声数据的特征也学习到,模型泛化能力变差。

  • 欠拟合则代表对于某些应该注重的变量属性,并没有注重,导致输出范围变大。

      当模型复杂度增大时训练误差会逐渐减小并趋于0,但是测试误差则会先减小。
      当模型复杂度过高时,因为过拟合的原因,测试误差逐渐增大,所以需要避免过拟合。
    
  • 正则化项(惩罚项):本身随着模型复杂度的大小单调递增,通常采用特征向量的L1范数(绝对值求和)或L2范数(平方后开根号,即模长)

  • 结构风险最小化:将正则化项添加到经验风险中,进行综合评估
    结构风险综合评估公式
    奥卡姆剃刀原则:如无必要,勿增实体,即在满足需求的时候尽量选择元素最少的模型。

3.模型验证

如果数据足够多,则可以划分为三个部分,训练集(训练模型),验证集(进行模型选择),测试集(学习方法的评估),不然则需要进行交叉验证。

  • 简单交叉叉验证:原始数据随机分配给训练集(70%-80%)和测试集(20%-30%)
  • S折(K层)交叉验证:切分为S分,一份为测试集,s-1份训练集,整体操作一遍之后,重新选择一份作为测试集。
  • 留一交叉验证:只留一个测试集

三.监督学习

1.监督学习三要素

模型:总结数据的内部规律,用数学语言描述
策略:选取最优模型的评价标准
算法:选取最优模型的具体方法

2.监督学习实现步骤

得到有限的数据集->确定包含所有学模型的集合->确定学习策略->实现学习算法->通过学习算法选择最优模型->通过最优的模型,对新数据进行预测和分析

3.分类问题

	TP:推荐了的应该推荐的。
	TN:没推荐的不应该推荐的。
	FP:将不该推荐的推荐了。
	FN:该推荐的没有推荐。
  • 分类问题的评价标准
    • 精确率:TP/(TP+FP)
    • 召回率:TP/(TP+FN)

4.回归问题

  • 回归问题的分类(按变量数量):
    1.按变量数量分类:一元回归和多元回归。
    2.按模型类型分类:线性回归和非线性回顾。
  • 回归学习的损失函数:
    平方损失函数:可以采用最小二乘法求解
  • 模型求解算法:

四.无监督学习

1.聚类

聚类算法本省倾向于根据数据的特征值来进行分组,将具有某些相同特征的分到同一组,可以之后认为的在赋予每组一个抽象概念。

1)K均值算法

  • 算法流程:选取K个质心->将所有点按照距离质心的距离远近分到质心所属的类型->计算每个类型的平均值作为新的质心->重复之前的操作迭代

2)基于密度的聚类

  • K-kmeans 算法存在好几个缺陷,其中之一就是该算法无法聚类哪些非凸的数据集,也就是说,K-means 聚类的形状一般只能是球状的,不能推广到任意的形状。本文介绍一种基于密度的聚类方法,可以聚类任意的形状。

  • 基于密度的聚类是根据样本的密度分布来进行聚类。通常情况下,密度聚类从样本密度的角度出来,来考查样本之间的可连接性,并基于可连接样本不断扩展聚类簇,以获得最终的聚类结果。其中最著名的算法就是 DBSCAN 算法

3)最大期望聚类

此处参考博客: EM(期望最大化)聚类详细推导.

2.降维

1)浅语义分析(LSA)

  • 浅层语义分析(LSA)是一种自然语言处理中用到的方法,其通过“矢量语义空间”来提取文档与词中的“概念”,进而分析文档与词之间的关系。
  • LSA的基本假设是,如果两个词多次出现在同一文档中,则这两个词在语义上具有相似性。LSA使用大量的文本上构建一个矩阵,这个矩阵的一行代表一个词,一列代表一个文档,矩阵元素代表该词在该文档中出现的次数,然后再此矩阵上使用奇异值分解(SVD)来保留列信息的情况下减少矩阵行数,之后每两个词语的相似性则可以通过其行向量的cos值(或者归一化之后使用向量点乘)来进行标示,此值越接近于1则说明两个词语越相似,越接近于0则说明越不相似。

此处详细参考:NLP专题:LSA浅层语义分析

2)主成分分析(PCA)

  • 主成分分析的作用:对一个问题进行建立模型的时候,问题的预测值收到多个维度的影响,可是这些影响问题的维度之间本身就存在关系,甚至可以抽象成A维度的数值决定了B维度的数值,因此可以使用主成分分析降低问题的维度,方便处理

3)奇异值分解(SVD)

  • user->item 的评价稀疏矩阵可以通过奇异值分解为user->特征 特征->item这样的矩阵,通过这种矩阵特征,可以得到稀疏矩阵原本没有数值的据值。(大概?)
发布了1 篇原创文章 · 获赞 0 · 访问量 65

猜你喜欢

转载自blog.csdn.net/Novice_guy/article/details/104965841
今日推荐