机器学习的概念及分类
以下内容为学习斯坦福大学吴恩达教授的课程之后所做的笔记。
同时还参考了这篇文章:监督学习与无监督学习
一、什么是机器学习?
- Arthur Samuel将机器学习定义为:使计算机具有无需明确编程的学习能力的研究领域。
- 机器学习分为监督学习和无监督学习
二、监督学习(Supervised Learning)
监督学习是指学习X到Y或输入到输出映射的算法。监督学习的关键特征是,你给你的学习算法提供例子来学习,这包括正确的答案,即给定输入X的正确标签Y。通过看到正确的输入X和所需的输出标签Y对,学习算法最终学会了只取输入而不取输出标签,并给出一个合理准确的预测或猜测输出。
监督学习的工作原理如下图:
监督学习的步骤
- 首先确定训练数据集的类型
- 收集/收集标记的训练数据(一般可能需要手动标记)
- 将训练数据集拆分为训练数据集、测试数据集和验证数据集。
- 确定训练数据集的输入特征,这些特征应该有足够的知识使模型能够准确地预测输出。
- 确定适合模型的算法,如支持向量机、决策树等。
- 在训练数据集上执行算法。有时我们需要验证集作为控制参数,它们是训练数据集的子集。
- 通过提供测试集来评估模型的准确性。如果模型预测出正确的输出,这意味着我们的模型是准确的。
监督学习主要有预测和分类两种问题
1. 回归
如果输入变量和输出变量之间存在关系,则使用回归算法。它用于预测连续变量,例如天气预报、市场趋势等。以下是一些流行的回归算法,它们属于监督学习:
- 线性回归
- 回归树
- 非线性回归
- 贝叶斯线性回归
- 多项式回归
2. 分类
当输出变量是分类时使用分类算法,这意味着有两个类别,例如是 -否,男性-女性,真假等。垃圾邮件过滤,是否为垃圾等。
可能用到的算法:
- 随机森林
- 决策树
- 逻辑回归
- 支持向量机
二、无监督学习(Unsupervised Learning)
无监督学习是一种机器学习技术,其中模型不使用训练数据集进行监督。相反,模型本身会从给定数据中找到隐藏的模式和见解。它可以比作在学习新事物时发生在人脑中的学习。
无监督学习的目标是找到数据集的底层结构,根据相似性对数据进行分组,并以压缩格式表示该数据集。
无监督学习的工作原理:
1. 聚类(clustering)
聚类是一种将对象分组为聚类的方法,使得具有最多相似性的对象保留在一个组中,并且与另一组的对象具有较少或没有相似性。聚类分析发现数据对象之间的共性,并根据这些共性的存在和不存在对它们进行分类。
例如:异常探测(Anomaly Detection),用于探测异常事件,这对于金融系统的全面检测是非常重要的。在金融系统中,不寻常的事件或交易可能是欺诈的标志,对于许多其他的应用程序也是如此。
2. 关联
关联规则是一种无监督学习方法,用于查找大型数据库中变量之间的关系。它确定在数据集中一起出现的项目集。关联规则使营销策略更加有效。例如购买 X 商品(假设是面包)的人也倾向于购买 Y(黄油/果酱)商品。关联规则的一个典型例子是市场篮子分析。
以下是一些流行的无监督学习算法:
- K-means 聚类
- KNN(k-最近邻)
- 层次聚类
- 异常检测
- 神经网络
- 主成分分析
- 独立成分分析
- 先验算法
- 奇异值分解