ML(1)——机器学习简述
简述
机器学习是人工智能的一种实现方式;深度学习是一种实现机器学习的技术,或者说是一种特殊的机器学习方法,可以说广义上的机器学习也包括了深度学习,三者的关系如下图所示:
从判别垃圾邮件到无人驾驶技术,机器学习在众多领域都有着广泛的应用,机器学习成就了今天的人工智能。
机器学习的本质
在以往的工程项目中,我们认为计算机程序只能严格执行我们让它做的事情——输入数据,输出计算结果。为了得出正确的结果,需要在程序中写大量的循环和判断,但是对于某些问题,这种方式将无法处理,比如如何判断一张照片中有没有大树?
对于人类来讲,可能在会走路的时候就认识了大树,然而我们并没有试图给小孩子灌输大树的定义,实际上大多数人都不能准确定义什么是大树,但是我们依然能够分辨:“哦,这就是大树”。联想小孩子学习的过程,是经过家长无数次的教导,告诉他:“嘿,宝贝,这一棵大树”,然后他慢慢学会了:“哦,这种东西就是大树”。当然,这种方式有时可能会出错,比如我的小孩在最近才能分清老虎和猫咪。
机器学习的本质就是让计算机模拟上述过程,让计算机“学习”,从而获得某种认知,通过这种认知判断新的事物。这种认知称为模型,用数学表示将是一个函数。
上述过程可以简述为:输入一堆相关数据,让计算机自行学习,得到一个可以判断新事物的模型:
使用机器学习时需要考虑三点:
- 必须存在一个模型;
- 这个存在的模型无法正确写出;
- 手里有足够多的关于这个模型的数据。
举例来说:
- 预测刚会走路的小孩会往哪个方向前进(不存在模型,前进方向不可预测)
- 计算加减乘除混合运算(可以正确写出模型)
- 外星人是否来袭(没有足够多的数据提供参考)
- 判断一个人的信誉是否优良以便对其发放信用卡(可以使用机器学习)
需要注意的是,除了第三点外,即使1,2都不是机器学习的必要条件,只是此时机器学习不是最佳实现方案。
在机器学习开始时,我们应当掌握多少数据?理论上,数据量应当能够恰好完美的得到某个模型;然而实际上可能只有很少的数据,但这并不妨碍开始机器学习。所以问题的答案只能是“具体情况具体分析”。
机器学习的种类
通常,机器学习可分为监督学习、非监督学习和强化学习。
监督学习
数据集中的每个样本有相应的“正确答案”,根据训练集得出模型,从而预测新数据。对于连续型数据的预测称为回归,对于离散型数据的预测称为分类。
非监督学习
给出一堆数据,我也不知道要预测什么,总之你自己预测吧,祝你好运。
强化学习
不断尝试新输入,对输出进行评分,每次都选取最高分,渐渐地,机器会只给出高分的答案。这和处于探索阶段的小孩子一样,碰到了仙人球,知道了坏的结果,从此将远离仙人球,然后不断尝试碰触新东西,逐渐知道很多东西不能碰。
作者:我是8位的
出处:http://www.cnblogs.com/bigmonkey
本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途!
扫描二维码关注公众号“我是8位的”
需要注意的是,除了第三点外,即使1,2都不是机器学习的必要条件,只是此时机器学习不是最佳实现方案。
ML(1)——机器学习简述的更多相关文章
- AI Boot Camp 分享之 ML.NET 机器学习指南
今天在中国七城联动,全球134场的AI BootCamp胜利落幕,广州由卢建晖老师组织,我参与分享了一个主题<ML.NET 机器学习指南和Azure Kinect .NET SDK概要>, ...
- C# .NET ML.NET 机器学习 图像分类
一. 准备工作 IDE是 VS2019.先下载好"resnet_v2_50_299.meta"这个文件,放入"C:\Users\jk\AppData\Local\Temp ...
- 机器学习 - ML
CNCC - 2016 | 机器学习(原文链接) Machine Learning - ML,机器学习起源于人工智能,是AI的一个分支. 机器学习的理论基础:计算学习理论 - Computationa ...
- 一个开源的,跨平台的.NET机器学习框架ML.NET
微软在Build 2018大会上推出的一款面向.NET开发人员的开源,跨平台机器学习框架ML.NET. ML.NET将允许.NET开发人员开发他们自己的模型,并将自定义ML集成到他们的应用程序中,而无 ...
- 使用ML.NET + Azure DevOps + Azure Container Instances打造机器学习生产化
介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipeli ...
- 开源的,跨平台的.NET机器学习框架ML.NET
微软在Build 2018大会上推出的一款面向.NET开发人员的开源,跨平台机器学习框架ML.NET. ML.NET将允许.NET开发人员开发他们自己的模型,并将自定义ML集成到他们的应用程序中,而无 ...
- 机器学习、深度学习以及人工智能正在快速演进(ML、DL、AI)
机器学习.深度学习以及人工智能正在快速演进 机器学习.深度学习和人工智能(ML.DL和AI)是彼此相关的概念,他们正在改变不知多少行业,改变其自身管理模式,同时改变做出决策的方式.显然,ML.DL和A ...
- 机器学习 - ML + 深度学习 - DL
机器学习 CNCC - 2016 | 机器学习(原文链接) Machine Learning - ML,机器学习起源于人工智能,是AI的一个分支. 机器学习的理论基础:计算学习理论 - Computa ...
- iOS 11: CORE ML—浅析
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者:l ...
随机推荐
- Linux文件系统命令 mkdir/rmdir
命令名:mkdir 功能:创建一个文件夹,和touch的区别是,touch是创建一个文件,后面可以跟绝对路径和相对路径 eg: mkdir ren 命令名:rmdir 功能:删除一个文件夹
- shiro学习笔记(四) ini配置以及加解密
INI配置 从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的:也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此Sh ...
- [Jedis] ERR wrong number of arguments for 'mget'
看别人写的代码是件比较痛苦的事情,更加痛苦的是别人的代码出错还要负责调试好. 关于如何迅速定位问题和调试代码,我的一点感受是:逐行认真查看错误信息,在这些信息中找自己熟悉的内容(包括文件名.方法名等) ...
- 3d的 一些公式
1. 3d围绕 z轴旋转 x,y 变换公式: // α β x = r cosα y = r sinα x' = r cos (α+β) y' = r sin (α+β) x' = r (cosα c ...
- linux 调试技巧
1.添加log printf("\033[1;43m %s,%s,%d\033[0m\n",__FILE__,__FUNCTION__,__LINE__); FILE:文件名 FU ...
- linux 将一个文件分解成多个不同名文件
1.通过c直接实现 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include & ...
- 2.24 js处理内嵌div滚动条
2.24 js处理内嵌div滚动条 前言 前面有篇专门用js解决了浏览器滚动条的问题,生活总是多姿多彩,有的滚动条就在页面上,这时候又得仰仗js大哥来解决啦.一.内嵌滚动条 1.下面这张图 ...
- 安卓 dex 通用脱壳技术研究(四)
/* 当第一个类执行到此函数时,我们在dvmDefineClass执行之前,也就是第一个类加载之前 注入我们的dump代码:即DumpClass()函数 */ static void ...
- Linux串口设备树硬件、软件流控设置
/********************************************************************** * Linux串口设备树硬件.软件流控设置 * 说明: ...
- 深入java final关键字
Java final关键字详解:https://blog.csdn.net/kuangay/article/details/81509164 深入java final关键字 用法注意点和JVM对其进行 ...