主题
logistic回归、处理多维特征的输入
总结1
假设是对标签为{0,1,2,······,9}的手写数字做分类,为什么要把分类输出结果的结构看成是离散的,而不能直接看成是一个连续值(以取值区间划分相应类别)。
因为类别与类别之间应当是没有先验关系的,它只是一个记号,只用于区分不同的类别,其具体的数值没有意义,“0与1”和“0与9”都只是意味着不同的两个类别,并没有“0离1更近”或者“0离9更近”这个先验。但是,假如看成是连续值,那么1-0=1,9-0=9,前者的距离小于后者,那么会有“1比9更接近0”的这个先验。
分类结果应当不受到编号的顺序以及编号的具体取值所影响,所以不能把分类输出结果直接看成是一个连续值。sigmoid functions,即S形饱和函数,是一类函数,具体的数学表达有很多种。logistic function是其中的一个典型代表,它把R映射至(0,1),常常默认把它当成是sigmoid functions的形态。
分类问题的损失函数计算的是分布之间的差异,而不是几何意义上的距离。
二分类交叉熵
损失函数无参数,
nn.functional.sigmoid()
,最新版的pytorch可以直接用torch.sigmoid()
,也可以用nn.Sigmoid()
建立节点激活函数写在模型里,损失函数写在模型外
总结2
csv文件用空格做分隔符
pytorch里的函数都是向量函数
Mini-Batch,一次训练取N个样本
重视体会架构,泛化能力