本人定位:
每个函数以及变量的含义已经写在注释中。
使用数据:点击下载
测试结果:(第一列为训练集acc,第二列为测试集acc,每行的行数为神经网络层数,每层20个神经元)
测试的时候层数不能太深,容易梯度爆炸
所需头文件:
#include <iostream>
#include<vector>
#include<algorithm>
#include<cmath>
flag为false时为测试集,为true时为训练集
J函数:logistics代价函数,为对数代价。
logistics函数:x特征,y标签,m1样本起始点,m2样本结束点,n特征数,a学习率,c正则化参数,返回n+1长度的数组,为训练好的参数。
kfold函数:x特征,y标签,n特征数,m样本数,k折数,返回k折平均acc。
测试数据: 点击下载
数据说明:第10列为标签,-1与1,前九列为特征。
对一个十进制数的各位数字做一次平方和,称作一次迭代。如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数。1 是一个幸福数。此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1。则 19 就是幸福数。显然,在一个幸福数迭代到 1 的过程中经过的数字都是幸福数,它们的幸福是依附于初始数字的。例如 82、68、100 的幸福是依附于 19 的。而一个特立独行的幸福数,是在一个有限的区间内不依附于任何其它数字的;其独立性就是依附于它的的幸福数的个数。如果这个数还是个素数,则其独立性加倍。例如 19 在区间[1, 100] 内就是一个特立独行的幸福数,其独立性为 2×4=8。