机器学习
机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。
所以,机器学习不是某种具体的算法,而是很多算法的统称。
机器学习的基本思路
- 把现实生活中的问题抽象成数学模型,并且很清楚模型中不同参数的作用
- 利用数学方法对这个数学模型进行求解,从而解决现实生活中的问题
- 评估这个数学模型,是否真正的解决了现实生活中的问题,解决的如何?
分类
- 有监督学习:在有标签数据上执行的分类、回归或者预测类算法
- 无监督学习:在无标签的数据上执行聚类、频繁项挖掘等算法
- 半监督学习:数据由少量有标签数据+大量无标签数据混合而成,先通过有监督学习算法生成可靠的标签,再进行建模
- 强化学习:让智能体在指定环境中不断学习,核心要素有智能体、环境、行动、奖励
有监督学习
监督学习是指我们给算法一个数据集,并且给定正确答案。机器通过数据来学习正确答案的计算方法。
分类: Classification
分类: 就是通过已有数据集(训练集)的学习,得到一个目标函数f (模型) , 把每个属性集x映射到目标属性y (类) ,且y必须是离散的(若y为连续的,则属于回归算法)。通过对已知类别训练集的分析,从中发现分类规则,以此预测新数据的类别。
分类算法
分类算法通过对已知类别训练集的分析,从中发现分类规则,以此预测新数据的类别。分类算法的应用
非常广泛,银行风险评估、客户类别分类、文本检索和搜索引擎分类、安全领域中的入侵检测以及软件项目中的应用等。
按原理分类:
- 基于统计的:如贝叶斯分类
- 基于规则的:如决策树算法
- 基于神经网络的:神经网络算法
- 基于距离的: KNN ( K最近邻)
常用评估指标:
-
精确率:预测结果与实际结果的比例
-
召回率:预测结果中某类结果的正确覆盖率
-
F1-Score :统计量,综合评估分类模型,取值0-1之间
无监督学习
非监督学习中,给定的数据集没有“正确答案”,所有的数据都是一样的。无监督学习的任务是从给定的数据集中,挖掘出潜在的结构
无监督学习常见的2类算法是:聚类、降维
聚类: 简单说就是一种自动分类的方法,在监督学习中,你很清楚每一个分类是什么,但是聚类则不是,你并不清楚聚类后的几个分类每个代表什么意思。
降维: 降维看上去很像压缩。这是为了在尽可能保存相关的结构的同时降低数据的复杂度。
聚类算法
聚类: 就是将相似的事物聚集在一起,而将不相似的事物划分到不同的类别的过程。它是一-种探
索性的分析,不必事先给出一一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚
类分析所使用方法的不同,常常会得到不同的结论。
常见算法:层次聚类、划分聚类、基于密度的聚类
强化学习
强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
最典型的场景就是打游戏。
机器学习实操的7个步骤
通过上面的内容,我们对机器学习已经有一些模糊的概念了,这个时候肯定会特别好奇:到底怎么使用机器学习?
机器学习在实际操作层面一共分为7步:
- 收集数据
- 数据准备
- 选择一个模型
- 训练
- 评估
- 参数调整
- 预测(开始使用)
监督学习与无监督学习比较
监督学习是一种目的明确的训练方式,你知道得到的是什么;而无监督学习则是没有明确目的的训练方式,你无法提前知道结果是什么。
监督学习需要给数据打标签;而无监督学习不需要给数据打标签。
监督学习由于目标明确,所以可以衡量效果;而无监督学习几乎无法量化效果如何。