机器学习——机器学习概述

机器学习------机器学习概述

  • [1 什么是机器学习](#1 什么是机器学习)
  • [2 为什么使用机器学习](#2 为什么使用机器学习)
  • [3 常用术语和示例](#3 常用术语和示例)
  • [4 机器学习系统的类型](#4 机器学习系统的类型)
    • [4.1 有监督学习](#4.1 有监督学习)
    • [4.2 无监督学习](#4.2 无监督学习)
    • [4.3 半监督学习](#4.3 半监督学习)
    • [4.4 强化学习](#4.4 强化学习)
    • [4.5 批量学习](#4.5 批量学习)
    • [4.6 在线学习(核外学习)](#4.6 在线学习(核外学习))
    • [4.7 基于实例的学习](#4.7 基于实例的学习)
    • [4.8 基于模型的学习](#4.8 基于模型的学习)
  • [5. 机器学习的主要挑战](#5. 机器学习的主要挑战)
    • [5.1 训练数据不足](#5.1 训练数据不足)
    • [5.2 训练数据不具代表性](#5.2 训练数据不具代表性)
    • [5.3 低质量数据](#5.3 低质量数据)
    • [5.4 无关特性](#5.4 无关特性)
    • [5.5 过拟合训练数据](#5.5 过拟合训练数据)
    • [5.6 欠拟合数据](#5.6 欠拟合数据)

相关词汇:

有监督学习、无监督学习、半监督学习、强化学习

增量学习、在线学习(核外学习)、批量学习

基于实例学习、基于模型学习、相似度

训练集、标签、预测器、特征

降维、智能化

自动化、训练、评估、启动学习

学习率、噪声(非代表性数据被选中)、适用度函数、成本函数

拟合训练、研究数据、选择模型、训练(成本函数最小化)、预测推断

坏算法、坏数据

采样偏差、无反应偏差

低质量数据、无关特征

特征工程:特征选择、特征提取、创建新特征

过拟合训练(训练数据数量大、噪度复杂):简化模型、收集更多训练数据、减少噪声

正则化:约束模型、降低过拟合

超参数

欠拟合:模型太过简单

评估、训练集、测试集、泛化误差

保持验证、验证集合

1 什么是机器学习

机器学习是一门通过编程让计算机从数据中进行学习的科学。

机器学习是一个研究领域,让计算机无须进行明确编程就具备学习能力。 ------亚瑟·萨缪尔

一个计算机程序利用经验E来学习任务T,性能是P,如果针对任务T的性能P能随着经验E不断增长,则称为机器学习。 ------ 汤姆·米切尔

2 为什么使用机器学习

机器学习可以快速解决以下问题:

  • 有解决方案(但解决方案需要大量人工微调或需要遵循大量规则)的问题:机器学习算法通常可以简化代码,相比传统该方法有更好的性能。
  • 传统方法难以解决的复杂问题:最好的机器学习技术也许可以找到解决方案。
  • 环境有波动:机器学习算法可以适应新的数据。
  • 洞察复杂问题和大量数据。

3 常用术语和示例

  1. 分析生产线上的产品图像来对产品进行自动分类。------这是图像分类问题,使用卷积神经网络(CNN)
  2. 通过脑部扫描发现肿瘤。------这是语义分割,图像中的每个像素都需要被分类,也是用CNN。
  3. 自动分类新闻。------这是自然语言处理(NLP),更具体的是文本分类,可以使用循环神经网络(RNN)、CNN、或者 Transformer。
  4. 论坛中自动标记恶评。------文本分类,使用相同的自然语言处理工具。
  5. 自动对长文章做总结。------这是自然语言处理的一个分支,叫做文本总结,使用的是相同的工具。
  6. 创建一个聊天机器人或者个人助理。------这个涉及到自然语言处理的很多分支,包括自然语言理解(NLU) 和问答模块。
  7. 基于很多性能指标来预测公司下一年的收入。------这是一个回归问题(如预测值),需要使用回归模型进行处理。例如线性回归或多项式回归、SVM回归、随机森林回归或者人工神经网络,如果考虑过去的指标,可以使用RNN、CNN、或者Transfromer。
  8. 让应用对语音命令做出反应。------这是语音识别,要求能处理音频采样。因为音频是很长、很复杂的序列,所以一般使用 RNN、CNN或Transformer进行处理。
  9. 检测信用卡欺诈。------这是异常检测。
  10. 给予客户的购买记录来对客户进行分析,对每一类客户设计不同的市场策略。------这是聚类问题。
  11. 用清晰而有洞察力的图标来表示复杂的高维数据。------这是数据可视化,经常设计降维技术。
  12. 基于以前的购买记录给客户推荐可能感兴趣的产品。------这是推荐系统,一个版是是将以前的购买记录输入人工神经网络,从而输出客户最可能购买的产品。这个神经网络是在所有客户的购买记录上训练的。
  13. 为游戏建造智能机器人。------者通常是通过强化学习来解决。 例如 AlphaGo。

4 机器学习系统的类型

  1. 有监督学习、无监督学习、半监督学习(是否在人类监督下训练)和强化学习。
  2. 在线学习和批量学习(是否可以动态地进行增量学习)。
  3. 基于实例的学习和基于模型的学习(是简单地将新的数据点和已知的数据点进行匹配,还是像科学家那样,对训练数据进行模式检测然后建立一个预测模型)。

4.1 有监督学习

有监督学习中,提供给算法的包含所需解决方案的训练集成为标签。

常见的有监督学习算法:

  • k-近邻算法
  • 线性回归
  • 逻辑回归
  • 支持向量机(SVM)
  • 决策树和随机森林
  • 神经网络

4.2 无监督学习

无监督学习的训练数据都是未经标记的,系统会在没有"老师"的情况下学习。

常见的无监督学习的常见算法:

  • 聚类算法
    • k-均值算法
    • DBSCAN
    • 分层聚类分析(HCA)
  • 异常检测和新颖性检测
    • 单类SVM
    • 孤立森林
  • 可视化和降维
    • 主成分分析(PCA)
    • 核主成分分析(LLE)
    • 局部线性嵌入(t-SNE)
  • 关联规则学习
    • Apriori
    • Eclar

4.3 半监督学习

由于通常给数据做标记是非常耗时和昂贵的,往往会有很多未标记的数据而很少有已标记的数据。有些算法可以处理已标记的数据。这称为半监督学习。

大多数半监督学习算法是无监督算法和有监督算法的结合(无监督学习负责分类,有监督学习使用分类好的样本进进行下一步训练)。

4.4 强化学习

强化学习的学习系统(其语境中称为智能体)能够观察环境、做出选择、执行动作,并获得回报(或者是以负面汇报的形式获得惩罚)。比如 AlphaGo。

4.5 批量学习

批量学习中,系统无法进行增量学习------即必须使用所有可用数据进行训练。这需要大量时间和计算资源,所以i通常都是离线完成的。离线学习就是先训练系统,然后将其投入生产环境这时学习过程停止,它只是将其所学到的应用出来。

如果希望批量学习新数据,需要在完整数据集的基础上重新训练系统的新版本,然后停用旧系统,用新系统取而代之。

批量学习可以在 训练、评估、和自动启动机器学习的过程中实现自动化,来适应数据的变化。

4.6 在线学习(核外学习)

在线学习可以持续地给系统提供训练数据,逐步积累学习成果,这种提供数据的方式可以是单独的,也可以采用小批量的小组数据来进行训练。

需要接收持续的数据流,同时对数据流的变化做出快速或自主的反应,使用在线学习是一个很好的方式。

对于超大数据集,在线学习同样也适用,算法每次只加载部分数据,并针对这部分数据进行训练,然后不断重复这个过程,知道完成所有的数据的训练,这称为核外学习。

4.7 基于实例的学习

举个垃圾邮箱识别的例子,最简单的学习方式是标记垃圾邮箱,然后将所有相同的邮箱标记为垃圾邮箱。

基于实例的学习可以使用相似度度量的方式,一种相似度度量方式是计算他们之间相同的单词数目,如果新邮件与垃圾邮件有很多相似单词,系统可以标记为垃圾邮箱。
基于实例的学习就是系统用心学习示例,然后通过相似度度量来比较新的实例和已经学习的实例,从而泛化新实例。

4.8 基于模型的学习

基于模型的学习是构建示例的模型,然后使用该模型进行预测。
模型选择是根据研究数据得出数据的数学规律(比如结果是一个线性函数)的过程。
效用函数(或适应度函数) 用来衡量模型的性能表现有多好。
成本函数用来衡量模型有多差。
训练模型指的是根据提供的训练样本,找出最符合提供数据的线性模型的参数。
模型可以指一个模型的类型(例如线性回归),也可以指一个完全特定的模型架构(例如有一个输入和一个输出的线性回归),或者可用于预测的训练模型(例如有一个输入和一个输出的线性回归,使用参数θ0 和 θ1 ).模型选择包含选择模型的类型和完全指定它的架构。

5. 机器学习的主要挑战

5.1 训练数据不足

大部分机器学习算法需要大量的数据才能正常工作,即使是最简单的问题,很可能需要成千上万个示例。

5.2 训练数据不具代表性

使用不具代表性的训练集训练出来的模型不可能做出准确的预估。针对想要泛化的案例使用具有代表性的训练集至关重要。不过做起来的时候很难:如果样本集太小,将会出现采样噪音(即非代表性数据被选中);非常大的样本数据,如果采样方式欠妥,也同样可能导致非代表性数据集,这就是所谓的样本偏差。

5.3 低质量数据

训练集满是错误、异常值和噪声(例如低质量的测量产生的数据),所以花时间来清理训练数据是非常值得的投入。

5.4 无关特性

训练数据里包含足够多的相关特征以及较少的无关特征,系统才能够进行学习。
特征工程:提取出一组好的用来训练的特征集。包含以下几个特点:

  • 特征选择(从现有特征中选择最有用的特征进行训练)
  • 特征提取(将现有特征进行整合,产生更有用的特征,降维算法可以提供帮助)
  • 通过收集新数据创建新特征。

5.5 过拟合训练数据

过拟合指的是模型在训练数据上表现良好,但是泛化时却不尽人意(假如你在国外旅游,被出租车司机敲诈,可能会过度认为那个国家的所有出租车司机都是强盗,机器学习也会陷入同样的陷阱)。

当模型相对于训练数据的数量和噪度都过于复杂时,会发生过拟合,可能的解决方案有如下措施:

  • 简化模型:可以选择较少参数的模型,也可以减少训练数据中的属性数量,或者是约束模型。
  • 收集更多的训练数据。
  • 减少训练数据中的噪声(例如修复数据错误和消除异常值)。
    正则化:通过约束模型使其更简单,并降低过拟合的风险,这个过程称为正则化。应用正则化的成都可以通过一个超参数来控制。
    超惨数:超参数是学习算法的参数,因此它不受算法本身的影响。超参数必须在训练之前设置好,并且在训练期间保持不变。

5.6 欠拟合数据

欠拟合和过拟合正好相反,它的产生通常是因为对于底层的数据结构来说,模型太过简单(例如用线性模型来描述生活满意度就是欠拟合,现实情况远比模型复杂)。

解决欠拟合的主要方式有:

  • 选择一个带有更多参数、更强大的模型。
  • 给学习算法提供更好的特征集(特征工程)。
  • 减少模型中的约束(例如,减少正则化超参数)
相关推荐
机智的叉烧31 分钟前
前沿重器[57] | sigir24:大模型推荐系统的文本ID对齐学习
人工智能·学习·机器学习
凳子花❀34 分钟前
强化学习与深度学习以及相关芯片之间的区别
人工智能·深度学习·神经网络·ai·强化学习
泰迪智能科技012 小时前
高校深度学习视觉应用平台产品介绍
人工智能·深度学习
盛派网络小助手3 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
Eric.Lee20213 小时前
Paddle OCR 中英文检测识别 - python 实现
人工智能·opencv·计算机视觉·ocr检测
cd_farsight3 小时前
nlp初学者怎么入门?需要学习哪些?
人工智能·自然语言处理
AI明说3 小时前
评估大语言模型在药物基因组学问答任务中的表现:PGxQA
人工智能·语言模型·自然语言处理·数智药师·数智药学
Focus_Liu3 小时前
NLP-UIE(Universal Information Extraction)
人工智能·自然语言处理
PowerBI学谦4 小时前
使用copilot轻松将电子邮件转为高效会议
人工智能·copilot