输入有多个特征 每一行被叫做一个样本 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