机器学习是指从大数据集中推断出模式的通用技术或者基于通过分析现有已知数据所获得的知识来对新数据进行预测的能力。大致分为三类:监督学习,无监督学习,强化学习。
机器学习算法的任务:绘制一个超平面来分离具有不同特征的点。
1.监督学习
监督学习算法是利用一组标记(已分类)的数据来对相似未标记的数据进行分类的一类机器学习算法。标记可以是离散的和连续的。
比如,对大量的电子邮件分类。监督学习算法将被提供已由用户标记为垃圾邮件或正常邮件的大量邮件(标记的数据),先遍历所有标记的数据,并预测电子邮件是否为垃圾邮件。通常情况下,该算法在首次遍历所有未标记数据时,会做出错误的标记,其执行过程相当糟糕。在每次运行之后,算法都会将预测的结果与期望的结果(已标记的数据)进行比较,通过比较过程,该算法会提高自身的性能和准确率。这种算法依赖于大量数据,通过大量数据,它将学会什么特征(或特性)会导致分类的结果。在标记的数据(训练数据)上遍历一定时间后,该算法的准确率不再提高,然后将其用于新的邮件,以测试其在识别新的未标记数据时的准确率。
(cxn)简单理解,从一堆标记的数据中,对他们分类,达到最高准确率后,用此算法对未标记的数据分类。
对于标记的数据,可以是分好多类(离散),也可以是一个连续的函数(回归问题)。
从数学角度: 要在数据集上建立一个函数,数据集将由按特征组织起来的信息组成。每一个数据的特征会对应一个值。机器学习算法会将这些值映射到一个表示类别集的离散范围,或者(在回归案例)映射到一个实值。算法将遍历许多示例(已标记的数据),直到可以定义一个最佳函数来匹配大多数标记的数据。然后用此函数对未标记的数据进行预测。函数定义如下:
: space of feacture classes=(discrete values or real values)
2.无监督学习
无监督学习算法,不事先标记数据,而是通过算法得出结论。
如聚类,是一种尝试将数据分成子集的技术。原则上,每个聚类中的每个元素都应该具有较高的类内相似性和较低的类间相似性。它适用于任意数量的类别,其理念(如K均值)是:找到原始数据的K子集,并且与类外的任何元素相比,这些原始数据元素之间会更接近(更相似)一些。需要定义某种度量标准来确定点之间的距离。
无监督学习算法最大优点是不需要标记数据。其运行是通过揭示数据中的隐藏结构以允许对其进行分类(而非进行标记)来实现的。比如受限的玻尔兹曼机(RBM)是通过从数据中提取特征来实现的。
3.强化学习
该算法也是使用反馈元素来提高性能,其常见应用是教机器如何玩游戏。在强化学习中,基本思路是奖赏,算法会努力最大化其收到的奖赏。
4.机器学习的系统与流程
粗略理解,(1)训练样本(2)特征提取(3)学习函数(4)预测。
大致分为一下几步:
- 数据的收集(尽可能多的数据)。
- 数据处理(删除冗余或高度相关的特征,或填补缺失数据)。
- 测试用例的创建:数据一般分为三类,训练数据集(用来训练算法即构建模型),测试数据集(在训练算法之后用来预测算法的准确率即调优模型选择),验证数据集(证实所选算法的有效性)。
数据集的分类是为了尽可能的减少模型过拟合与欠拟合现象的出现。