1.训练数据的矩阵大小由两个因素决定,一个为单个数据的维度,另一个为数据的数量,习惯上每个数据对应训练矩阵的一列,这可以降低神经网络构建的难度,输出标签也是按照列排列的,之所以只有一行是因为是二分类,一行容下0和1这两个逻辑绰绰有余
2.神经网络,一般常理上会用线性关系来表示,可是线性关系其实不够准确,所以会加上sigmoid函数,但是要注意这是神经网络本来的结构,我们要训练改变的其实是线性关系的参数w和b,而sigmoid自身是确定的,而且训练时w和b通常会分开来训练
3.我就觉得和机器学习的符号似乎有点相同,都是参数矩阵(这里由线性关系w和b组成)和输入特征相乘,然后外面加上某个函数(sigmoid)的方式
4.逻辑回归的损失函数,一般看来损失函数似乎都可以用均方误差来衡量,但是逻辑回归却不这样,因为是二分类,所以用log函数来表示,y帽表示的是预测值,为什么要用这样的损失函数以后会进行解释,可是如果一旦预测错了,损失不就是个无穷大的值了么?是不是外面有个嵌套的函数?原因在于,打标签的时候只有两种标签,但是训练的模型是线性函数和sigmoid函数的嵌套,所以预测的值并非是设定一个值,比如0.5,大于它就预测为1,小于它则预测为0,而是呈现一种连续的量,通过某个算法调整参数使得成本函数最小,之后再由这个模型生成y帽,这样的y帽在log函数下并不会产生无穷大的值,这就说的通了
5.log那个式子是单个训练样本的损失函数,而代价函数是针对所有训练样本的,要让它最小化
6.梯度下降算法调整的是参数值,影响的是成本函数
7.既然模型已经确定了,比如逻辑回归模型是那个log式子,那么代价函数就是参数的函数了
8.代价函数由很多模型参数共同决定,此时的梯度下降算法相对单参数的梯度下降不同点就是各个参数分别求偏导数,其他都是一样的
9.损失函数虽然是由模型参数决定的,但是更直接的关系是预测值和实际值差距的一种度量,代价函数是同一个模型参数对所有训练数据进行预测产生的损失函数的平均值