上一篇文章 机器学习 带你了解学机器学习的基础知识 简单介绍了机器学习的概念。本文将继续介绍下机器学习的基础知识。我们进行机器学习依赖于大量的数据,可以说数据是机器学习的基础。我们首先来了解下数据相关的概念
认识机器学习中的数据
我们以鸢尾花的数据为例,认识下数据的基本概念
图中花瓣的长度、花瓣宽度、萼片的长度宽度等都是数据的特征
每个样本其实是样本的各个特征所组成的空间中的一个点称为 特称空间 分类的本质就是在 特征空间切片,例如落在红色部分就是红色的鸢尾花,蓝色部分为蓝色的鸢尾花。图中的例子将数据放在二维空间的展示,在多维空间也是一样的,如果我们在高纬空间思考问题不方便一般会现在地位空间进行分析然后将在低纬空间的结论推广进高纬空间。
上面例子中 鸢尾花 的特征都是有非常明确的语意的,但是在机器学习中特征可以是很抽象的,例如图像识别中的每个像素点作为一个特征,例如28*28的图像就有784个特征,当然如果是彩色的图像特征会更多。
机器学习 就是结合尽可能的信息让机器去找到这些信息和最终我们想要的结果之间的关系,我们给机器的特征将很大程度上决定算法最终计算的结果的准确性和可靠性 对于这方面也有专门领域去研究即 特征工程,如深度学习可以理解为算法在自动的帮助我们进行特征工程
机器学习的任务
机器学习中监督学习关注的基本任务可以分为两类 分类任务、回归任务。
分类任务
二分类
常见的二分类有
- 判断邮件是垃圾还是非垃圾邮件
- 判断患者的肿瘤是良性还是恶性
- 判断某支股票的涨跌等
- 判断信用卡用户的风险和没有风险
多分类
常见的多分类有
- 数字识别
- 图像识别
- 判断发放给客户信用卡的风险评级
很多复杂的问题也可以转换成多分类问题,如 2048游戏、围棋游戏、无人车,但是注意解决并不代表就是最好的方式。
一些算法只支持完成二分类任务;但是多分类的任务可以转换成二分类的任务;有一些算法天然可以完成多分类任
多标签任务
如将图片分为多个类别中
回归任务
分类任务的最后结论是得到一个类别,而回归任务得到的是一个连续的数字的值,而非一个类别,如房屋价格
如:
- 房屋价格
- 市场分析预测销售额
- 学生成绩
- 股票价格
有些算法智能解决回归问题;有些算法只能解决分类任务;有些算法的思路既能解决回归问题,又能解决分类任务
一些情况下,回归任务可以简化为分类任务,如 无人驾驶中方向盘的角度树值。
上面提到的分类任务和回归任务是从机器学习可以解决的问题角度分类的,而不是从机器学习算法本身进行分类,上面我们提到了监督学习,那么监督学习是什么?以及如果我们将目光放在机器学习本身,那么我们可以将机器学习算法分为哪几类呢?
机器学习的分类
机器学习可以分为,监督学习、非监督学习、半监督学习、增强学习。
监督学习
是指我们给机器的训练数据有 标记 或者 答案,例如上面提到的鸢尾花的数据集 和 房产的数据 都是有标记的
实际生活中有很多例子都是进行监督学习的过程,如
- 图像已经拥有了标记信息
- 银行已经积累了一定的客户信息和他们的信用卡的信用情况
- 银行已经积累了一定的病人信息和他们最终确诊是否患病的情况
- 市场积累了房屋的基本信息和最终成交的金额
机器学习中的算法有很多都是属于监督学习的算法,如
- k近邻
- 线性回归和多项式回归
- 逻辑回归
- SVM
- 决策树和随机森林
非监督学习
指给机器的训练数据没有任何 标记 或者 答案
非监督学习的意义在于:对没有“标记”的数据进行分类-聚类分析
半监督学习
指给机器的训练数据以部分有 标记 或者 答案,另一部分没有
比较常见的如:各种原因导致的标记缺失。
通常先使用无监督学习手段对数据做处理,在用监督学习手段做模型的训练和预测
增强学习
根据周围环境的情况,采取行动,根据采取行动的结果学习行动方式,如下图根据环境决定最终行为,常见的还有 围棋、无人驾驶、机器人。
监督学习和半监督学习是增强学习的基础
机器学习的其他分类
- 在线学习和批量学习(离线学习)
- 参数学习和非参数学习
批量学习
批量学习过程如下图所示
优点:简单
问题: 如何适应环境变化?解决方案:定时重新批量学习
缺点:每次重新批量学习,运算量巨大;在某些环境变化非常块的情况下,甚至是不可能的。
在线学习
在线学习过程如下图所示
优点:及时反应新的环境变化
问题: 新的数据带来不好的变化?解决方案:需要加强对数据进行监控
其他:也适用于数据量巨大,完全无法批量学习的环境
参数学习
一旦学到了参数,就不再需要原始的数据
非参数学习
- 不对模型进行过多假设
- 非参数不等于没参数
机器学习的思考
机器学习主要解决不确定的问题,和经典的算法所不同,经典的算法通常有标准的笃定的唯一答案,机器学习给我们的也是不确定的概率性的具有统计意义的答案。面对这个答案我们通常会思考他的可靠性,以及我们到底可以多大程度的去相信这个答案、以及机器学习学习到的本质。
其实只要我们个算法的数据足够多、数据的质量足够好,甚至有数据即算法的概念
- 数据本身很重要
- 数据驱动,数据清洗、处理、特征工程等
当然还有其他的理论如 算法为王
如何选择机器算法?
前面提到机器学习主要解决两类问题 分类问题、回归问题,其实可以应用 奥卡姆的剃刀原则:简单的就是好的。
没有免费的午餐定理
- 可以严格的推导出:任意两个算法,他们的期望(平均值)性能是相同的。
- 具体到某个特定问题时,某个算法可能更好。
- 没有一个算法绝对的比另一个算法好。
- 脱离具体问题,谈那个算法好是没有意义的。
- 在面对一个具体问题的时候,尝试使用多个算法进行对比实验是必要的的
以上我们对机器学习进行了概要性的全局的介绍,相信已经对机器学习有了更近一步的理解,后面会继续对机器学习相关的算法进行学习哦。