三、多层感知器与神经网络
EaHalen
这个作者很懒,什么都没留下…
展开
-
3.8 网络参数选择的总原则
构建网络的总原则 总原则:保证神经网络容量足够拟合数据 一、增大网络容量,直到过拟合 二、采取措施抑制过拟合 三、继续增大网络容量,直到过拟合 网络容量 --- 信息传递的能力 如何抑制过拟合 --- DropOut、正则化 ...原创 2022-04-01 20:01:17 · 257 阅读 · 0 评论 -
3.7 使用正则抑制过拟合
正则化 L1 正则化 loss = s * abs(w1 + w2 + ...) + mse L2 正则化 loss = s *(w1**2 + w2**2 + ...) + mse import keras from keras import layers import pandas as pd import numpy as np import matplotlib.pyplot as plt from keras import regulari...原创 2022-04-01 16:40:13 · 690 阅读 · 0 评论 -
3.6 DropOut抑制过拟合
1)为什么说DropOut可以抑制过拟合? (1)取平均的作用: 先回到标准的模型即没有dropout,我们用相同的训练数据去训练5个不同的神经网络,一般会得到5个不同的结果,此时我们可以采用“5个结果取均值”或者“多数取胜的投票策略”去决定最终结果。 (2)减少神经元之间复杂的共适应关系 因为dropout程序导致两个神经元不一定每次都在一个dropout网络中出现。这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻...原创 2022-04-01 15:53:35 · 558 阅读 · 0 评论 -
3.5 过拟合与神经网络的客观评价
评价标准:对未见过数据的预测 import keras from keras import layers import pandas as pd import numpy as np import matplotlib.pyplot as plt data = pd.read_csv('./dataset/credit-a.csv', header=None) x = data.iloc[:, :-1].values y = data.iloc[:,-1].replace(-1,0).values.原创 2022-04-01 15:16:54 · 562 阅读 · 0 评论 -
3.4 信用卡欺诈预测代码实现
import keras from keras import layers import pandas as pd import numpy as np import matplotlib.pyplot as plt data = pd.read_csv('./dataset/credit-a.csv', header=None) x = data.iloc[:, :-1].values y = data.iloc[:,-1].replace(-1,0).values.reshape(-1, 1) y.原创 2022-04-01 14:48:15 · 632 阅读 · 0 评论 -
3.3 多层感知器的代码实现
基于JupyterNoteBook(Annaconda3)搭建的tensorflow开发环境。 所使用到的数据集见我的博客上传的资源中,欢迎大家下载。 import pandas as pd import keras import numpy as np from keras import layers # 1)Pandas模块读取数据 data = pd.read_csv('./dataset/tt/train.csv') # 2)数据预处理 y = data.Survived x = da原创 2022-04-01 14:15:50 · 186 阅读 · 0 评论 -
3.2 激活函数和常见的优化算法
1)常见的激活函数 1、sigmoid激活函数 一般用于二分类的输出 2、relu激活函数 3、tanh激活函数 2)常见的优化函数 优化器(optimizer)是编译Keras模型的所需的两个参数之一。 你可以先实例化一个优化器对象,然后将它传入model.compile(),或者你可以通过名称来调用优化器。在后一种情况下,将使用优化器的默认参数。 1)SGD(随机梯度下降优化器) 随机梯度下降优化器SGD和min-batch是同一个意思,抽取m个小批量(独...原创 2022-04-01 13:50:42 · 279 阅读 · 0 评论 -
3.1 多层感知器原理与梯度下降算法
1)单个神经元(二分类) 2)多个神经元(多分类) --- 建立多个神经元,但是他只有一层 补: 单层神经元的缺陷 1)单层神经元是无法拟合“异或”运算。 异或问题看似简单,使用单层的神经元确实没办法解决。 即是输入与输出之间无法去进行线性分割,比如下图 2)总结: Sigmoid神经元要求数据必须是线性可分的。“异或”问题无法找到一条直线去分割两个类。...原创 2022-04-01 13:25:31 · 1174 阅读 · 0 评论