神经网络分类的准确率与训练集奇数和偶数的构成比例

制作一个1*2*2的网络,r是一个随机数取值方法是

Random rand1 =new Random();

int ti1=rand1.nextInt(99)+1;

r=sigmoid( (double)ti1/100);

 

Random rand2 =new Random();

int ti2=rand2.nextInt(99)+1;

 r1=sigmoid( (double)ti2/100);

分别向两边输入r和1+r1。并让1*2*2部分的权重共享,前面大量实验表明这种效果相当于将两个弹性系数为k1,k2的弹簧并联成一个弹性系数为k的弹簧,并且让k1=k2=k/2的过程。

将这个网络简写成

d2(r,1+r1)-1-2-2-(2*k),k∈{0,1}

具体进样顺序

    

进样顺序

迭代次数

    

δ=0.5

     

r

1

 

判断是否达到收敛

 

1+r1

2

 

判断是否达到收敛

 

梯度下降

     

r

3

 

判断是否达到收敛

 

1+r1

4

 

判断是否达到收敛

 

梯度下降

     

……

     

达到收敛标准测量准确率,记录迭代次数n,将这个过程重复199次

    

δ=0.4

     

     

δ=5e-5

     

这个网络的测试集是

测试集

1+r1

1

 
 

1+r1

0

 

也就是用左侧的网络100%的进1+r1进行测试得到的数据

训练集

c

r

 

测试集

1+r1

1

  
 

a

1+r1

  

1+r1

0

  

S1a-3

        

f2[0]

f2[1]

迭代次数n

平均准确率p-ave

δ

耗时ms/次

耗时ms/199次

耗时 min/199

最大准确率p-max

0.499871

0.518355

358.9899

0.015075

0.5

1.562814

313

0.005217

1

0.606284

0.395471

9359.442

0

0.4

10.66332

2126

0.035433

0

0.706446

0.294729

15590.79

6.04E-05

0.3

15.19095

3025

0.050417

0.012012

0.806376

0.194684

24128.22

0.009995

0.2

23.17085

4613

0.076883

0.106106

0.904596

0.095911

39105.77

0.079034

0.1

36.47236

7269

0.12115

0.199199

0.990699

0.009341

101692.7

0.28767

0.01

93.98995

18709

0.311817

0.381381

0.999075

9.27E-04

210728.3

0.395023

0.001

193.1508

38441

0.640683

0.48048

0.99918

8.22E-04

218539.4

0.402765

9.00E-04

200.7286

39955

0.665917

0.475475

0.999267

7.34E-04

226591.9

0.400607

8.00E-04

208.2211

41443

0.690717

0.478478

0.999354

6.47E-04

235607.9

0.401748

7.00E-04

216.4573

43081

0.718017

0.472472

0.999448

5.53E-04

247316.1

0.40446

6.00E-04

227.0101

45179

0.752983

0.474474

0.999541

4.60E-04

260840.8

0.413987

5.00E-04

239.3166

47626

0.793767

0.488488

0.999629

3.71E-04

279840.4

0.412035

4.00E-04

256.8794

51124

0.852067

0.483483

0.999723

2.77E-04

306409.8

0.416638

3.00E-04

280.8844

55902

0.9317

0.498498

0.999816

1.84E-04

345659

0.419721

2.00E-04

316.6382

63017

1.050283

0.49049

0.999908

9.22E-05

426519.1

0.430908

1.00E-04

390.8995

77795

1.296583

0.500501

0.999917

8.31E-05

441793.9

0.425491

9.00E-05

404.5075

80505

1.34175

0.48048

0.999927

7.35E-05

455743.8

0.428826

8.00E-05

417.8543

83156

1.385933

0.483483

0.999935

6.47E-05

477427.2

0.425712

7.00E-05

437.9347

87155

1.452583

0.491491

0.999944

5.56E-05

499296.5

0.427126

6.00E-05

457.6884

91086

1.5181

0.496496

0.999954

4.62E-05

528598.3

0.426391

5.00E-05

484.196

96362

1.606033

0.499499

         
   

0.42365

     

用同样的办法测试网络

d2(r,1+r1)-1-2-2-(2*k),k∈{0,1}

但测试集是

测试集

1+r1

0

 

 

1+r1

1

也就是向右侧的网络100%的进1+r1进行测试

得到的数据

训练集

c

r

 

测试集

1+r1

0

  
 

a

1+r1

  

1+r1

1

  

S1a-4

        

f2[0]

f2[1]

迭代次数n

平均准确率p-ave

δ

耗时ms/次

耗时ms/199次

耗时 min/199

最大准确率p-max

0.500039

0.518919

348.0854

0.969849

0.5

1.562814

314

0.005233

1

0.606787

0.395597

9161.643

1

0.4

11.53266

2301

0.03835

1

0.706904

0.294569

15713.05

0.99995

0.3

15.17588

3023

0.050383

1

0.806929

0.194178

24246.87

0.987485

0.2

22.96482

4575

0.07625

1

0.90447

0.095892

38698.99

0.910343

0.1

36.04523

7177

0.119617

1

0.990681

0.009345

101160.9

0.707622

0.01

92.03518

18324

0.3054

0.811812

0.99908

9.22E-04

211606.9

0.605414

0.001

192.1407

38239

0.637317

0.701702

0.999176

8.25E-04

218678.2

0.60304

9.00E-04

198.9146

39589

0.659817

0.712713

0.999263

7.39E-04

226801.4

0.602588

8.00E-04

206.4372

41088

0.6848

0.717718

0.999357

6.45E-04

235405

0.592246

7.00E-04

214.3467

42660

0.711

0.670671

0.999443

5.58E-04

246416.8

0.592085

6.00E-04

224.2312

44626

0.743767

0.683684

0.999537

4.63E-04

260424

0.590948

5.00E-04

236.6935

47110

0.785167

0.690691

0.999635

3.65E-04

280370.6

0.58377

4.00E-04

254.9095

50735

0.845583

0.672673

0.999722

2.79E-04

305102.7

0.58469

3.00E-04

277.1357

55157

0.919283

0.685686

0.999816

1.84E-04

346744.2

0.579665

2.00E-04

314.8543

62664

1.0444

0.655656

0.999908

9.17E-05

427224.1

0.572713

1.00E-04

389.5628

77529

1.29215

0.640641

0.999916

8.38E-05

441486.3

0.573191

9.00E-05

403.3769

80276

1.337933

0.65966

0.999926

7.38E-05

457425

0.572442

8.00E-05

417.8794

83161

1.386017

0.656657

0.999935

6.50E-05

476470.6

0.575586

7.00E-05

435.0201

86577

1.44295

0.647648

0.999944

5.57E-05

502085.7

0.578342

6.00E-05

458.8141

91308

1.5218

0.652653

0.999954

4.59E-05

529153.3

0.573569

5.00E-05

482.8945

96098

1.601633

0.643644

         
   

0.577108

     

将平均准确率的后10个数取平均值

 

准确率

0.42365

0.577108

 

也就是无论用左右那个网络做测试得到的准确率都是一个定值,而且两者的和为1.

 

现在做第三个网络让这个网络的收敛标准固定为1e-5

具体进样顺序

   

进样顺序

迭代次数

   

δ=1e-5

    

r

1

r=1/100

判断是否达到收敛

1+r1

2

 

判断是否达到收敛

梯度下降

    

r

3

r=2/100

判断是否达到收敛

1+r1

4

 

判断是否达到收敛

梯度下降

    

 

r=s/100

  

若没有达到收敛让s=1

   

    

达到收敛标准测量准确率

   

其中s分别等于50,51….99

也就是改变r的进样范围观察对结果的影响

测试集

1+r1

0

 

1+r1

1

 

也就是用右侧网络100%的进样1+r1

正确的个数

sigmoid(1+r1)

1+r1

s

1000

0.733020149

1.01

50

1000

0.733020149

1.01

51

717

0.784147189

1.29

52

1000

0.733020149

1.01

53

709

0.785834983

1.3

54

989

0.734972599

1.02

55

681

0.787513156

1.31

56

952

0.740774899

1.05

57

696

0.785834983

1.3

58

952

0.744596916

1.07

59

718

0.787513156

1.31

60

908

0.748381722

1.09

61

696

0.787513156

1.31

62

890

0.752129111

1.11

63

700

0.785834983

1.3

64

880

0.753988716

1.12

65

649

0.795759698

1.36

66

885

0.757679639

1.14

67

652

0.795759698

1.36

68

844

0.761332715

1.16

69

645

0.792489941

1.34

70

831

0.764947804

1.18

71

651

0.795759698

1.36

72

825

0.766741064

1.19

73

649

0.792489941

1.34

74

801

0.770298949

1.21

75

561

0.806901316

1.43

76

769

0.773818574

1.23

77

669

0.794129628

1.35

78

757

0.775564014

1.24

79

635

0.797380154

1.37

80

752

0.779026108

1.26

81

604

0.802183889

1.4

82

725

0.780742748

1.27

83

501

0.816078273

1.49

84

733

0.784147189

1.29

85

490

0.816078273

1.49

86

711

0.785834983

1.3

87

445

0.824913732

1.55

88

692

0.789181707

1.32

89

397

0.829204518

1.58

90

683

0.790840635

1.33

91

504

0.820538481

1.52

92

626

0.794129628

1.35

93

287

0.848128836

1.72

94

649

0.795759698

1.36

95

288

0.84941242

1.73

96

651

0.798991

1.38

97

103

0.869891526

1.9

98

624

0.800592243

1.39

99

 

比如最后一组数据的意思当进样1+r1>=1.39的时候网络全部判断为对的,正确率为62.4%,对应的s值为99.将1+r1画成图

将s=奇数的画成图

将s=偶数的画成图。

 

 

也就是图1是由图2和图3合成的。

观察当s=奇数的数据

 

正确的个数

sigmoid(1+r1)

1+r1

s

1000

0.73302

1.01

51

1000

0.73302

1.01

53

989

0.734973

1.02

55

952

0.740775

1.05

57

952

0.744597

1.07

59

908

0.748382

1.09

61

890

0.752129

1.11

63

880

0.753989

1.12

65

885

0.75768

1.14

67

844

0.761333

1.16

69

831

0.764948

1.18

71

825

0.766741

1.19

73

801

0.770299

1.21

75

769

0.773819

1.23

77

757

0.775564

1.24

79

752

0.779026

1.26

81

725

0.780743

1.27

83

733

0.784147

1.29

85

711

0.785835

1.3

87

692

0.789182

1.32

89

683

0.790841

1.33

91

626

0.79413

1.35

93

649

0.79576

1.36

95

651

0.798991

1.38

97

624

0.800592

1.39

99

 

很容易发现200-(1+r1)*100/100就是精确的准确率。

可以用当s=奇数时1+r1的数据

x

51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99

y

1.01,1.02,1.05,1.07,1.09,1.11,1.12,1.14,1.16,1.18,1.19,1.21,1.23,1.24,1.26,1.27,1.29,1.3,1.32,1.33,1.35,1.36,1.38,1.39

 

拟合一条直线

拟合方程式:Y = a + b·X          

a = 1.005        

b = 0.0165            

相关系数 R2:0.996261087466688   

比较准确率

正确的个数

1+r1

s

a+b*s

测量准确率(2-(1+r1))*100

计算准确率(2-(a+bs))*100

1000

1.01

51

1.0215

99

97.85

1000

1.01

53

1.038

99

96.2

989

1.02

55

1.0545

98

94.55

952

1.05

57

1.071

95

92.9

952

1.07

59

1.0875

93

91.25

908

1.09

61

1.104

91

89.6

890

1.11

63

1.1205

89

87.95

880

1.12

65

1.137

88

86.3

885

1.14

67

1.1535

86

84.65

844

1.16

69

1.17

84

83

831

1.18

71

1.1865

82

81.35

825

1.19

73

1.203

81

79.7

801

1.21

75

1.2195

79

78.05

769

1.23

77

1.236

77

76.4

757

1.24

79

1.2525

76

74.75

752

1.26

81

1.269

74

73.1

725

1.27

83

1.2855

73

71.45

733

1.29

85

1.302

71

69.8

711

1.3

87

1.3185

70

68.15

692

1.32

89

1.335

68

66.5

683

1.33

91

1.3515

67

64.85

626

1.35

93

1.368

65

63.2

649

1.36

95

1.3845

64

61.55

651

1.38

97

1.401

62

59.9

624

1.39

99

1.4175

61

58.25

 

将计算准确率和实测准确率画成图

还有一定的误差然后重复这个实验将s设为1000,得到的数据

正确的个数

sigmoid(1+r1)

1+r1

s

797

0.772064

1.22

500

975

0.736916

1.03

501

761

0.773819

1.23

502

976

0.736916

1.03

503

789

0.773819

1.23

504

986

0.736916

1.03

505

810

0.772064

1.22

506

977

0.736916

1.03

507

801

0.772064

1.22

508

969

0.73885

1.04

509

787

0.772064

1.22

510

967

0.73885

1.04

511

967

0.73885

1.04

512

974

0.736916

1.03

513

808

0.772064

1.22

514

973

0.73885

1.04

515

776

0.772064

1.22

516

966

0.73885

1.04

517

802

0.772064

1.22

518

975

0.73885

1.04

519

776

0.772064

1.22

520

963

0.740775

1.05

521

778

0.772064

1.22

522

968

0.740775

1.05

523

802

0.772064

1.22

524

972

0.740775

1.05

525

 

614

0.798991

1.38

975

485

0.819061

1.51

976

628

0.800592

1.39

977

520

0.819061

1.51

978

623

0.800592

1.39

979

490

0.816078

1.49

980

616

0.800592

1.39

981

502

0.819061

1.51

982

647

0.79738

1.37

983

520

0.817574

1.5

984

648

0.79738

1.37

985

520

0.819061

1.51

986

615

0.79738

1.37

987

503

0.820538

1.52

988

634

0.79738

1.37

989

500

0.820538

1.52

990

630

0.800592

1.39

991

490

0.820538

1.52

992

600

0.802184

1.4

993

494

0.820538

1.52

994

603

0.802184

1.4

995

478

0.822006

1.53

996

591

0.802184

1.4

997

468

0.820538

1.52

998

595

0.802184

1.4

999

 

将1+r1画成图

1+r1的数据与准确率高度相关,可以明显的看到当s增加后1+r1变得平稳了,也就表明随着s的增加网络

d2(r,1+r1)-1-2-2-(2*k),k∈{0,1}

的收敛准确率变得稳定,并最终当s无限大近似随机的时候将趋于1个定值。

观察当s=偶数的图像

当s=奇数的图像

可以看到无论当s=偶数或者s=奇数1+r1的图都平稳的多,可以将s=奇数的图像拟合成直线

x:501,521,541,561,581,601,621,641,661,681,701,721,741,761,781,801,821,841,861,881,901,921,941,961,981

y:1.03,1.05,1.06,1.08,1.09,1.11,1.12,1.14,1.15,1.17,1.19,1.2,1.21,1.23,1.24,1.26,1.27,1.29,1.3,1.32,1.33,1.35,1.35,1.37,1.39

拟合方程式:Y = a + b·X

参数:

a = 0.662805000000009

b = 0.000741153846153835

相关系数 R2:0.998743679397526

 

正确的个数

1+r1

s

a+b*s

测量准确率(2-(1+r1))*100

计算准确率(2-(a+bs))*100

975

1.03

501

1.034123

97

96.58769231

963

1.05

521

1.048946

95

95.10538462

947

1.06

541

1.063769

94

93.62307692

935

1.08

561

1.078592

92

92.14076923

928

1.09

581

1.093415

91

90.65846154

884

1.11

601

1.108238

89

89.17615385

893

1.12

621

1.123062

88

87.69384615

870

1.14

641

1.137885

86

86.21153846

869

1.15

661

1.152708

85

84.72923077

842

1.17

681

1.167531

83

83.24692308

818

1.19

701

1.182354

81

81.76461538

818

1.2

721

1.197177

80

80.28230769

793

1.21

741

1.212

79

78.8

793

1.23

761

1.226823

77

77.31769231

767

1.24

781

1.241646

76

75.83538462

762

1.26

801

1.256469

74

74.35307692

736

1.27

821

1.271292

73

72.87076923

703

1.29

841

1.286115

71

71.38846154

719

1.3

861

1.300938

70

69.90615385

672

1.32

881

1.315762

68

68.42384615

701

1.33

901

1.330585

67

66.94153846

668

1.35

921

1.345408

65

65.45923077

659

1.35

941

1.360231

65

63.97692308

650

1.37

961

1.375054

63

62.49461538

616

1.39

981

1.389877

61

61.01230769

 

将准确率画成图

可以看到当s增加以后当s=奇数的1+r1曲线与实测准确率重合度大幅增加。可以推测当s趋于无穷大的时候s=奇数的1+r1曲线将与当r随机取值时的准确率相等,

 

 

准确率

0.42365

0.577108

 
    
    

正确的个数

sigmoid(1+r1)

1+r1

s

468

0.820538

1.52

998

595

0.802184

1.4

999

 

0.42365:0.577108 和468与595已经很接近。当正确的个数为468时s是偶数,当正确个数是595时s为奇数,也就是网络

d2(r,1+r1)-1-2-2-(2*k),k∈{0,1}

左侧对奇数敏感,右侧对偶数敏感,并且对这个网络来说奇数和偶数的重要性不是1:1的。这个网络的准确率与训练集是奇数个还是偶数个是高度相关的。可以用当s=奇数的1+r1对s的曲线高度拟合网络的准确率。这个网络的准确率侧面反映了这个网络对奇数或者偶数个训练集的敏感程度,当s=无穷大的时候这个网络对奇数和偶数的敏感度比值57.7108:42.365.

实验参数

学习率 0.1

权重初始化方式

Random rand1 =new Random();

int ti1=rand1.nextInt(98)+1;

tw[a][b]=xx*((double)ti1/100);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑榆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值