1. 简单的神经网络
第一层
上面这个神经网络展示的是一个隐藏层和一个输出层。
我们输入四个变量到输入层,然后这个输入层有三个神经单元,每个神经单元室一个逻辑函数。
然后就会输出三个值,给到输出层,最终给一个总值。
我们在变量的右上角以一个中括号里的数字来标识神经网络层数。
第二层
2. 复杂的神经网络
3. 神经网络向前传播
把所学的整合到一个算法中,让神经网络进行推测或者预测,这个算法叫做向前传播。
3.1 手写数字判断
4. 如何用代码实现推理
举个例子,比如烘焙咖啡豆的时候,温度和持续时间是两个很重要的参数,我们看上图,如果温度过低那么显然是会导致咖啡豆没有熟,如果持续时间过少,也是一样的道理。如果持续时间或者温度过高就会导致咖啡豆烤过头。
那么得到中间三角区域的数据才是我们真正需要机器学习的。
解读一下前三行:
- 创建一个二维数组
- 创建一层神经网络,其中有3个单元,激活函数使用sigmoid也就是逻辑回归函数。
- 将x的数据代入到神经网络中计算。
我们回到手写数字识别的问题中:
就可以这么写:
Tensorflow中的数据形式
Tensorflow惯用的是二维以及以上的数字矩阵,因为Tensorflow是被设计用来处理非常大的数据集的。
而第三种写法只是一个线性的数组,既不是1行2列的矩阵也不是1列2行的矩阵。
1.numpy与Tensorflow中数据形式的不兼容
在矩阵的表示上,两者不一样。
如果要将tensor转换为adarray需要使用a1.numpy()函数来转换。
所以在使用numpy与Tensorflow的时候,我们一般都使用numpy来处理数据,然后将numpy数组传入Tensorflow时,Tensorflow喜欢将其转为自己的内部格式。
网友评论