编辑编辑编辑编辑输入数据的特征X1---Xn的n个输入值给神经元组成的隐藏层,同一个层次不相互链接,前后层次相互链接。神经网络可以当做分类器与回归器。
编辑搞深度学习基本搞数据了,准备数据,采集样本,样本标注,数据数量质量直接决定效果。编辑生成对抗网络完成照片上色特征融合完成换脸f是激活函数,通过它将线性输入转化成非线性输出。机器学习通过核函数升维方式解决线性不可分,感知机通过构建多层感知机方式解决
![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=神经网络 = 多层前馈神经网络 = 多层感知机 = 全连接模型对于任何一个函数,只需要一个隐藏层就可以模拟任意函数这里的数字的权重都是通过梯度下降法与学习训练出来的。
b表示偏置编辑编激活函数是离散就叫多层感知机,激活函数是连续的就称之神经网络梯度消失:损失函数的梯度接近于0,导致模型无法进一步优化梯度消失:损失函数的梯度接近于0,导致模型无法进一步优化这个激活函数经常用于图像处理,如果不知道选择这么激活函数,用它没错。这个函数是实现多分类使用的,前面的SIGMOD函数主要二分类有时候每层都有激活函数,有时候好几层才有一个编辑为什么采用平方,平方后损失函数可导,并且梯度是变化的,可以容易判断当前离极值点还有多少距离 。
# 04_cross_entropy_demo.py
# 计算类别为N的交叉熵 :越小损失越小预测的越准
import math
?
p_true = [0, 1, 0, 0, 0] # 真实概率(独热编码) 只有第二个元素概率百分之百
p_pred1 = [0.1, 0.6, 0.1, 0.1, 0.1] # 第一组预测值 3组和为1
p_pred2 = [0.1, 0.7, 0.1, 0.05, 0.05] # 第二组预测值
p_pred3 = [0.1, 0.8, 0.04, 0.03, 0.03] # 第三组预测值
?
cross_entropy1 = 0.0
cross_entropy2 = 0.0
cross_entropy3 = 0.0
?
for i in range(len(p_true)):
? # 计算sum(p * log(p))
? cross_entropy1 += (p_true[i] * math.log(p_pred1[i]))
? cross_entropy2 += (p_true[i] * math.log(p_pred2[i]))
? cross_entropy3 += (p_true[i] * math.log(p_pred3[i]))
?
print("cross_entropy1:", -cross_entropy1)
print("cross_entropy2:", -cross_entropy2)
print("cross_entropy3:", -cross_entropy3)
?
?
编辑在神经网络神经元权重的时候需要对神经网络进行求偏导数,就不用管其他的权重了为了防止错过极值点引入学习率例如求苹果价格的影响因素,通过梯度下降法一步一步迭代出各个影响因素对苹果价格的权重影响一次将所有样本送到模型梯度预测,根据误差算出梯度(有误差就能算出梯度)。好处是收敛稳定,缺点计算量大。因此一般不常用批量梯度下降随机梯度下降可能到模型在收敛过程不稳定,虽然整体是收敛的方向。每次抽取部分样本进行梯度下降,深度学习通常用它
?
逻辑关系:
神经网络结构:感知机与神经网络----是什么
功能扩展:激活函数,转成非线性---是什么
模型训练:损失函数,梯度训练--如何训练
求神经网络梯度参数方式:反向传播算法(解决隐藏层偏导数,误差求不出来)---训练细节
单个神经网络缺陷功能扩展:卷积神经网络来实现---功能扩展
|