前言

只有光头才能变强

没错,这篇主要跟大家一起入门机器学习。作为一个开发者,”人工智能“肯定是听过的。作为一个开发面试者,肯定也会见过”机器学习“这个岗位(反正我校招的时候就遇到过)。

可能还会听过或者见过“深度学习”、“神经网络”等等这些非常火的名词,那你对这些术语了解多少呢?

相信大家这几天在朋友圈也可以看到这照片:

// 通过if else 以人工穷举的方式来假装实现智能机器人聊天

希望阅读完本文中后,大家可以对这些术语和机器学习有一定的了解。

一、术语介绍

首先我们来简单看看人工智能、深度学习、机器学习这些术语和它们之间的关系究竟是怎么样的。

1.1人工智能

不知道听到“人工智能”大家会联想到什么,可能大多数都会想到科幻电影的机器人。

我们看来看看维基百科的定义:

人工智能(英语:Artificial Intelligence,缩写为 AI)亦称机器智能,指由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序的手段实现的人类智能技术。

人工智能也可以分成两类:

  • 强人工智能:强人工智能观点认为“有可能”制造出“真正”能推理(Reasoning)和解决问题的智能机器,并且,这样的机器将被认为是具有知觉、有自我意识的

    • 像绝大多数科幻电影中的机器人就是在这范畴
  • 弱人工智能:弱人工智能观点认为“不可能”制造出能“真正”地推理和解决问题的智能机器,这些机器只不过**“看起来”像是智能**的,但是并不真正拥有智能,也不会有自主意识。
    • 我们目前阶段的人工智能,其实都是弱人工智能。

1.2机器学习

不知道听到“机器学习”大家会联想到什么。Emmm…反正我就是从字面的意思去理解:“机器可以自我学习”。

首先我们看一下维基百科是怎么说的:

机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。机器学习在近30多年已发展为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科

简单来说:机器学习可以通过大量的数据或者以往的经验自动改进计算机程序/算法

生成完模型f(x)之后,我们将样例数据丢进模型里边,就可以输出结果:

我们说机器学习可以自我学习,是因为我们会将样例数据也会丢到“历史数据”中,这样生成模型就会有一定的改动,从而达到“自我学习”的效果。

1.3它们之间的关系

等等,我们好像还没讲深度学习呢。我们从上面机器学习的介绍也可以知道,机器学习已发展为一门多领域交叉学科,机器学习中就有好多个经典的算法,其中就包含了神经网络(深度学习可看成是神经网络的升级版)。由于近几年深度学习发展迅猛,一些特有的学习手段相继被提出,所以越来越多的人将其单独看作一种学习的方法。

《机器学习 周志华》:

所谓深度学习,狭义地说就是**“很多层”的神经网络**,在若干测试和竞赛下,尤其涉及语音、图像等复杂对象的引用中,深度学习取得优越的性能。

所以我们可以总结出人工智能、机器学习、深度学习之间的关系是这样的:

  • 机器学习,是实现人工智能的重要方法。
  • 深度学习,是实现机器学习的技术。

想要了解更多,可参考:

  • 人工智能、机器学习和深度学习的区别?

    • https://www.zhihu.com/question/57770020

二、机器学习入门

通过上面我们可以简单认为机器学习就是:利用计算机从历史数据找出规律,把这些规律用到未来不确定场景的决策中。

下面我们再来学习一下机器学习的一些入门知识。

2.1机器学习的术语

特征、样本、数据集、标记这些术语的说明:

特征(属性)所张成的空间叫做特征空间

例如我们把“色泽”、"根蒂“、”敲声“作为三个坐标轴,则它们张成一个用于描述西瓜的三围空间,每个西瓜都可在这个空间中找到自己的坐标位置。由于空间中的每个点对应一个坐标向量,我们也把一个示例称为“特征向量”。

回到我们上面的图,再来讲讲“训练数据”、“训练”、“标记”:

2.2机器学习的分类

一般机器学习又可以分成以下几类:

  • 监督学习
  • 半监督学习
  • 非监督学习
  • 增强学习

2.2.1监督学习

监督学习:训练数据(Training Data)可以告诉我们要找的那个模型的输入(Input)与输出(Output,也就是我们说的label)之间有什么样的关系。

  • 给出的数据都有“答案”或“标记”

训练数据:“Java3y公众号”->好的公众号 , “Java4y公众号”->不好的公众号。
输出结果:好的公众号或者不好的公众号

在监听学习下又分为两种算法:

  • 回归(Regression):结果是一个连续的数值(scalar),而非类别
  • 分类(Classification):为训练数据进行分类别(多分类)
    • 二分类:类别只有两种结果(YES OR NO)

回归例子:知道前几天的PM2.5数值,预测一下明天的PM2.5数值。

**二分类例子:**判断一封邮件是垃圾邮件还是正常邮件。

**多分类例子:**将新闻帖子分类成不同的类别。

2.2.2非监督学习

非监督学习:训练数据(Training Data)没有对应“答案”或“标记”

训练数据:“Java3y公众号” “Java4y公众号” “Java5y公众号” “Java6y公众号” “yyy公众号” “xxx公众号” “zzz公众号”
输出结果:(“Java3y公众号” “Java4y公众号” “Java5y公众号” “Java6y公众号”) (“yyy公众号” “xxx公众号” “zzz公众号”) 分门类别

对没有“标记”的数据进行分类-聚类分析

聚类分析例子:在以前,中国移动有三个品牌:神州行、动感地带、全球通。我们给一堆的SIM卡交由学习算法训练,不告诉它每张SIM卡具体是什么卡,最后我们是可以将这些SIM卡分类别出来的。

2.2.3半监督学习

理解了监督学习和非监督学习,对于半监督学习就很容易理解了。

一部分数据有“标记”或者“答案”,另一部分数据没有

  • 因为各种原因产生的标记缺失。

通常都会使用非监督学习手段对数据进行处理(特征提取、降维),之后再只用监督学习手段做模型的训练和预测。

2.2.4增强学习

根据周围环境的情况,采取行动,根据采取行动的结果,学习行动方式

每次行动,就给这次的行动评分,算法会根据评分来评估下一次的行动是好还是坏,最终不断改进。

例子:Alpha Go下每步棋的时候都会评估自己这次下得怎么样,通过最终的结果不断改进下的每步棋。

2.3机器学习的其他分类

除了我们上面所说的监督学习、非监督学习、半监督学习、增强学习之外,机器学习也可以分成:

  • 在线学习:及时将样例数据作为训练数据对模型进行训练。

    • 需要加强对数据进行监控(有可能样本数据是脏数据,这样就破坏我们的模型)
  • 离线(批量)学习:定时将样例数据作为训练数据对模型进行训练。
    • 不能很快的适应环境的变化

还有:

  • 参数学习:一旦学到了参数,就不再需要原有的数据集。通过调参数就好了。
  • 非参数学习:不对模型进行过多的假设,非参数不代表没参数。

最后

机器学习的核心在于算法上,这篇只是对机器学习的一个简单的入门,希望能对大家有所帮助。

机器学习资源,可关注我的公众号,回复“机器学习”即可领取。

  • 有周志华《机器学习》电子版。吴恩达、李宏毅视频及笔记

乐于分享和输出干货的Java技术公众号:Java3y。

文章的目录导航

  • https://github.com/ZhongFuCheng3y/3y

外行人都能看得懂的机器学习,错过了血亏!相关推荐

  1. 简单到外行人都能看懂的“学生管理系统”

    简单到外行人都能看懂的"学生管理系统" 话不多说,直接开始 1-------------首先万物第一步,定义属性 我们这里定义了三个属性,名字,年龄,学号, public clas ...

  2. [免费专栏] Android安全之Android Xposed插件开发,小白都能看得懂的教程

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  3. yolov5使用2080ti显卡训练是一种什么样的体验我通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程。>>>>>>>>>第二章番外篇

    第二章番外篇:yolov5通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 前期准备: 2 ...

  4. yolov5-4.0环境搭建,零基础小白都能看得懂的教程。YOLOv5搭建的最快搭建方式,踩坑经历详谈)yolov5/yolov4/yolov3/yolov3通>>>>>>>>>>>>>>>>>第一章

    第一章:python最新YOLOv5-4.0环境搭建,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 环境准备: yolov5-4.0环境搭建整体说明 2,anaconda的 ...

  5. 小白都能看得懂的教程 一本教你如何在前端实现markdown编辑器

    小白都能看得懂的教程 一本教你如何在前端实现markdown编辑器   大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站.华为开发者论坛等平台分享一些技 ...

  6. C语言,谁都能看得懂的归并排序

    喜欢看排序算法动态效果的,可以看看这个网站 https://visualgo.net/zh/sorting 里面很多算法的动画解释,可以看到算法的排序效果,而且还附带了伪代码的实现过程. 本来想录制几 ...

  7. 外行人都能看懂的WebFlux,错过了血亏

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star: https://github.com/ZhongFuCheng3y/3y 本文知识点架构: 知识点架构 如果有关注我公众号文 ...

  8. 外行人都能看懂的 NFS 知识,错过血亏

    目录 前言 初识 NFS 1.1 什么是 NFS? 1.2 RPC 远程调度 1.3 NFS 工作过程 1.4 NFS 权限 1.5 NFS 相关文件 NFS 案例 2.1 NFS server 2. ...

  9. 尚硅谷springcloud第二季笔记_外行人都能看懂的 Spring Cloud,错过了血亏

    一.前言 这篇主要来讲讲SpringCloud的一些基础的知识(我就是现学现卖了,主要当做我学习SpringCloud的笔记吧!)当然了,我的水平是有限的,可能会有一些理解错的的概念/知识点,还请大家 ...

  10. 外行人都能看懂的SpringCloud,错过了血亏!

    一.前言 只有光头才能变强 认识我的朋友可能都知道我这阵子去实习啦,去的公司说是用SpringCloud(但我觉得使用的力度并不大啊~~)... 所以,这篇主要来讲讲SpringCloud的一些基础的 ...

最新文章

  1. Oracle推出轻量级Java微服务框架Helidon
  2. JAVA 多用户商城系统b2b2c-服务容错保护(Hystrix依赖隔离)
  3. 2440从sd卡启动wince
  4. SIFT定位算法关键步骤的说明
  5. 基本套接字总结(@function)
  6. 调试一个C#研究生管理信息系统源码
  7. Intellij Idea非常6的10个姿势!
  8. 最难面试IT公司的测试题
  9. 网络基础一(协议的概念,网络应用程序设计模式)
  10. html中加减号怎么输入,jQuery 实现点击加减号改变input标签中的value值,该怎么解决...
  11. iOS版微信跟上了!已支持改微信号,修改后好友不会收到提醒
  12. c#报错不实现接口成员_当接口和具体在不同的项目中时,c#-“无法实现接口成员”错误...
  13. 小心中中国移动“短号集群网”的招
  14. C#ToString() 格式化数值
  15. 教新手小白如何通过五分钟学会用Python爬取女神照片!
  16. 清华教授!亲手教你JavaScript 在线解压 ZIP 文件,实战理论全都有
  17. ov5640帧率配置_基于OV5640的FPGARAM HDMI显示
  18. Cannot find module ‘vite-plugin-compression‘ or its corresponding type declarations
  19. Python面向对象:小明和小美爱跑步
  20. windows下使用nvm管理node版本

热门文章

  1. EXCEL【数据处理之数据抽取——字段拆分】
  2. java 微博 开源_微博开源框架Motan初体验
  3. C# winform推荐波形图表控件scottplot
  4. ASUS笔记本型号命名
  5. JAVA_HOME should point to a JDK not a JRE的一个解决办法
  6. 在Linux中使用7zip/7zz
  7. java基于ssm的学校教务管理系统的设计与实现论文
  8. PMP考试知识总结【精华--持续更新】
  9. 学刘红杰老师博客营销,知如何提高博客访问流量
  10. 网吧的监控系统和服务器如何连接,网吧监控系统安装解决方案