小白都能看懂的神经网络入门,快收下吧

导语: 干货来了,Udacity课程经理亲自出马,教你简单形象有趣地掌握神经网络!

文/ 优达学城 Machine Learning 课程导师 Walker

编辑/ Walker的迷妹

最近,有网友在 Quora 上提问:对于那些非计算机科学行业的人,你会如何向他们解释机器学习和数据挖掘?

其实,斯坦福大学的印度学生、机器学习爱好者 PararthShah 在 2012年 12 月 22 日的使用买芒果的例子,非常经典易懂:

“你需要挑选芒果,你不知道什么样的芒果最好吃,所以你就尝遍了所有的芒果,然后自己总结出个大深黄色的比较好吃,以后再去买的时候,就可以直接挑选这种。那什么是机器学习呢,就是你让机器“尝”一遍所有芒果,当然,也假设它知道哪些好吃,让机器去总结一套规律(个大深黄色),这就是机器学习。具体操作,就是你描述给机器每一个芒果的特征(颜色,大小,软硬……),描述给机器其输出(味道如何,是否好吃),剩下的就等机器去学习出一套规则。“(此段引用知乎网友Begin Again的翻译)

那,如何用类似的方法,来简单、形象、有趣地解释神经网络呢?

今天优达菌请到了 Udacity 明星导师Walker来为大家现身说法,小白也能看得懂的神经网络入门,请大家收好了!

接到这个问题时,Walker 老师先吐了个槽(他说不要发出来,我冒着生命危险):“简单” “形象” 两个要求我争取下,“有趣”的话,我觉得数学挺有趣的,你觉得呢?

说正事分割线

所以,神经网络是什么?神经网络就是一系列简单的节点,在简单的组合下,表达一个复杂的函数。下面我们来一个个解释。

线性节点

节点是一个简单的函数模型,有输入,有输出。

1、最简单的线性节点:x+y

我能想到的最简单的线性节点当然就是x+y。

2、参数化线形节点:ax+by

x+y是一个特殊的线形组合,我们可以一般化所有x,y的线性组合,即ax+by。这a,b就是这个节点的参数。不同的参数可以让节点表示不同的函数,但节点的结构是一样的。

3、多输入线性节点:a1x1+a2x2+a3x3+...+anxn

我们进一步把2个输入一般化成任意多个输入。这里a1,a2,a3,...an是这个节点的参数。同样,不同的参数可以让节点表示不同的函数,但节点的结构是一样的。注意n并非是这个节点的参数,输入个数不同的节点结构是不一样的。

4、线性节点的向量表达:aTx

上面的式子太过冗长,我们用向量x表示输入向量(x1,x2, . . . ,xn), 用向量a表示参数向量(a1,a2,...,an),不难证明aTx=a1x1+a2x2+a3x3+...+anxn。这里向量a就是这个节点的参数,这个参数的维度与输入向量的维度相同。

5、带常量的线性节点:aTx+b

有时,我们希望即使输入全部为的时候,线形节点依然可以有输出,因此引入一个新的参数b作为偏差项,以此来增加模型的表达性。有时,为了简化,我们会把表达式写作aTx。此时,x= (x1,x2,...,xn,1),a= (a1,a2,...,an,b)

6、带激活函数的线性节点:

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171227G10H2L00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区