zoukankan      html  css  js  c++  java
  • 机器学习实记(一)简介机器学习

    一.写在前面

      本系列中的内容来自对李宏毅老师的机器学习教程的理解和一些个人理解的笔记,主要用于之后方便查看复习。李宏毅老师的机器学习教程地址:https://www.bilibili.com/video/av35932863?from=search&seid=3902369523652897681。

    二.机器学习概念

    2.1人工智能、机器学习、深度学习这几个概念的关系

      要想理解清楚机器学习的基本概念,首先要明白机器学习在人工智能领域中所处的位置,再简单明了些首先要明白人工智能、机器学习、深度学习这几个概念的关系。三者关系如下图2-1

                          图2-1 人工智能、机器学习、深度学习三者关系

    从图可以直观的看出,人工智能的范围>机器学习的范围>深度学习的范围,而平时常说的神经网络的这些有关概念则是属于深度学习下的分支。再具体而言这三者的关系,其实人工智能是作为我们最终所要达到的目标,所谓的人工智能概念我觉的用之前某科学家提过的一种说法简单理解一下就行,即当用一块黑幕将计算机遮盖起来,黑幕外的人无法区分所交互的对象是人还是计算机就算是达到了人工智能标准,再简单点说就是使计算机做到过去只有人才能做到的事,其他更为深入的解释欢迎查看百度词条https://baike.baidu.com/item/人工智能/9180?fr=aladdin。而机器学习则是实现人工智能这一目标的手段,这说明还有其他手段有兴趣的同学可以自行去了解一下,不过个人认为其余的手段不是现在的主流研究方向吧。而深度学习则是作为机器学习下的一个重要分支。

    2.2 理解机器学习

      所谓机器学习概念,简单的理解就是教会计算机学习,举个具体的例子,当你给它看完猫的某一张图片后,你告诉机器这是猫,当你给它看完一张狗的图片后,你告诉它这是狗,不断重复这一过程让机器学习大量不同的猫狗照片,学习结束后给予机器一张全新的猫或狗的照片,机器能够成功的识别出猫和狗。再进一步抽象的理解,我们可以发现这一过程十分类似于数学上求解函数表达式,即这个过程其实是在寻找一个函数f,当输入某张猫的照片函数f的输出为猫,当输入某张狗的照片函数f的输出为狗。再进一步具体而言整个机器学习框架可以理解为如图2-2

                                                                                图2-2 机器学习框架描述

    整个机器学习框架的步骤大体上分为三步:第一步定义一个函数池,其中有大量的备选函数f1、f2、f3.....fn;第二步对各个函数进行评价,这里的话其实我们可以将每个函数理解为一个模型,所谓的评价的标准可以理解为对每个输入照片各个模型所能识别出来的精确度,优秀的模型识别照片的准确度更高;第三部选出最优的函数fbest,即选出最优的模型。

    2.3 理解机器学习的学习图

      机器学习的学习图如图2-3,这张图看起来很复杂,其实结构很清晰,主要分为三中颜色蓝、橙、绿三种颜色,分别代表运用情景,所要解决问题的目标,以及解决问题用到的方法。

                               图2-3 机器学习学习图

      最先需要说明的一点的是并不是只有supervised learning的这个蓝色方块里才有这些橙色和绿色的方块,是所有的蓝色方块中都有这样的橙色和绿色方块

           首先是蓝色部分,即运用情景从图中可以看出有supervise learning、semi-supervise learning、transer learning、unsupervised learning、reinforcement learning,看到这么多运用情景不经想问一个问题,为什么会有这么多运用场景的划分?原因其实很简单,从前面的对机器学习的介绍中我们可以发现,机器学习的过程中是需要大量的带标签的数据,所谓带标签的数据就是指给出了输入数据的正确结果,比如说输入一张猫的图片,这个猫就是这张图片的标签,但其实当数据量巨大的时候,给每个数据标上标签是需要消耗大量时间的,所以由输入的数据是否带有标签就产生了不同的运用场景。

      supervise learning 即监督学习,训练所使用的数据均带标签,即告诉机器输入数据的正确答案。semi-supervise learning 即半监督学习,训练中的数据有一部分带标签,其余数据不带标签交给机器自己学习。transer learning 即迁移学习 训练数据中有一部分带标签,剩下的数据来自其他模型带标签或不带标签的数据,举个例子我们做猫和狗的分类,我们有少量的已经有标签的猫和狗的数据,还有大量的可能是带标签或不带标签的其他动物的数据,将这些数据也交由机器学习。unsupervised learning 即无监督学习,训练中的数据均不带标签。reinforcement learning 即强化学习,这种学习方式与前面的学习方式均有所不同,前面的学习方式中均为告诉机器输入数据的正确答案或者直接将数据交由机器,在强化学习中数据均不带标签,它是通评价告诉机器这次学习的结果,举个例子阿尔法狗,当它完成一次棋局对战最终取得胜利,则给与机器较高的评价,让机器自身进行调整,虽然机器本身并不知道自己到底哪下的好,但知道这么下赢了。

      其次是橙色部分,即所要解决问题的目标,分为regression和classification以及structured learning。regression即所要解决的问题的解是个数值,比方说预测某日pm2.5的值;classification即所要解决的问题为分类问题,包括二分类即回答是或者否,比方说判断邮件是否为垃圾邮件,多分类对输入的数据进行多个类别分类,比方说判断输入的文章属于哪个板块是娱乐版块还是体育板块还是金融板块等等;structured learning即所要解决的问题是结构化的,比方说输入一段语言判断语言的内容。

      最后是绿色部分,这一块的话还记的我在2.2中说过的函数池吗,所谓的函数其实就是模型,我们可以使用不同的模型来解决不同的问题,这些模型有linear model即线性模型、non-linear model 即非线性模型,非线性模型中就包括之前提到的深度学习还有一些非线性模型。

    三.写在最后

      这一部分主要是对机器学习要有个整体的大概理解,包括理解机器学习的整体框架的大致模样,尤其是要明白框架中所说的函数其实就是模型的概念,再由就是要对为何要这样划分学习图有自己的理解,至于是否要记住学习图的内容倒是其次。

  • 相关阅读:
    不常用的cmd命令
    js获取宽度
    Marshaling Data with Platform Invoke 概览
    Calling a DLL Function 之三 How to: Implement Callback Functions
    Marshaling Data with Platform Invoke 之四 Marshaling Arrays of Types
    Marshaling Data with Platform Invoke 之一 Platform Invoke Data Types
    Marshaling Data with Platform Invoke 之三 Marshaling Classes, Structures, and Unions(用时查阅)
    Calling a DLL Function 之二 Callback Functions
    WCF 引论
    Marshaling Data with Platform Invoke 之二 Marshaling Strings (用时查阅)
  • 原文地址:https://www.cnblogs.com/wxrqforever/p/11084983.html
Copyright © 2011-2022 走看看