高端大气的企业网站,网络seo优化服务,自己做的网站页面错误,wordpress竖屏目录
01 学习目标
02 实现工具
03 概念与原理
04 应用示例
05 总结 01 学习目标 #xff08;1#xff09;理解二分类与多分类的原理区别 #xff08;2#xff09;掌握简单多分类问题的神经网络实现方法 #xff08;3#xff09;理解多分类问题算法中的激活函数与损失…目录
01 学习目标
02 实现工具
03 概念与原理
04 应用示例
05 总结 01 学习目标 1理解二分类与多分类的原理区别 2掌握简单多分类问题的神经网络实现方法 3理解多分类问题算法中的激活函数与损失函数原理
02 实现工具 1代码运行环境 Python语言Jupyter notebook平台 2所需模块 numpymatplotlibtensorflowlab_utils_multiclass_TFlogging
03 概念与原理 1二分类多分类 二分类将输入数据划分为两个不同类别目标变量为一维0或1。比如判断一封电子邮件是否为垃圾邮件是/否、判断一个用户是否会点击某个广告或链接会/不会等。 多分类将输入数据划分为三个及以上不同类别目标变量为一维或更高维。比如图像识别、文本分类等。 二分类与多分类都是分类问题本质上都是经过逻辑分析进行处理。相较二分类的“一对一01”逻辑多分类多了一层逻辑其逻辑处理有“一对一0或1”和“一对多01/2/3/4…”两种策略。如下图所示 图1 “一对一”策略 图2 “一对多”策略 由图1和2可知假设目标有n类“一对一”策略需要n×(n-1)次分类而“一对多”策略仅需要n次分类。 2神经网络中的激活函数 归一化指数函数SoftMax函数 激活函数负责将神经元的输入映射到输出端位于隐藏层的神经元内。作用引入非线性以处理现实复杂问题。 SoftMax函数负责处理输出层神经元的输出结果位于模型编译过程中、损失函数内。作用将输出层数值处理为 [01]范围内的概率分布用于预测。 3SoftMax函数及其损失函数的数学原理 对于输出结果向量SoftMax函数 对于SoftMax处理后的数值采用交叉熵损失函数 成本函数 然而实际项目中可能遇到比较大的数值SoftMax函数第1步会先进行指数计算即e^x这往往造成内存溢出无法计算。因此可对SoftMax函数及其损失函数进行算法优化 本质为取进行归一化预处理具体推导过程如下 优化后的SoftMax函数如下 优化后的第k类的损失函数为 式中k为目标值类别即yk总共有n类。
04 应用示例 1示例描述 采用sklearn库中的make_blobs函数随机生成4类共2000个数据点然后基于这4类数据采用人工神经网络对其进行分类并可视化。 2代码实现 第1步导入所需模块
import numpy as np
import matplotlib.pyplot as plt
%matplotlib widget
from sklearn.datasets import make_blobs
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
np.set_printoptions(precision2)
from lab_utils_multiclass_TF import *
import logging
logging.getLogger(tensorflow).setLevel(logging.ERROR)
tf.autograph.set_verbosity(0) 第2步生成数据
centers [[-5, 2], [-2, -2], [1, 2], [5, -2]] # 4个类中心
X_train, y_train make_blobs(n_samples2000, centerscenters, cluster_std1.0,random_state30) 第3步定义框架、编译模型、训练模型
model Sequential([ Dense(25, activation relu),Dense(15, activation relu),Dense(4, activation linear) # softmax activation here]
)
model.compile(losstf.keras.losses.SparseCategoricalCrossentropy(from_logitsTrue),optimizertf.keras.optimizers.Adam(0.001),
)model.fit(X_train,y_train,epochs100
) 第4步结果显示
plt_cat_mc(X_train, y_train, model, 4) 运行以上代码结果如下 05 总结 1多分类的本质是二分类基本原理是逻辑回归。 2采用Softmax需在损失函数中定义并需输出层以激活函数linear配合。 3二分类输出层的神经元个数为1多分类问题输出层神经元个数为类别个数若类数未知则可通过试算确定。