简述

  机器学习是人工智能的一种实现方式;深度学习是一种实现机器学习的技术,或者说是一种特殊的机器学习方法,可以说广义上的机器学习也包括了深度学习,三者的关系如下图所示:

  从判别垃圾邮件到无人驾驶技术,机器学习在众多领域都有着广泛的应用,机器学习成就了今天的人工智能。

机器学习的本质

  在以往的工程项目中,我们认为计算机程序只能严格执行我们让它做的事情——输入数据,输出计算结果。为了得出正确的结果,需要在程序中写大量的循环和判断,但是对于某些问题,这种方式将无法处理,比如如何判断一张照片中有没有大树?

  对于人类来讲,可能在会走路的时候就认识了大树,然而我们并没有试图给小孩子灌输大树的定义,实际上大多数人都不能准确定义什么是大树,但是我们依然能够分辨:“哦,这就是大树”。联想小孩子学习的过程,是经过家长无数次的教导,告诉他:“嘿,宝贝,这一棵大树”,然后他慢慢学会了:“哦,这种东西就是大树”。当然,这种方式有时可能会出错,比如我的小孩在最近才能分清老虎和猫咪。

  机器学习的本质就是让计算机模拟上述过程,让计算机“学习”,从而获得某种认知,通过这种认知判断新的事物。这种认知称为模型,用数学表示将是一个函数。

  上述过程可以简述为:输入一堆相关数据,让计算机自行学习,得到一个可以判断新事物的模型:

  使用机器学习时需要考虑三点:

  1. 必须存在一个模型;
  2. 这个存在的模型无法正确写出;
  3. 手里有足够多的关于这个模型的数据。

  举例来说:

  1. 预测刚会走路的小孩会往哪个方向前进(不存在模型,前进方向不可预测)
  2. 计算加减乘除混合运算(可以正确写出模型)
  3. 外星人是否来袭(没有足够多的数据提供参考)
  4. 判断一个人的信誉是否优良以便对其发放信用卡(可以使用机器学习)

  需要注意的是,除了第三点外,即使1,2都不是机器学习的必要条件,只是此时机器学习不是最佳实现方案。

  在机器学习开始时,我们应当掌握多少数据?理论上,数据量应当能够恰好完美的得到某个模型;然而实际上可能只有很少的数据,但这并不妨碍开始机器学习。所以问题的答案只能是“具体情况具体分析”。

机器学习的种类

  通常,机器学习可分为监督学习、非监督学习和强化学习。

  监督学习

  数据集中的每个样本有相应的“正确答案”,根据训练集得出模型,从而预测新数据。对于连续型数据的预测称为回归,对于离散型数据的预测称为分类。

  非监督学习

  给出一堆数据,我也不知道要预测什么,总之你自己预测吧,祝你好运。

  强化学习

  不断尝试新输入,对输出进行评分,每次都选取最高分,渐渐地,机器会只给出高分的答案。这和处于探索阶段的小孩子一样,碰到了仙人球,知道了坏的结果,从此将远离仙人球,然后不断尝试碰触新东西,逐渐知道很多东西不能碰。


  作者:我是8位的

  出处:http://www.cnblogs.com/bigmonkey

  本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途!

  扫描二维码关注公众号“我是8位的”

需要注意的是,除了第三点外,即使1,2都不是机器学习的必要条件,只是此时机器学习不是最佳实现方案。

ML(1)——机器学习简述的更多相关文章

  1. AI Boot Camp 分享之 ML.NET 机器学习指南

    今天在中国七城联动,全球134场的AI BootCamp胜利落幕,广州由卢建晖老师组织,我参与分享了一个主题<ML.NET 机器学习指南和Azure Kinect .NET SDK概要>, ...

  2. C# .NET ML.NET 机器学习 图像分类

    一. 准备工作 IDE是 VS2019.先下载好"resnet_v2_50_299.meta"这个文件,放入"C:\Users\jk\AppData\Local\Temp ...

  3. 机器学习 - ML

    CNCC - 2016 | 机器学习(原文链接) Machine Learning - ML,机器学习起源于人工智能,是AI的一个分支. 机器学习的理论基础:计算学习理论 - Computationa ...

  4. 一个开源的,跨平台的.NET机器学习框架ML.NET

    微软在Build 2018大会上推出的一款面向.NET开发人员的开源,跨平台机器学习框架ML.NET. ML.NET将允许.NET开发人员开发他们自己的模型,并将自定义ML集成到他们的应用程序中,而无 ...

  5. 使用ML.NET + Azure DevOps + Azure Container Instances打造机器学习生产化

    介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipeli ...

  6. 开源的,跨平台的.NET机器学习框架ML.NET

    微软在Build 2018大会上推出的一款面向.NET开发人员的开源,跨平台机器学习框架ML.NET. ML.NET将允许.NET开发人员开发他们自己的模型,并将自定义ML集成到他们的应用程序中,而无 ...

  7. 机器学习、深度学习以及人工智能正在快速演进(ML、DL、AI)

    机器学习.深度学习以及人工智能正在快速演进 机器学习.深度学习和人工智能(ML.DL和AI)是彼此相关的概念,他们正在改变不知多少行业,改变其自身管理模式,同时改变做出决策的方式.显然,ML.DL和A ...

  8. 机器学习 - ML + 深度学习 - DL

    机器学习 CNCC - 2016 | 机器学习(原文链接) Machine Learning - ML,机器学习起源于人工智能,是AI的一个分支. 机器学习的理论基础:计算学习理论 - Computa ...

  9. iOS 11: CORE ML—浅析

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者:l ...

随机推荐

  1. win10下安装scala流程及问题

    第一步:Java 设置 检测方法前文已说明,这里不再描述. 如果还为安装,可以参考我们的Java 开发环境配置. 接下来,我们可以从 Scala 官网地址 http://www.scala-lang. ...

  2. python文件和文件流操作

    f = open(r'C:\Users\wangxue2\Desktop\somefile.txt', 'w') #r'C:\Users\wangxue2\Desktop\somefile.txt'中 ...

  3. global $GLOBALS 区别

    PHP代码 复制代码 代码如下: <?php // 例子1 function test_global() { global $var1, $var2; $var2 =& $var1; } ...

  4. java学习笔记20(Arraylist复习,Collection接口方法,迭代器,增强型for循环)

    集合:集合是Java提供的一种容器,可以用来存储多个数据: 集合与数组的区别:集合的长度是可变的,数组的长度是固定的 集合中存储的数据必须是引用类型数据: ArrayList回顾: public cl ...

  5. 在dosbox窗口显示a~z

    assume cs:code stack segment db 128 dup (0) stack ends code segment start: mov ax,stack mov ss,ax mo ...

  6. WSDL 文档-一个简单的 XML 文档

    WSDL 文档是利用这些主要的元素来描述某个 web service 的: <portType>-web service 执行的操作 <message>-web service ...

  7. SpringBatch Sample (三)(XML文件操作)

    前篇关于Spring Batch的文章,讲述了Spring Batch 对CSV文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对XML文件的读写操作.实例流程是 ...

  8. php防止sql注入的方法(转)

    [一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最 ...

  9. Python网络爬虫之requests模块(2)

    session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 有些时候,我们在使用爬 ...

  10. MySQL最基本的DML语句

    一.什么叫DML? DML(Data Manipulation Language):数据操作语言.主要操作数据表中的数据,使用DML可以完成以后三件事: 插入数据 修改数据 查询数据 二.具体的语句操 ...