梯度下降(mid)

TimeLimit:5000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
Special Judge
未提交 | 登录后收藏
Problem Description

过几个月后来看,好像名词写混。大家不要看了

梯度其实是一个向量,包含两个要素,大小和方向。其中方向是偏导数最大的那个方向,偏导数的最大值。

用数学来描述的话,就是。

图片.png

其中f一般是代价函数

图片.png


而所谓梯度下降其实就是沿着梯度的反方向(函数值减少的最快的方向)移动一定的步长的迭代算法,通过一定次数的迭代后就可以快速的下降局部最小值周围。

而梯度下降一般用于严格凸函数,即只有一个极小值,且除最小值点外,其他点梯度不等于0。

其数学表达式是

图片.png

其中X是n维参数向量。α是学习因子,用于控制步长,一般初始值取0.1左右。

列1:

对于线性回归

图片.png

在数据集{Xi,yi}其代价函数为

图片.png

目标是求解出合适的参数θ,使得代价函数最小化。让f对θ求偏导和整理可以得到一个优雅的迭代方程

图片.png

为啥这个方程优雅呢,因为这个方程可以这样表达:

图片.png

我们发现更新量其实就是对拟合偏差的线性加权。

此外梯度下降还存在许多优化,比如学习因子的控制,初始值的选取

还没学会的话,请自行百度

######################################


好,现在你已经对梯度下降有了一定的了解,现在我们可以是使用梯度下降来解决一些实际问题了

本题的目标函数为

图片.png

图片.png

代价函数为

图片.png

的方差拟合,是的代价函数最小。由于这个是一种特殊广义线性回归方差,所以其迭代方式依旧是一种优雅形式

图片.png



Input

单组数据

一行有三个个整数n1,n2,m。

代表接下来有n1行,代表训练集,

每行有m+1个数,分别代表样本的m个属性xi的取值和yi

再接下有n2行,每行有m个数。代表待分类的测试集。

1<n1,n2<=400,1<=m<=12

0.0<xi<=100.0  yi∈{0,1}

正类和负类的数量将是最均衡的1:1左右

数据保证基本上近似线性可分的


Output

对测试集进行二分类,若你H(X)>=0.5 请输出1,否则输出0,若正确率>=95% 你将得到AC

注意对于分类问题,我们将采取特殊的测评机制,每次测评时只随机抽取输出的40%参与测评,若数据输出数量不对,将直接返回wa.

你们大胆试,能试出全部答案算我输.jpg.

得分=min[max(准确率,0.5)*200-100+5,100]

因为样例数据较少,会出现对测试集欠拟合的情况(因为数据我瞎抽的)。

所以可以考虑用训练集检验,如果拟合了训练集说明你没写错

SampleInput
20 20 12
7.1 0.65 0.18 1.8 0.07 13 40 0.997 3.44 0.6 9.1 5 0
7.4 0.29 0.38 1.7 0.062 9 30 0.9968 3.41 0.53 9.5 6 0
6.1 0.55 0.15 9.8 0.031 19 125 0.9957 3.36 0.47 10.2 6 1
8.2 0.34 0.38 2.5 0.08 12 57 0.9978 3.3 0.47 9 6 0
6.9 0.19 0.35 5 0.067 32 150 0.995 3.36 0.48 9.8 5 1
9.6 0.56 0.31 2.8 0.089 15 46 0.9979 3.11 0.92 10 6 0
6.5 0.26 0.32 16.5 0.045 44 166 1 3.38 0.46 9.5 6 1
8.7 0.23 0.32 13.4 0.044 35 169 0.99975 3.12 0.47 8.8 7 1
9.5 0.885 0.27 2.3 0.084 31 145 0.9978 3.24 0.53 9.4 5 0
5.9 0.37 0.14 6.3 0.036 34 185 0.9944 3.17 0.63 9.8 5 1
9.8 0.66 0.39 3.2 0.083 21 59 0.9989 3.37 0.71 11.5 7 0
7.5 0.23 0.68 11 0.047 37 133 0.9978 2.99 0.38 8.8 5 1
6.2 0.12 0.34 1.5 0.045 43 117 0.9939 3.42 0.51 9 6 1
6.6 0.33 0.31 1.3 0.02 29 89 0.99035 3.26 0.44 12.4 8 1
6.5 0.28 0.29 2.7 0.038 26 107 0.9912 3.32 0.41 11.6 7 1
5.9 0.15 0.31 5.8 0.041 53 155 0.9945 3.52 0.46 10.5 6 1
6.9 0.18 0.38 8.1 0.049 44 176 0.9958 3.3 0.54 9.8 6 1
5 0.17 0.56 1.5 0.026 24 115 0.9906 3.48 0.39 10.8 7 1
7 0.16 0.32 8.3 0.045 38 126 0.9958 3.21 0.34 9.2 5 1
11 0.26 0.68 2.55 0.085 10 25 0.997 3.18 0.61 11.8 5 0
测试集被某个脑抽删掉 了
SampleOutput
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
Submit
题目统计信息详细
总AC数6
通过人数1
尝试人数1
总提交量27
AC率3.70%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: