《java机器学习》第一章: 小白入门 名词解释

前言:心心念念想入门机器学习,正好在最近工作中接触到了大数据相关的东西,以后可能还要用到机器学习,所以从现在开始准备吧!

第一章主要介绍了一些机器学习的基础概念和专业名词的解读, 我把重点摘出来了,简单易懂,适合像我这样的零基础小白入门,有基础的,可以直接略过。

第一章 机器学习应用快速入门

1.1.1 机器学习主要方法分类

监督学习:产生一个通用的映射函数f,使得每个输入都有明确的输出。学习算法通过学习所有带“正常”或“可疑”标签的数据进行学习,最终产生和一个决策模型,对未见过的交易打标记。
无监督学习:给定数据没有结果标签,主要学习数据的结构,将相似的输入数据归类到某个聚类。推荐系统就是无监督学习。
强化学习:假设有一个智能体,对外界的环境做状态或行为的应答,如果做出正确的应答,会得到奖励,其他应答,奖励很少,或受到惩罚。【博者注:这本书主要介绍的是监督学习和无监督学习,偏向于对已有数据的归类,分析,预测,强化学习更类似于人工智能】

1.1.2 机器学习应用流程

一般有以下5个步骤:

  • 数据问题与定义:问题是什么?模型和方法的选择能否解决问题?
  • 数据收集:数据源是什么?需要生产数据吗?需要处理数据吗?数据量有多少?
  • 数据预处理:第一步就是数据清理(如:填充缺值,平整噪声数据,移除异常值等);随后就是整合和转化。
  • 利用无监督学习与监督学习进行数据分析与建模:选择模型
  • 模型评价:检查结果的正确性

第一章剩下小节就是对以上问题的解释

1.2 数据与问题的定义

测量尺度:对数据属性的表现定义,以及属性之间的关系

1.3 数据采集

  • 发现或观察
  • 生成数据
  • 采样陷阱

1.4 数据预处理

方法如1.1.2总结,略

1.5 无监督学习

1.5.1 查找相似项目

很多问题都能归结为查找相似的元素集,如:用户浏览的相似网页,购买的相似商品等。
如果两个项目距离很近,就可以视为类似的。**主要问题是如何表示两个项目,以及如何表示两个项目之间的距离。**距离测量主要有以下两种概念:

  • 欧式距离:衡量二维空间中两个元素的远近
  • 非欧距离:基于元素的属性,而非空间位置。比较有名的有:杰拉德相似距离,余弦距离等。
	例1:杰拉德举例计算步骤如下
	    s1: 计算两个集合的杰拉德相似系数(定义:两个集合交集元素的个数除以并集元素的个数)
	    s2:  用1减去借卡的相似系数,得到借卡的距离
	例2:余弦距离(常用于高维度的特征空间,比如文本挖掘,一个文本表示一个实例,特征对应不同单词
	 他们的值就是单词在文档中出现的次数。通过余弦相似度,我们可以了解两个文本的相似度)

1.5.2聚类

聚类定义:根据某种距离度量,将相似的实例归入相应的簇,同时让不相似的簇(彼此距离很远)的点位于不同的簇。
聚类的两个基本方法:

  • 分层和凝聚:先将每个点作为不同的簇,然后把最相似的簇合并在一起,合并达到预先指定的簇数,或待合并的簇覆盖一大片区域时,停止合并操作。
  • 基于点分配:先随机指定簇中心,然后将每个点分配到离它最近的簇,知道分配完所有的点。最有名的算法是:K均值聚类算法

1.6 监督学习

学习一组样本,用特征X进行描述。监督学习的目标找到一个函数,对目标Y进行预测【博者注:是否可以理解为,无监督学习更偏向于对已有数据的分类,监督学习偏向于对未知数据的预测】

1.6.1 分类

**分类处理离散类数据,其目标是对目标变量中的互斥值之一进行预测。**应用举例:信用评估,判断目标人物信用是否可靠。最流行的算法有:决策树,朴素贝叶斯分类器,支持向量机,神经网络以及集成算法。

  • 决策树学习:学习过程中,创建一个分类树,每个节点对应一个属性,边对应属性一个可能的值(或区间),节点由此而生,每个叶子对应一个类标签。决策树可以可视化,并且以明确的方式预测模型,这让他成为一个很透明的分类器。

  • 概率分类器:给定一组数据,概率分类器可以对一组类的分布进行预测,而不预测一个确定的类。

  • 核方法:通过对模型应用核技巧,用核函数替代模型的特征(预测期),可以将一个线性模型转换为非线性模型。换言之:核技巧隐式的将数据集变换成更高维度。核技巧充分利用了“分离更高维度的实例更加容易”这一事实。【行吧,没看明白,后面可能随着学习的深入,会明白这个】

  • 人工神经网络:通常解决回归和分类问题,包含各种算法以及问题类型的变种。

  • 集成学习:由一系列不同的弱模型组成,以此获得更好的预测能力。先单独训练各个模型,然后采用某种方式将其预测组合起来,易产生更全面的预测。因此,集成体包含对数据的多种建模方式,以此产生更好的结果。

  • 分类评估:对分类结果进行评分,通常有四种情况


    真正-命中:yes实例准确预测为yes
    真负-正确否定:no实例准确预测为no
    假正-误警:no实例错误预测为yes
	假负-未命中:yes实例错误预测为no

1.6.2 回归:

回归处理连续的目标变量,与使用离散目标变量的分类方法不同。一般来说:回归过程评估的是各种特征之间的联系,即特征变化是如何改变目标变量的。

  • 线性回归:假定特征与目标变量之间有线性依赖关系。
  • 回归评估:回归中,我们从输入X预测Y,往往是错误,不准确的,我们主要问题是:这些预测值与实际值相差多少?换言之,我们要测量预测值与实际值之间的距离。表达这个距离的通常算法:平均值误差,平均绝对误差,相关系数等。

1.7 泛化与评估

模型创建好了之后,为了知道它是否能针对新数据正常工作,这个模型有什么好,我们要首先学习模型泛化,然后了解如何对模型在新数据上的性能进行评估。

  • 欠拟合和过拟合:
    对预测期训练得到的模型可能太复杂或者太简单。【博主注:这个概念比较难表述,可以去网上找几张图看一下,一目了然。欠拟合:低复杂的模型,就是预测到了太少的数据,意思就是极少部分在模型结果中,模型结果和现实数据的拟合度太低;过拟合就是,模型定义的太过复杂,导致现实数据的一些极端值,也包含在预测结果中,其实这些极端值非正常数据,可以去除不要。】

  • 训练集和测试集:数据比例应该是70:30,首先用测试数据对预测器进行训练,然后用得到的预测器对测试数据进行预测,最后计算误差,就可以得到真实的泛化误差了

  • 交叉验证:将数据集划分成k个大小相当的子集,去除其中一份当做测试集,其他的当做训练集,测试完毕之后,再取其中另一份当做测试集,剩下的当做训练集,如此往复。

  • 留一法交叉验证:取一个实例,剩下的实例全部用于学习,用取出的一个实例作为验证。适用于学习样本较少时。

  • 层化处理:略。

总结:本章主要介绍了一些专有名词,基础概念,还算学习的比较明白,下一章节,将会介绍一些java机器学习的类库,有时间继续来更新。

你可能感兴趣的:(大数据,机器学习)