矩阵乘法
import tensorflow as tf
from tensorflow.python import keras
from keras.models import Sequential
from keras.layers import Dense
from keras.losses import BinaryCrossentropy
model = Sequential([
Dense(unit = 25, activation = 'sigmoid'),
Dense(unit = 15, activation = 'sigmoid'),
Dense(unit = 1, activation = 'sigmoid')
])
# 损失函数
model.compile(loss = BinaryCrossentropy)
# 成本函数
# 梯度下降
model.fit(X, y, epochs=100)
输出层选择激活函数,看输出的y是什么类型,是分类还是预测
隐含层选激活函数,relu是最常见的(训练速度很快)
softmax回归激活函数,在输出层,多种输出
a1+a2+…+an=1; y = 1,2,3…n
softmax的损失函数是SparseCategoricalCrosstropy
为减小舍入误差,显示计算,且此时的最后一层softmax应改为linear
用linear的话,返回的logits是z1…,用softmax的话返回的是a1… ,后面的predict方法中弥补了缺失的softmax,详解https://blog.csdn.net/Steve1z/article/details/126788890
高级优化算法
梯度下降优化, 用adam自动调整学习率
卷积层convolutional layer
并不是每一个神经元都保存所有的图像信息,每一个神经元只保存一部分图像的信息(更快的训练速度,更少的训练信息,更小可能形成过拟合)
模型评估
线性回归问题的评估
分类问题的评估
(补充知识)正则化
交叉验证集方法
取Mcv的平均值为交叉验证值
将训练好的training的参数中的w数目逐渐递增,找到最符合cv的个数,即进行了交叉验证
对于神经网络的交叉验证集
高偏差(欠拟合)与高方差(过拟合)
正则化对于高偏差和高方差的影响