从零开始学习CNN系列——(一)机器学习与深度学习的宏观理解

从零开始学习CNN系列——(一)机器学习与深度学习的宏观理解

    从零开始学习CNN系列,是本人学习李宏毅老师的深度学习课、cs231n及吴恩达老师的深度学习课后总结的适合无基础小白入门深度学习的教程,会跟随本人的炼丹水平不断更改,如有错误,请多加指正。

1、机器学习的定义

    我非常同意李宏毅老师把机器学习定义为:Looking for a function的说法。
    譬如我们的图像识别,用李老师ppt中的图来描述极为形象:

    我们所有的图像识别算法不都正是寻找输入图片描述图片内容词语的映射函数吗?
    再进一步思考,机器学习在其他领域的应用也可以这么理解。如语音识别:

    会下围棋的AlphaGo:

2、机器学习的通用架构(framework)

    机器学习的应用多种多样,但其架构都可以用李老师ppt中的图片来概括:

  • step 1:建立模型,确定函数的类型,如一元线性模型:
    $$y=b+w*x$$
        由于参数b和w有无限种可能,所以我们找到的只是一个函数集合(a set of function)。
  • step 2:针对每个函数(function),利用训练集数据计算拟合度,即描述这个选定函数的好坏。最常用的是L2(均方误差函数):
    $$L =\sum_{i=1}^{n}\left(y_{i}-y_{i}^{p}\right)^{2}$$
    其中$y_{i}$代表真实值,$y_{i}^{p}$代表预测值。L计算的是预测值和真实值的误差。
  • step 3:寻找拟合度最高即误差最小的函数 $f^{}$ 。
         $f^{
    }$ 即是训练结果,最终用来识别图中猫的函数也正是 $f^{*}$ 。

3、机器学习的分类

    机器学习按学习方式分类可分为以下几种,其分类依据是训练数据的标注(label)情况:

  • 监督式学习(Supervised Learning):训练数据都被人为标注(label)。如我们的手写数字识别中:训练集(MINIST)中每张手写图片都被标注了对应的数字。
  • 半监督式学习(Semi-supervised Learning):训练数据部分被人为标注,而其他部分没有任何标注,只有单纯的数据。如猫与狗的图片识别:只有部分猫与狗的图片被标注了是猫或狗,而另一部分只有图片,未人为标注,训练时,电脑并不知道其是猫还是狗。
  • 无监督式学习(Unsupervised Learning):训练数据完全无标注。还是拿猫与狗的图片识别做例子:只把一堆没有任何标注的猫与狗图片丢给电脑,训练电脑让其自动识别猫与狗。
  • 迁移学习(Transfer Learning):结合半监督式学习理解,训练数据部分被人为标注,而另一部数据与你要训练的目的完全无关,其可能被标注或未被标注。如猫与狗的识别问题中,部分猫与狗的图片被正常标注,而另一部分图片可能是被标注的大象图片,或者未标注的老虎图片,将这些混合的图片作为input,训练电脑识别猫与狗。
  • 强化学习(Reinforcement Learning):强化学习的思想可以以游戏为例:如果在游戏中采取某种策略可以取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。我们日常打游戏如王者荣耀、LOL、星际争霸2正是采取这种思路。
    强化学习概念很复杂,很难简短地概括,网上查询了很多资料,但最终还是发现李老师的”Learning from critics”是理解得最好的。将其于监督式学习比较可以更好地理解强化学习:

监督式学习(SL)充当电脑的老师,告诉电脑具体棋局对应的棋子具体的落点。
强化学习(RL):只是让电脑自己对弈,随意移动,不告诉具体棋局的应对方式,得到的只有最后棋局是否赢了的反馈,如果赢了,电脑只知道这局棋下得好,哪步棋、哪个策略好完全不知道。

4、机器学习需要解决的三类问题

    以上介绍的几种不同的学习方式,都需要解决下列三类问题,才能完成一个模型的训练。

  • 回归问题(Regression)
    回归问题与分类问题最大的区别在于:回归问题的输出值是连续的,而分类问题是离散的。回归问题(Regression)最常见的情形就是我们初高中学过的线性回归,例如一元线性回归:给定一系列input data,$x_{1.2….n}$与$y_{1.2….n}$,线性回归得到一个模型:$$y=b+a*x$$每个输入的x都对应一个y,y值是连续的。
  • 分类问题(Classification)
    分类问题与回归问题本质相同,唯一区别是输出值是离散的。例如二分类,只输出两个值。
  • 结构化学习问题(Structured Learning)
    结构化学习问题的输出值和以上两类都不同,它输出的是一些具有一定结构的东西,可能是一句话, 一张图等等。如最常见的机器翻译(Machine Translation):

5、深度学习与机器学习的关系

    如在2中的机器学习通用架构图 所表示的一样,深度学习同我们熟知的SVM、K-NN等算法都属于解决机器学习具体问题的方法,并且属于非线性模型,所以深度学习与机器学习应该是从属关系。

评论


当我沿着一条路走下去的时候,心里总想着另一条路上的事。这种时候,我心里很乱。放声大哭从一个梦境进入另一个梦境,这是每个人都有的奢望。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×