zoukankan      html  css  js  c++  java
  • 白话机器学习

    在机器学习里面,有一大类叫做神经网络。神经网络里面,大名鼎鼎的有卷积神经网络CNN,循环神经网络RNN。其中,卷积神经网络在图形图像处理方面,有着很出色的成果。例如识别图像的功能,通过基于CNN的深度学习技术,现在机器已经可以识别出很多东西了。下面这个图是电视剧《三生三世 十里桃花》的剧照,使用Tensorflow和ImageNet,机器告诉我们,这张图是 kimono(和服)的可能性是 0.86。gown(长外衣;外罩)0.05.
    图像识别技术

    如果是一些简单的图片,例如键盘,鼠标,水杯等,识别准确度还是蛮靠谱的。
    Paste_Image.png

    神经网络的如果要用图来表示的话,应该就是下面这个样子的。最左边的是输入,最右边的是输出。然后中间有很多隐藏层。

    感知机示意图

    这个图中隐藏层只有一层,但是大部分用于真实计算的神经网络,都会有很多隐藏层。

    复杂神经网络

    无论是简单的,还是复杂的神经网络,其中最小的单元就是感知器。
    对于感知器的介绍,可以参考网络上的文章:
    零基础入门深度学习(1) - 感知器 
    感知器

    既然是白话,那么我们就用讲故事的方法来说一下。(假设读者已经阅读了上面的文章)
    假设有一次考试,分为语文,数学,英语,满分都是100分。但是,语文,数学,英语占的权重(weight)不一样。同时,我们还需要根据考试难度,在最后总分上面,进行一些加分或者减分的调整(bias)。最后,根据一个标准(激活函数 Step Function)来定考试合格或者不合格(output)。

    如果教务处说,我们是外国语学校,对于英语成绩比较看重,则我们给予这样的英语比较高的权重。
    X1:语文成绩 W1:0.3
    X2:数学成绩 W2:0.2
    X3:英语成绩 W3: 0.5

    然后,由于这次考试难度比较高,则每个人都加5分 (这个其实叫做 偏置项 bias)

    X0 = 1 W0 = 5

    成绩 = X0 * W0 + X1 * W1 + X2 * W2 + X3 * W3
    然后,如果成绩为60分及以上则为合格。(激活函数 Step Function)
    如果 成绩 >= 60 ,则合格
    成绩 < 60 ,则不合格

    OK,这样一个简单的感知机就做成了。在权重(W0,W1,W2,W3)和 Step Function(合格标准)定下来的时候,它可以根据输入(各科成绩),求得输出(是否合格)了。

    例如:

    语文成绩 50 * 0.3 = 15
    数学成绩 40 * 0.2 = 8
    英语成绩 80 * 0.5 = 40
    附加分 5
    成绩 15 + 8 + 40 + 5 = 68 =>合格

    语文成绩 80 * 0.3 = 24
    数学成绩 50 * 0.2 = 10
    英语成绩 40 * 0.5 = 20
    附加分 5
    成绩 24 + 10 + 20 + 5 = 59 => 不合格

    当然,一般来讲,感知机往往是激活函数(StepFunction)是事先决定的,作为训练数据的输入,输出是已知的,权重则是需要通过机器学习来获得的。我们的例子中,合格标准是事先决定的,60分及格,然后给出一部分数据:某些人的语文成绩,数学成绩,英语成绩 ,是否合格,然后通过机器学习,将各科的权重计算出来,获得一个模型。然后利用这个模型,通过输入 语文成绩,数学成绩,英语成绩,来判定是否合格。

    当然,如果在训练数据比较少的时候,这个权重可能计算的不是很准确,数据越多,权重越准确。

    语文成绩 50 数学成绩 40 数学成绩 40 附加分 5 合格
    语文成绩 80 数学成绩 50 数学成绩 40 附加分 5 不合格

    能够满足这样条件的权重有很多很多,所以机器学习的结果可能不是很好。
    但是如果有足够的数据,则权重的计算结果则会非常理想。

    最后再回来说一下,为什么叫感知机,其实最简单的,最原始的时候,感知机的输出就是 0(不合格) 或者 1(合格).结果能被感知,或者不能被感知。当然,随着研究的深入,则输出形式也越来越丰富了,不仅限于是否,也可以是数值或者其他形式的东西。例如,感知机做线性回归的时候,则是数值作为输出。

    关注公众号 TensorFlow教室 深度学习,机器学习,自然语言处理。

  • 相关阅读:
    Android OpenGL ES 2.0 (四) 灯光perfragment lighting
    Android OpenGL ES 2.0 (五) 添加材质
    冒泡排序函数
    javascript object 转换为 json格式 toJSONString
    Liunx CentOS 下载地址
    jquery 图片切换特效 鼠标点击左右按钮焦点图切换滚动
    javascript 解析csv 的function
    mysql Innodb Shutdown completed; log sequence number解决办法
    Centos 添加 yum
    javascript 键值转换
  • 原文地址:https://www.cnblogs.com/TextEditor/p/6598412.html
Copyright © 2011-2022 走看看