前言
沉寂了这么久,原本说发布一个go语言无框架建站教程,结果发现由于这一年没怎么看go语言,go的工程模式貌似有了新的变化,再加上联系了导师,导师让我学习神经网络的知识,所以索性先把go语言建站的日程推后,先行学习神经网络再说。
一如既往,我的目标仍然是让你看了之后就能和别人讲。
今天,就先看看神经网络的基本概念,对它有一个初步的了解吧。(前几篇可能是理论知识多一点,后面再实操)
什么是神经网络?
这里不会对这一概念进行解释,让我们一步一步去理解这个神秘的东西。
神经元?函数?
生物中的神经元
高中我们都学过(既然看到这篇文章,我默认您是工科的学生或者理科的学生,那么高中应该是学习了生物这门课程),生物大脑中有神经元,草图如下(单个神经细胞):
左边是接受其他神经元传来的信号的,经过处理之后,如果需要反应,那么会在末端释放神经递质即将这个信号传递到下一个神经细胞(虽然上面的解释可能不精确,但是大概能理解到这个神经细胞的作用了)。
简单来说,一个神经元有三个基本的功能:‘
1. 接收刺激或者信号
2. 处理这些信息
3. 根据信号做出相应反应
程序语言中的函数
在程序中,我们经常使用到函数(function)或者方法(method)或者其他的,在这里就姑且统称为函数吧,举个例子,一个很简单的最大值函数:
# 返回num1和num2的最大值
def Max(num1, num2):
if num1 > num2:
num2 = num1
return num2
可以看到
1. 这个函数接收了两个参数:num1和num2
2. 比较了num1和num2的大小
3. 返回了最大值
神经元!函数!
现在,很容易理解,其实,一个神经元就可以大致认为是一个简单的函数,这个神经元(函数)接收信号(参数),处理信息,作出反应(返回值)!多么简单,以后,我们编程时就不要说写一个功能函数了,就说,来吧,写一个比较最大最小值的神经元吧哈哈哈哈哈哈。
神经元+神经元 = 神经网络
高中生物课本说,很多个神经元组成了一个神经网络&#