当前位置: 首页 > news >正文

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

目录

训练过程

一、建立模型:

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

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

为什么需要激活函数

 激活函数种类

二分法逻辑回归模型

线性回归模型

回归模型


训练过程

一、建立模型:

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

 逻辑回归模型公式为:

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

import tensorflow as tf
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Densemodel = Sequential([Dense(units = 25,activation='Sigmoid')Dense(units = 25,activation='Sigmoid')Dense(units = 25,activation='Sigmoid')
])

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

 例如线性回归的

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

 代码实现为:

from tensorflow.keras.losses import BinaryCrossentropy
model.compile(loss = BinaryCrossentropy())

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

梯度下降法:

 代码实现为:循环100次

model.fit(X,y,epochs=100)

为什么需要激活函数

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

Dense(units = 25,activation='Sigmoid')

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

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

 激活函数种类

二分法逻辑回归模型

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

Dense(units = 25,activation='Sigmoid')

线性回归模型

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

 Dense(units = 25,activation='linear')

回归模型

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

   Dense(units = 25,activation='relu')

相关文章:

  • Windows下pm2调用npm和nuxt的办法
  • 【LeetCode刷题-栈与队列】--232.用栈实现队列
  • 论文阅读:One Embedder, Any Task: Instruction-Finetuned Text Embeddings
  • git reflog 恢复git reset --hard 回退的内容
  • 小程序如何设置用户同意服务协议并上传头像和昵称
  • Spring Boot spring.factories的原理
  • dockerfile避坑笔记(VMWare下使用Ubuntu在Ubuntu20.04基础镜像下docker打包多个go项目)
  • 算法——多数相和
  • 网络工程师进阶课:华为HCIP认证课程介绍
  • Python|Pyppeteer获取威科先行文章链接(21)
  • 结合组件库实现table组件树状数据的增删改
  • 向量数据库的崛起与多元化场景创新
  • spring boot导入导出excel,集成EasyExcel
  • CMake引用OSG
  • react使用react-sortable-hoc实现拖拽
  • [笔记] php常见简单功能及函数
  • 2019.2.20 c++ 知识梳理
  • angular组件开发
  • Java 23种设计模式 之单例模式 7种实现方式
  • JAVA之继承和多态
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • node 版本过低
  • Service Worker
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 试着探索高并发下的系统架构面貌
  • 思考 CSS 架构
  • 无服务器化是企业 IT 架构的未来吗?
  • 转载:[译] 内容加速黑科技趣谈
  • gunicorn工作原理
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • # 数论-逆元
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (solr系列:一)使用tomcat部署solr服务
  • (SpringBoot)第七章:SpringBoot日志文件
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (离散数学)逻辑连接词
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)平衡树
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • /etc/fstab 只读无法修改的解决办法
  • @Conditional注解详解
  • @ModelAttribute使用详解
  • [ C++ ] STL---仿函数与priority_queue
  • [ Linux Audio 篇 ] 音频开发入门基础知识