参考:《深度学习图像识别技术--基于TensorFlow Object Detection API 和 OpenVINO》
输入TensorFlow训练模型的数据准备好了以后,下一步就是选取合适的模型(Model)。
机器学习领域的模型 (model)是指机器学习系统从训练数据学到的内容的表示形式,它表达了 特征(features)和标记( label)之间的关系。
机器学习领域有很多成熟的模型(model),例如:决策树(Decision Tree),线性回归(Linear regression),神经网络(Neural Network),贝叶斯(Bayesian Network),深度学习(Deep Learning)等等。本文选择的是神经网络模型。
用Keras创建神经网路模型
The TensorFlow tf.keras API 是最简单好用的创建神经网络模型的方法,关于Keras的详细介绍,本后后续再展开
根据上图的神经网络模型,用keras实现如下:
tf.keras.Sequential 模型是一种线性的堆栈层,输入4个参数,有两个具有10个神经元的隐藏层,其激活函数是relu。输出层有3个神经元。
keras有多个built-in 激活函数,relu是隐藏层最常用的激活函数
决定隐藏层层数和神经元个数的原则
The ideal number of hidden layers and neurons depends on the problem and the dataset. Like many aspects of machine learning, picking the best shape of the neural network requires a mixture of knowledge and experimentation. As a rule of thumb, increasing the number of hidden layers and neurons typically creates a more powerful model, which requires more data to train effectively.