输入有多个特征
每一行被叫做一个样本
00:01:22.739
image.png

meiyiliimage.png

每一列被称为特征

excel常用空格 tab ,进行分割

00:10:22.816
image.png

00:10:06.374
image.png

00:12:37.613
image.png

00:13:38.352
image.png

00:14:24.317
image.png

一组一组的运算转换成矩阵运算(向量化的运算)
为什么要变换:
因为可以并行计算,这个样利用cpu或者gpu的并行计算能力
00:15:14.284
image.png

image.png
上图是上节课的
可以用于与这节课的图片进行对比

把多层logist回归相连就可以构建多层神将网路

00:17:12.583
image.png

00:17:28.402
这里列的数量对应特征00:17:50.766
image.png

00:18:23.748
image.png

这样可以再接一层,让2维的再降到1维

00:20:31.314
image.png

00:21:21.153
image.png

我们的目标是8d->1d的非线性变换函数
σ 函数被叫做激活函数
00:23:26.486
image.png
可以维度一直下降
也可以维度一直上升

00:24:23.852
image.png

中间的隐层越多,学习能力越强

如果学习能力太强就会导致把数据中的噪声也学到了。导致模型泛化性太差

00:30:22.812
image.png

00:33:18.240
image.png

数据读取

最好使用float32,因为n卡gpu只支持32位的浮点数
[:,:,-1]
所有行 从第一列开始,最后一列不要

[:,[-1]]
这里的[-1]表示生成的是一个矩阵

image.png
这里的激活函数不同
和上节课的进行对比,这里的两个sigmoid不一样,上节课是 function.sigmoid
这节课是 nn.Sigmoid 这是个模块
都是继承自modle
(这里其实不是很懂

00:36:37.398
image.png

这样的一串,最好就使用一个变量,减少麻烦
00:39:25.724
image.png

再计算损失和优化器的地方没有多少区别

00:39:40.720
image.png
循环训练
这里其实没有没有使用mini-batch(也就是让一部分使用 随机梯度下降算法来更新w)
00:40:18.536
image.png

比较不同的激活函数

下面这两个就是使用了不同的激活函数
sigmoid是激活函数,而下面的两个不一样
image.pngimage.png00:42:14.062
image.png

可以比较收敛的速度

00:42:28.104
image.png

修改激活函数只需要修改这里的一句话

这里有个风险,如果self.linear3(x)生成的是小于0的数
就会导致x为0,可以看下面手绘的图来解释。因为后面有可能会使用ln之类的函数,所以存在风险
00:43:23.613
image.png