当前位置: 首页 > article >正文

机器学习的通俗解释

机器学习,到底是让机器(电脑)学习什么?今天尝试用最通俗的方式来解释一下。

一、人类学习的过程

人类学习一项能力的过程,以买西瓜为例,由于不能切开西瓜来看,所以我们通常通过瓜皮的颜色、瓜蒂的曲直、拍瓜的声音等因素(参数)来选择西瓜,下面例举了部分西瓜判断的情形:

瓜皮瓜蒂拍击声生/熟
清脆
沉闷
沉闷

当买过几次西瓜之后,人们通常就能够总结出买西瓜的经验了:瓜皮颜色深、瓜蒂弯曲、拍击声沉闷的西瓜,通常是熟瓜的概率比较大。

选择西瓜的过程,我们可以看作是一个函数输入输出的过程:

f(瓜皮:浅,瓜蒂:直,声音:脆)=  生瓜

f(瓜皮:浅,瓜蒂:曲,声音:闷)=  熟瓜

f(瓜皮:深,瓜蒂:曲,声音:闷)=  熟瓜

这个判断西瓜生熟的函数,当输入不同的参数时,得出的结论不一样。

二、机器学习的过程

我们来改造一下上面的函数,如果用x_{1},x_{2},x_{3}来分别代表瓜皮、瓜蒂和拍击声音,\omega _{1},\omega _{2},\omega _{3}表示x_{1},x_{2},x_{3}的参数,例如\omega _{1}=0表示x_{1}(瓜皮)为浅色,\omega _{1}=1表示x_{1}为深色,那么上面的函数可以表示为:

f(x)=\omega _{1}x_{1}+\omega _{2}x_{2}+\omega _{3}x_{3}

有了这个函数表示,我们可以让机器来学习判断西瓜的过程了:\omega _{1},\omega _{2},\omega _{3}这些参数,具体该怎么选择,我们不告诉机器,但是我们可以根据以往的经验,告诉机器其中一些组合的结果,例如浅、直、脆=生瓜,深、曲、闷=熟瓜,让机器自己根据部分的结果,去总结这个函数中\omega _{1},\omega _{2},\omega _{3}这几个参数的取值。这个过程就是机器学习的过程。

西瓜生熟的例子,判断的因素(参数)不多,判断的结果也只有两种,只是一个简单的例子。你可能会好奇,机器学习这么简单,对于我们来说有什么用?

三、机器学习的一个复杂例子

下面我们来换一个复杂的例子:通过抽血化验来判断一个人是否生病。

通常的抽血化验,检查的指标项有30-50项甚至更多,我们以50项指标的化验为例,我们用x_{1},x_{2},\cdots,x_{50}来表示这50项指标,假设每一项指标的结果分为合格(0)、不合格(1)两类,用\omega _{1},\omega _{2},\cdots ,\omega _{50}表示,最终这些指标对应健康(0)与生病(1)两种结果,那么用函数来表示就是:

f(x)=\omega _{1}x_{1}+\omega _{2}x_{2}+\cdots +\omega _{50}x_{50}

所有指标组合的结果一共有2^{50}=1125899906842624种情况,不考虑指标之间的相关因素,我们人类是不可能得到所有的结果的,也就是说,我们人类是不可能把所有结果都穷尽出来,然后仅凭抽血化验的结果就判断一个人是否生病的。

我们虽然没有所有化验的结果判断,但是一家医院还是存有几万份医生诊断的结果,也就是说,我们手头有部分化验指标对应的诊断结果,可以把这些结果告诉机器,让机器去寻找,当\omega _{1},\omega _{2},\cdots ,\omega _{50}这些参数取什么值的时候,f(x)=1,找到了这些参数,也就找到了病人抽血化验参数与是否生病之间的对应关系。现阶段,这种对应关系可以辅助医生诊断病情,今后,这种对应关系甚至可能直接产生诊断结果。

今天,先用两个简单的例子来解释,什么是机器学习。之后,我会尝试尽可能用通俗的语言来解释机器学习的其它内容。


http://www.kler.cn/a/518924.html

相关文章:

  • vim如何设置自动缩进
  • 【软件测试项目实战 】淘宝网:商品购买功能测试
  • 【JavaEE进阶】Spring留言板实现
  • tkinter绘制组件(44)——浮出ui控件
  • 从 TCP/IP 演进看按序流与性能
  • Android SystemUI——系统快捷设置面板(十三)
  • Node.js下载安装及环境配置教程 (详细版)
  • 服务器中的流量主要是指什么?
  • RPC是什么?和HTTP区别?
  • Python 对列表进行排序的 5 种方法
  • C++17 新增属性详解
  • Unity在WebGL中拍照和录视频
  • 通过Python编程语言实现“机器学习”小项目教程案例
  • 【Rust自学】15.2. Deref trait Pt.1:什么是Deref、解引用运算符*与实现Deref trait
  • Mongodb副本集群为什么选择3个节点不选择4个节点
  • 【Matlab高端绘图SCI绘图模板】第002期 绘制面积图
  • Spring中的事务管理器TransactionManager
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.2 ndarray解剖课:多维数组的底层实现
  • 「 机器人 」扑翼飞行器混合控制策略缺点浅谈
  • 在centos下使用containerd管理容器:5分钟从docker转型到containerd
  • go并发原语源码系列(二)sync.WaitGroup
  • How to learn html?基于chatGLM-b生成示例(仅供参考)
  • 【C++】类与对象初级应用篇:打造自定义日期类与日期计算器(2w5k字长文附源码)
  • 双注意力模块DAB详解及代码复现
  • 05.KNN算法总结
  • 重构(2)判断型函数和判断型变量的命名