[python图像对抗]二、深度学习基本概念以及神经网络实现鸢尾花分类

本文介绍了深度学习的基本概念,包括人工智能的三大学派,重点讲解了使用神经网络实现鸢尾花分类的过程。通过理解损失函数、梯度下降、反向传播等核心概念,利用tensorflow进行张量生成和操作,最终实现模型训练和鸢尾花数据集的分类。
摘要由CSDN通过智能技术生成

深度学习基本概念以及神经网络实现鸢尾花分类

基础知识

人工智能三学派

  • 行为主义:基于控制论,构建感知-动作控制系统。(控制论,如平衡、行走、避障等自适应控制系统)
  • 符号主义:基于算数逻辑表达式,求解问题时先把问题描述为表达式,再求解表达式。(可用公式描述,实现理性思维,如专家系统)
  • 连接主义:仿生学,模仿神经元连接关系。(仿脑神经元连接,实现感性思维,如神经网络)

鸢尾花分类(Iris)

(1)鸢尾花

  • 0够味草鸢尾花

  • 1 杂色鸢尾花

  • 2 弗吉尼亚鸢尾花

请添加图片描述

用神经网络实现鸢尾花分类
请添加图片描述
请添加图片描述

损失函数(loss function):预测值(y)与标准答案(y_)的差距

(2)神经网络实现鸢尾花分类:梯度下降

目的:找到一组参数b和w,使得损失函数最小

梯度:函数对各个参数求偏导后的向量,函数梯度下降方向是函数减少方向。

梯度下降法:沿着损失函数梯度下降方向,寻找损失函数的最小值,得到参数的方法

学习率:当过小,收敛过慢,过大时,梯度可能会在最小值附近来回震荡,甚至无法收敛。

反向传播:从后向前,逐层求损失函数的对每层神经元参数的偏导数,迭代更新所有参数。

请添加图片描述

tensorflow学习

张量生成

张量(Tensor):多维数组(列表),阶:张量的维数
请添加图片描述

tensorflow数据类型

请添加图片描述

创建张量

  • tf.constant(张量内容,dtype=数据类型(可选))
#如何创建一个Tensor
import tensorflow as tf
a = tf.constant([1,5],dtype=tf.int64)
print(a)
print(a.dtype)
print(a.shape) #输出shape = (2,)一个逗号表示一维张量,两个元素
  • 将numpy的数据类型转换为tensor数据类型

tf.convert_to_tensor(数据名,dtype=数据类型)

import tensorflow as tf
import numpy as np

a = np.arange(0, 5)
b = tf.convert_to_tensor(a, dtype=tf.int64)
print(a)
print(b)
  • 创建全为0的张量

tf.zeros(维度)

  • 创建全为1的张量

tf.ones(维度)

  • 创建全为指定值的张量

tf.fill(维度, 指定值)

代码:

a = tf.zeros([2,3])
b = tf.ones(4)
c = tf.fill([2, 2], 9)
print(a)
print(b)
print(c)

tf.Tensor(
[[0. 0. 0.]
 [0. 0. 0.]], shape=(2, 3), dtype=float32)
tf.Tensor([1. 1. 1. 1.], shape=(4,), dtype=float32)
tf.Tensor(
[[9 9]
 [9 9]], shape=(2, 2), dtype=int32)
  • 生成正态分布的随机数,默认均值为0,标准差为1

tf.random.normal(维度, mean=均值, stddev=标准差)

  • 生成截断式正态分布的随机数

tf.random.truncated_normal(维度, mean=均值,stddev=标准差)
请添加图片描述

常用函数

  • (1)强制tensor转换为该数据类型

tf.cast(张量名, dtype=数据类型)

  • (2)寻找张量维度上元素的最小值

tf.reduce_min(张量名)

  • (3)寻找张量维度上元素的最大值

tf.reduce_max(张量名)

代码

x1 = tf.constant([1.,2.,3.], dtype=tf.float64)
print(x1)

x2 = tf.cast(x1, tf.int32)
print(x2)

print(tf.reduce_min(x2))
print(tf.reduce_max(x2))

tf.Tensor([1. 2. 3.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南岸青栀*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值