个人理解
TensorFlow是集齐了很多深度学习相关的算法的框架,你可以利用他搭建自己的神经网络模型。对于开发者来说,告诉TensorFlow一批特征数据和最终的答案数据,让其通过一个神经网络模型进行训练,最终输出模型。模型将应用于应用端,给他一个输入特征值,就能预测出一个答案。
神经网络模型的输入是一组特征,中间经过一段黑盒一层层的计算处理,输出一个预测值,整个模型的数据处理流程大概如图
概念
1、数据预处理
在很多特征数据中,数据会有不固定的数值,多个特征之间的值相差非常大,此时就需要对数据进行归一化,让数据等比缩小成为较小的浮点数。具体如图
2、模型层+激活函数
- 模型层:是由神经元组成的基本组件,可以看作是网络的构建模块。模型层会设计一种算法,每个模型层接收一组输入并通过算法产生一组输出,这些输出通常作为下一层的输入
- 激活函数:激活函数是依附在网络模型层的结尾,它类似于人脑中的“开关”,当神经元接收到输入时,激活函数会根据输入的大小是否达到了一定的阈值,决定是否打开开关
3、损失函数
- 损失函数:是用来衡量模型预测结果与实际结果之间的差异,在训练模型过程中,我们会反复计算损失函数并对模型参数进行调整,直到损失函数达到最小值为止
可以把损失函数比作是一位老师,他会根据学生的答案与正确答案之间的差距来评价学生的表现。如果学生的答案与正确答案一致,那么损失函数会给予较低的评价,反之则会给予较高的评价。在机器学习中,我们希望通过最小化损失函数来让模型的预测结果更加接近实际结果,从而提高模型的准确性。
4、正则化惩罚项
- 正则化惩罚项:是在损失函数中添加的一项约束值,用于约束模型的复杂度。它可以帮助我们避免过拟合的问题
可以把正则化惩罚项比作是一位教练,他会要求运动员在训练中不仅要达到一定的成绩,还要保持身体的健康和稳定。在机器学习中,我们希望模型在训练时不仅要在训练集上取得好的效果,还要在比赛数据中表现良好,并且不过度拟合训练集的噪声或异常点。
5、优化器
- 优化器:是一种用于更新模型参数的算法。它的目标是通过最小化损失函数来训练模型,并使模型能够更好地拟合训练数据和泛化到新数据
可以把优化器比作是一位导游,他会带着我们找到一条最短的路径,使得我们可以更快地到达目的地。在机器学习中,优化器会根据损失函数的梯度信息来更新模型参数,从而使模型能够朝着更优的方向前进。
开发环境搭建
- 安装Anaconda:https://www.anaconda.com/
- Python全家桶,安装完成后,在开始菜单中找到
Jupyter Notebook
进行开发
- 安装TensorFlow
- 通过开始菜单中找到
Anaconda Prompt
,并打开 - 输入
pip install tensorflow
进行安装TensorFlow
- 打开
Jupyter Notebook
,新建NoteBook,输入代码并运行查看TensorFlow版本
import tensorflow as tf
import numpy as np
tf.__version__