原标题:一篇文章了解机器学习

最近正在做一个机器学习相关的项目,在这之前自己也没有接触过机器学习。可谓边做边学,在这里把自己的学习理解记录下来,同时也希望感兴趣的同学可以通过这篇文章对机器学习有一个大致的了解。这篇文章没有专业的技术语言,旨在让机器学习之外的人能够对这门技术有一个初步的认识。

背景

机器学习(Machine Learning)是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力。

机器学习的定义

机器学习,顾名思义就是让机器进行“学习”,这个名字使用了拟人的手法。

但是计算机是死的,怎么可能像人一样学习呢?

传统的计算机程序,都是我们输入一串指令后,它按照这个指令一步步的执行,最终输出一个明确的结果,具有明确的因果关系。但是机器学习却完全不一样,没有明确的因果关系。它会根据你输入的数据而不是指令来进行学习和输出结果,相关而不是因果的概念是机器学习的核心概念。

因此我们说,机器学习是一种让计算机利用数据而不是指令来进行各种工作的方法。

它是人工智能的核心,是使计算机智能化的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

基于机器学习的文本分类

文本分析一直是科学研究较为活跃的领域。毕竟创造所有人类知识(文本表示)不是一项轻松的工作。

下面我通过机器学习在文本数据分析方面的应用为例来简单的阐明具体什么是机器学习。如果你想简单的了解一下什么是机器学习,那么看完这篇文章就足够了。如果你想深入了解机器学习和人工智能,就需要多下功夫进行研究和思考了。

文本分析,即是让计算机对输入的文本数据进行分析,得到这篇文章的分析结果(如文本分类、正负情绪等)。进行分析的前提是,使用算法对文本数据进行分词和关键词提取,同时系统建立一个语料库。流程是,输入文本数据后,系统对文本数据进行分词和关键词的提取(关于分词和关键词提取的原理就不在这里展开说了,后续会抽时间进行分享),得到关键词数据后,与语料库的数据进行匹配,然后将匹配数据传输至分析引擎,得出分析结果。

这是目前行业中最基本的文本分析流程,这个流程本身是没有任何问题的,但是问题就出在计算机没有“自我”的意识,不懂得如何根据实际环境等因素进行灵活的变通,所以这样分析出来的结果可能会出现不准确的情况。举一个简单的例子,比如有一句话话“资本主义好?呵呵!”如果直接让计算机分析的话,也许得出的结果就是歌颂资本主义。但实际的情况却是批评资本主义。可以看到,在这种特定的环境下的分析判断,展现出会思考的人类的强大之处。

基于这样的情况,我们需要引入机器学习的概念。传统的计算机系统,都是输入A,得到的答案一定是B。但是通过机器不断的学习后,同样输入A,但是得到的答案可能会是B1B2或者BC。这就是机器学习后带来的变化,也正是机器学习的魅力所在。

先上一个关于文本分类的机器学习架构图。

在图中可以看到,对于分析引擎可以正确识别的将会直接输出分析结果。对于分析引擎不能正确识别的,将通过人工干预的方式对分析结果进行校正后再将正确结果进行输出。而机器学习引擎将对所有的这些历史样本数据进行存储。接着,我们将这些数据通过机器学习算法进行处理,这个过程在机器学习中叫做“训练”,处理的结果可以被我们用来训练“模型”,当输入新的数据时,我们即可以通过“模型”对这部分数据进行处理。对新数据的处理过程在机器学习中叫做“预测”。“训练”与“预测”是机器学习的两个过程,“模型”则是过程的中间输出结果,“训练”产生“模型”,“模型”指导 “预测”。

下面这张图就是机器学习的过程与人类归纳经验的对比:

可见,机器学习中的“训练”与“预测”过程可以对应到人类的“归纳”和“推测”过程。机器的“模型”通过历史数据的积累学习具有了对新的问题和具体情境给出判断的能力,这正如人类通过过往的生活经验不断归纳整理得出一定的规律而具有了利用这些知识对新的问题进行判断能力。通过这样的对应,我们可以发现,机器学习的思想并不复杂,仅仅是对人类在生活中学习成长的一个模拟。由于机器学习不是基于编程形成的结果,因此它的处理过程不是因果的逻辑,而是通过归纳思想得出的相关性结论。

小结

机器学习即是用某些算法指导计算机利用已知的历史数据得出适当的模型,并利用此模型对新的情境给出判断的过程。

以上,为个人理解,愿与大家多多交流!

本文由 @中尉 原创发布于人人都是产品经理。未经许可,禁止转载。返回搜狐,查看更多

责任编辑:

计算机机培训论文,一篇文章了解机器学习相关推荐

  1. 一篇文章解决机器学习,深度学习入门疑惑

    前言 进入正文前,我们先来看则新闻: 只看图不多说. 由此可见国家对人工智能的重视程序,趁早学习,让我们也贡献一份力量. 这篇文章要说的东西 研究生有不少日子,和之前的几个学长以及几个学弟偶尔也聊聊天 ...

  2. 你对java的看法 论文,一篇文章让你真正了解Java

    "你学习一门技术的最佳时机是三年前,其次是现在."这句话对于哪一种行业都很适用,如果你已经学习过Java,那么恭喜你你很有先见之明,如果你并不了解Java,这篇文章带你快速掌握Ja ...

  3. 通过这一篇文章就了解机器学习的主要内容和核心思想(包括一些算法思想总结)!!!

    机器学习总结–一篇文章了解机器学习的主要要点和基础 L1和L2正则化项 对于L1正则项来说,因为L1正则项是一组菱形,这些交点容易易落在坐标轴上.因此,另⼀一个参数的值在这个交点上就是0,从⽽而实现了 ...

  4. 学习使用 MATLAB 数学建模一篇文章就够了

    学习中,随着学习的深入会不断补充内容,欢迎大家一起学习数学建模知识,有什么问题,大家可以评论,一起讨论学习. 需要LaTeX 数学建模模板和我收集的一些数学建模资料的可以评论留下邮箱,与君共勉 !!! ...

  5. 一篇文章带你认识数学建模中的二维插值

    本篇文章主要是认识数学建模中的二维插值 二维插值的具体计算可参考:一篇文章带你搞定二维插值的 MATLAB 计算 文章目录 一.引言 二.网格节点的概念 三.散乱节点的概念 四.二维插值的常见方法 1 ...

  6. 写给仿真软件研发的“一篇文章入门”系列(终)

    "一篇文章入门"系列不再更新,点击绿色标题可打开链接. 一篇文章入门系列主要针对工业仿真软件研发测试人员,也可作为相关从业人员和学生,以及对仿真软件开发感兴趣的读者. 所有文章来自 ...

  7. c++ 计算正弦的近似值_一篇文章搞懂正弦保真性

    本文介绍数字信号处理中"正弦保真性"这一概念,想要更好地理解本文所述内容,建议读者先阅读<一篇文章搞懂卷积>. 正弦保真性定义 一个正弦信号作为线性时不变系统的输入时, ...

  8. Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例

    Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 文章目录 Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 Seaborn 学习目标 6.1 Se ...

  9. 一篇文章带你搞定二维插值的 MATLAB 计算

    前面已经学习了二维插值的基本概念:一篇文章带你认识数学建模中的二维插值 本篇文章主要实现使用MATLAB进行二维插值计算 文章目录 一.网格节点的插值计算 二.散点数据的插值计算 1. 示例 1 2. ...

最新文章

  1. 交易所频频被盗,你该如何保护自己的数字资产?
  2. 特征工程(七)SelectFromModel
  3. boost::geometry::detail::calculate_point_order用法的测试程序
  4. 进程,进程组,作业,会话,控制终端
  5. win8.1出现 called runscript when not marked in progress
  6. mysql 从服务器同步设置_mysql主从同步配置
  7. 一个方便的图片载入框架——ImageViewEx
  8. JavaScript高级程序设计之EventUtil
  9. workbench 手动提交事务_mysql实现事务的提交和回滚实例
  10. 计算机安装时的用户权限,如何设置win10系统使得电脑在安装软件前需要管理员的权限...
  11. 【Pytorch】保存神经网络模型
  12. springboot加载过程_SpringBoot自定义Starter,分析加载过程
  13. 关于Java后台 HTML+CSS3 转换生成PDF文件问题求助!
  14. sketchup 图片转模型_3d模型转su模型(如何将3D模型转化为sketchup)
  15. Tomcat中temp文件夹出现项目副本问题的解决方法
  16. 走进JavaWeb技术世界11:单元测试框架Junit
  17. 宝塔linux取消登录,宝塔面板如何关闭安全入口
  18. Unity3D 文字线条效果
  19. 港科招生 | 香港科大DBA(工商管理博士)项目介绍和科研成果分享
  20. 手机网站支付转Native支付--Android

热门文章

  1. 2016年5月26日晚上(妙味课堂js基础-2笔记二(DOM))
  2. 安慰奶牛 最小生成树
  3. 招聘ASP.net高级Web开发工程师
  4. 基于Active Directory的用户验证
  5. C++面向对象编程之类的使用(基础案例学习)
  6. 初学者python笔记(面向对象编程、类与对象)
  7. 测视力距离5米还是3米_多功能视力表灯箱的用法
  8. Python3.6下安装扩展库pywin32的正确姿势
  9. 设计模式 C++工厂方法模式
  10. android编程任务进度条,Android应用开发之AsyncTask 处理耗时操作和显示进度条