机器学习、监督学习、非监督学习、强化学习、深度学习、迁移学习

  • 机器学习(machine learning)
  • 监督学习(supervised learning)
  • 非监督学习(unsupervised learning)
  • 强化学习(reinforcement learning)
  • 传统的机器学习
  • 深度学习 (deep learning)
  • 迁移学习 (transfer learning)

机器学习(machine learning)

机器学习的主要任务:

  • 分类(classification):将实例数据划分到合适的类别中。
  • 回归(regression):主要用于预测数值型数据。

机器学习可以分为三种形式:

  • 监督学习(supervised learnin)
  • 非监督学习(unsupervised learning)
  • 强化学习(reinforcement learning)

监督学习(supervised learning)

  • 必须确定目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和输出之间有着一个特定的关系。 (包括:分类和回归)
  • 训练样本 = 特征(feature) + 目标变量(label: 分类-离散值/回归-连续值)

非监督学习(unsupervised learning)

  • 无监督学习,即在未加标签的数据中,试图找到隐藏的结构。数据没有类别信息,也没有给定的目标值。
  • 非监督学习包括的类型:聚类, 密度估计
  • 此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。

强化学习(reinforcement learning)

强化学习,又称再励学习或者评价学习,也是机器学习的技术之一。

所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,由于外部给出的信息很少,强化学习系统必须依靠自身的经历进行自我学习。通过这种学习获取知识,改进行动方案以适应环境。

强化学习最关键的三个因素:

  • 状态
  • 行为
  • 环境奖励

强化学习和深度学习的主要区别:

  • 深度学习的训练样本是有标签的,强化学习的训练是没有标签的,它是通过环境给出的奖惩来学习
  • 深度学习的学习过程是静态的,强化学习的学习过程是动态的。这里静态与动态的区别在于是否会与环境进行交互,深度学习是给什么样本就学什么,而强化学习是要和环境进行交互,再通过环境给出的奖惩来学习
  • 深度学习解决的更多是感知问题,强化学习解决的主要是决策问题。因此有监督学习更像是五官,而强化学习更像大脑。

应用:

关于深度学习和强化学习的实例,最典型的莫过于谷歌的AlphaGo和AlphaZero两位了。AlphaGo是通过深度卷积神经网络,在训练了大约三千万组人类的下棋数据生成的模型,而AlphaZero使用强化学习的方式,通过自己和自己下棋的方式生成模型。而最终的实验结果也很让人震撼。AlphaGo击败了人类围棋顶尖高手,而AlphaZero击败了AlphaGo。

强化学习实际应用目前还较窄,主要包括AI游戏(如Atari),推荐系统,机器人控制相关(如Ng的无人机飞行)

传统的机器学习

机器学习(ML)技术在预测中发挥了重要的作用,ML经历了多代的发展,形成了丰富的模型结构,例如:

  • 线性回归
  • 逻辑回归
  • 决策树
  • 支持向量机
  • 贝叶斯模型
  • 正则化模型
  • 集成模型
  • 神经网络

这些预测模型中的每一个都基于特定的算法结构,参数都是可调的。训练预测模型涉及以下步骤:

选择一个模型结构(例如逻辑回归,随机森林等)。

用训练数据(特征和标签)输入模型。

学习算法将输出最优模型(即具有使训练错误最小化的特定参数的模型)。

每种模式都有自己的特点,在一些任务中表现不错,但在其他方面表现不佳。但总的来说,我们可以把它们分成低功耗(简单)模型和高功耗(复杂)模型。选择不同的模型是一个非常棘手的问题。

机器学习的主要障碍是特征工程这个步骤,特征工程要靠手动设计完成,需要大量领域专业知识,因此它成为当今大多数机器学习任务的主要瓶颈。

深度学习 (deep learning)

深度学习,也是一种机器学习的技术。最初的深度学习网络是利用神经网络来解决特征层分布的一种学习过程。

DNN(深度神经网络)可以将原始信号(例如RGB像素值)直接作为输入值,而不需要创建任何特定的输入特征。通过多层神经元(这就是为什么它被称为“深度”神经网络),DNN可以“自动”在每一层产生适当的特征,最后提供一个非常好的预测,极大地消除了寻找“特征工程”的麻烦。

DNN也演变成许多不同的网络拓扑结构,例如:

  • CNN(卷积神经网络)
  • RNN(递归神经网络)
  • LSTM(长期短期记忆网络)
  • GAN(生成对抗网络)

所有的这些被统称为深度学习(Deep Learning)。

迁移学习 (transfer learning)

迁移学习能够将适用于大数据的模型迁移到小数据上,作为小数据模型的训练起点,节约训练神经网络需要的大量计算和时间资源。

例如采用在计算机视觉挑战赛通过ImageNet数据(源数据)集训练出来的AlexNet 模型迁移应用到另一个新的数据集(目标数据集)重新进行训练(微调)。

主要步骤:

  • 在源数据上训练一个神经网络。比如在 ImageNet 上训练出的 AlexNet 模型。

  • 将模型的输出层改成适合目标数据的大小。 新加载的数据并不需要作1000个类别的分类任务,因此 AlextNet 的最后三层可以针对性按照新的分类问题重新调整,例如:

  • 降低之前训练网络的特征初始学习率,减缓迁移层的学习。

  • 降低迁移学习设置过多的迭代训练次数,提高训练效率。

  • 减小批(Mini Batch Size)的大小,降低内存使用率。

  • 将输出层的权重初始化成随机值,但其他层的权重保持跟原先训练好的权重一致。

  • 在目标数据集上开始训练。

机器学习、监督学习、非监督学习、强化学习、深度学习、迁移学习相关推荐

  1. 什么是监督学习非监督学习,强化学习

    什么是监督学习非监督学习,强化学习 机器学习按照学习方式的不同,分为很多的类型,主要的类型分为 监督学习 非监督学习 强化学习 半监督学习 什么是监督学习? 利用一组已知类别的样本调整分类器的参数,使 ...

  2. 机器学习:非监督学习

    文章目录 机器学习:非监督学习 聚类Clustering Kmean聚类 层次聚类 (Hierarchical Clustering, HC) 单连接层次聚类(single link) 全连接层次聚类 ...

  3. 吴恩达深度学习笔记(67)-迁移学习(Transfer learning)

    https://www.toutiao.com/a6644868806923518471/ 2019-01-11 07:36:41 迁移学习(Transfer learning) 深度学习中,最强大的 ...

  4. 机器不学习:初识迁移学习

    机器不学习 jqbxx.com-专注机器学习,深度学习,自然语言处理,大数据,个性化推荐,搜索算法,知识图谱 虽然我不是专门研究迁移学习的,但是作为一个AI研究者,就如题图吴老师所说,迁移学习极为重要 ...

  5. 吴恩达机器学习笔记-非监督学习

    聚类 之前的课程中我们学习的都是监督学习相关的算法,现在来开始看非监督学习.非监督学习相对于监督非学习来看,其使用的是未标记的训练集而监督学习的是标记的训练集.换句话说,我们不知道向量y的预期结果,仅 ...

  6. 机器学习之非监督学习——(猫狗识别案例/搭建卷积神经网络)

    监督学习 监督学习的存在它的弊端,例如对我们人类还无法分辨和归类的事物,监督学习就无法完成,所以为了弥补这个缺陷,下面我们看一下新非监督学习,它可以让计算机学会进行更加复杂的分类. 分析过程 监督学习 ...

  7. 【深度学习系列】迁移学习Transfer Learning

    在前面的文章中,我们通常是拿到一个任务,譬如图像分类.识别等,搜集好数据后就开始直接用模型进行训练,但是现实情况中,由于设备的局限性.时间的紧迫性等导致我们无法从头开始训练,迭代一两百万次来收敛模型, ...

  8. 目标检测迁移学习_使用迁移学习检测疟疾

    目标检测迁移学习 Written by Francesco Palma and Isaac Rosat 由Francesco Palma和Isaac Rosat撰写 In this article, ...

  9. Deep CARs:使用Pytorch学习框架实现迁移学习

    全文共13449字,预计学习时长26分钟或更长 图片来源:https://www.pexels.com/photo/vehicles-parked-inside-elevated-parking-lo ...

  10. 【学习笔记】迁移学习分类

    什么是迁移学习 通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性,用成语来说就是举一反三.由于直接对目标域从头开始学习成本太高,我们故而转向运用已有的相关知识来辅助尽 ...

最新文章

  1. Hadoop生态圈-hive编写自定义函数
  2. LeetCode-基础动态规划-70. 爬楼梯
  3. Drools与Spring集成 登录测试
  4. IT项目管理中如何应对预算削减的难题?
  5. java entitymanager类_如何在Java JDBC EntityManagerFactory类中设置实体的ID?
  6. 元年·潮湃 首届搜狐5G峰会倒计时 参会大咖揭晓
  7. 批处理Delims的基本知识
  8. ubuntu 安装 mono报错 E: Unable to correct problems, you have held broken packages.
  9. python获取eth0_python 获取网卡实时流量
  10. image转base64
  11. Unity学习笔记(一)—— 基础知识
  12. python函数算面积_面积函数python
  13. iOS 【奇巧淫技】获取webView内容高度
  14. 泛微使用代码关联附件
  15. TDA2XEVM从EMMC启动
  16. 2020年度广东学法普法平台开始了
  17. ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案
  18. Accumulation Degree -换根dp
  19. 【蛮力算法】数据结构与算法
  20. Activity到底是什么时候显示到屏幕上的呢?

热门文章

  1. 运行shell脚本报错:“syntax error near unexpected token 的解决方法”
  2. 结构体数组和结构体链表
  3. 管理能力再强,不会做人也不是好领导
  4. 一场打工人革命即将来临?微软发布 Copilot
  5. 苹果叶片病害检测论文
  6. LeetCode-69 Sqrt(x)
  7. matlab数学实验报告syms,MATLAB验练习题(计算机) 南邮 MATLAB 数学实验大作业答案
  8. 浅谈HTTP协议的作用过程
  9. 硬盘“文件或目录损坏且无法读取”或“参数错误”的解决办法
  10. 找不同(LeetCode)