[Machine Learning][Part 8]神经网络的学习训练过程

目录

训练过程

一、建立模型:

[二、建立损失函数 J(w,b):](#二、建立损失函数 J(w,b):)

三、寻找最小损失函数的(w,b)组合

为什么需要激活函数

激活函数种类

二分法逻辑回归模型

线性回归模型

回归模型


训练过程

一、建立模型:

根据需求建立模型,从前面神经网络的结果可以知道,每一层都有若干个模型在运行,因此建立神经网络就需要先根据需求确定计算模型,也就是得到

逻辑回归模型公式为:

上面三层的神经网络的代码实现为:

python 复制代码
import tensorflow as tf
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense

model = Sequential([
    Dense(units = 25,activation='Sigmoid')
    Dense(units = 25,activation='Sigmoid')
    Dense(units = 25,activation='Sigmoid')
])

二、建立损失函数 J(w,b):

例如线性回归的

二分法逻辑回归的损失函数为:

代码实现为:

python 复制代码
from tensorflow.keras.losses import BinaryCrossentropy
model.compile(loss = BinaryCrossentropy())

三、寻找最小损失函数的(w,b)组合

梯度下降法:

代码实现为:循环100次

python 复制代码
model.fit(X,y,epochs=100)

为什么需要激活函数

可以看到在建立模型的过程中,代码中使用了activation激活函数。

python 复制代码
Dense(units = 25,activation='Sigmoid')

如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

具体的分析这个博主讲的很清楚,可以参考学习一下:

深度学习:神经网络中为什么需要使用激活函数?(超详细)_神经网络为什么需要激活函数-CSDN博客

激活函数种类

二分法逻辑回归模型

这种模型输出非0即1,可以选择Sigmoid

python 复制代码
Dense(units = 25,activation='Sigmoid')

线性回归模型

这种输出可以是各种正负数值,可以仍然选用线性激活函数linear activation function

python 复制代码
 Dense(units = 25,activation='linear')

回归模型

输出只能是0以及正数,可以选择ReLU

python 复制代码
   Dense(units = 25,activation='relu')
相关推荐
EnigmaCoder19 分钟前
蓝桥杯刷题周计划(第二周)
学习·算法·蓝桥杯
阿丢是丢心心33 分钟前
【从0到1搞懂大模型】神经网络的实现:数据策略、模型调优与评估体系(3)
人工智能·深度学习·神经网络
HP-Patience38 分钟前
决策树 vs 神经网络:何时使用?
神经网络·算法·决策树
我感觉。1 小时前
【机器学习chp11】聚类(K均值+高斯混合模型+层次聚类+基于密度的聚类DBSCAN+基于图的聚类+聚类的性能评价指标)
人工智能·机器学习·聚类·k均值
IT古董1 小时前
【漫话机器学习系列】125.普拉托变换(Platt Scaling)
人工智能·机器学习
银河小铁骑plus1 小时前
Go学习笔记:基础语法6
笔记·学习·golang
汤姆和杰瑞在瑞士吃糯米粑粑2 小时前
【Linux学习篇】--开发工具第一期
linux·运维·学习
神经星星2 小时前
【vLLM 教程】使用 TPU 安装
数据库·人工智能·机器学习
sealaugh322 小时前
aws(学习笔记第三十二课) 深入使用cdk(API Gateway + event bridge)
笔记·学习·aws
Wis4e3 小时前
基于PyTorch的深度学习4——使用numpy实现机器学习vs使用Tensor及Antograd实现机器学习
pytorch·深度学习·机器学习