In [4]:
#实战1-逻辑回归
#coding=utf-8
import numpy
import theano
import theano.tensor as T
rng = numpy.random
#为了测试,自己生成10个样本,每个样本是三维向量,用于向量
N=10
feats = 3
D=(rng.randn(N,feats).astype(numpy.float32), rng.randint(size=N, low=0, high=2).astype(numpy.float32))
#声明自变量x以及每个样本对应的标签y(训练标签)
x=T.matrix("x")
y=T.vector("y")
#随机初始化参数w、b=0,为共享变量
w=theano.shared(rng.randn(feats), name="w")
b=theano.shared(0., name="b")
#构造损失函数
p_1=1 / ( 1 +T.exp(-T.dot(x,w) -b ) ) #激活函数
xent = -y *T.log(p_1) - ( 1-y ) * T .log (1-p_1) #交叉商损失函数
cost = xent.mean() + 0.01 * (w ** 2).sum()# 损失函数的平均值+L2正则项,其中权重衰减系数为0.01
gw, gb = T.grad(cost, [w, b]) #对总损失函数求参数的偏导数
prediction = p_1 > 0.5 # 预测
train = theano.function(inputs=[x,y],outputs=[prediction, xent],updates=((w, w - 0.1 * gw), (b, b - 0.1 * gb)))#训练所需函数
predict = theano.function(inputs=[x], outputs=prediction)#测试阶段函数
#训练
training_steps = 1000
for i in range(training_steps):
pred, err = train(D[0], D[1])
print err.mean()#查看损失函数下降变化过程
0.842641107276
0.830809105441
0.819434110435
0.808500002833
0.797990677423
0.787890116118
0.778182454743
0.768852043333
0.759883499785
0.751261756789
0.742972102154
0.735000212708
0.727332182069
0.719954542642
0.712854282243
0.706018855809
0.699436192631
0.693094699605
0.686983260937
0.68109123477
0.675408447153
0.669925183755
0.664632179695
0.659520607841
0.654582065873
0.649808562399
0.645192502377
0.640726672044
0.636404223556
0.632218659501
0.628163817413
0.624233854427
0.620423232147
0.616726701826
0.613139289918
0.609656284049
0.606273219452
0.602985865886
0.599790215074
0.596682468651
0.59365902665
0.590716476507
0.587851582599
0.585061276284
0.58234264646
0.579692930608
0.577109506315
0.574589883251
0.572131695601
0.569732694912
0.567390743352
0.565103807355
0.56286995164
0.560687333576
0.558554197888
0.556468871673
0.554429759716
0.552435340096
0.55048416005
0.548574832091
0.546706030368
0.544876487242
0.543084990076
0.54133037822
0.539611540186
0.537927410988
0.536276969649
0.534659236867
0.533073272812
0.531518175067
0.52999307669
0.528497144392
0.527029576834
0.525589603011
0.524176480749
0.522789495284
0.521427957921
0.520091204785
0.518778595629
0.517489512728
0.516223359824
0.514979561138
0.513757560439
0.512556820163
0.511376820582
0.51021705902
0.509077049116
0.507956320117
0.506854416225
0.505770895961
0.504705331581
0.503657308507
0.502626424802
0.501612290657
0.50061452792
0.499632769638
0.498666659623
0.497715852046
0.496780011044
0.49585881035
0.49495193294
0.494059070692
0.493179924073
0.492314201824
0.491461620676
0.490621905065
0.48979478687
0.488980005156
0.488177305931
0.487386441915
0.486607172315
0.48583926261
0.485082484352
0.484336614964
0.483601437556
0.482876740743
0.482162318469
0.481457969845
0.480763498988
0.480078714866
0.479403431148
0.478737466069
0.478080642283
0.477432786741
0.476793730558
0.47616330889
0.475541360822
0.474927729247
0.47432226076
0.473724805555
0.473135217315
0.47255335312
0.47197907335
0.471412241591
0.470852724548
0.470300391958
0.469755116507
0.46921677375
0.468685242032
0.468160402414
0.467642138599
0.467130336862
0.466624885982
0.466125677175
0.465632604028
0.465145562443
0.464664450569
0.464189168748
0.463719619461
0.463255707264
0.462797338745
0.462344422466
0.461896868915
0.461454590456
0.461017501285
0.46058551738
0.460158556459
0.459736537937
0.459319382882
0.458907013977
0.458499355477
0.458096333175
0.45769787436
0.457303907783
0.456914363624
0.456529173452
0.456148270197
0.455771588114
0.455399062753
0.455030630929
0.454666230692
0.454305801294
0.453949283169
0.453596617896
0.453247748179
0.45290261782
0.452561171691
0.452223355711
0.451889116823
0.451558402967
0.451231163064
0.450907346987
0.450586905543
0.450269790449
0.449955954318
0.449645350631
0.449337933723
0.449033658763
0.448732481734
0.448434359417
0.448139249372
0.447847109922
0.447557900136
0.447271579812
0.446988109463
0.4467074503
0.446429564218
0.446154413781
0.445881962206
0.445612173354
0.44534501171
0.445080442375
0.44481843105
0.444558944025
0.444301948165
0.444047410901
0.443795300215
0.44354558463
0.443298233199
0.443053215495
0.442810501597
0.442570062085
0.442331868024
0.442095890959
0.441862102903
0.441630476326
0.441400984149
0.441173599735
0.440948296877
0.440725049792
0.440503833112
0.440284621876
0.440067391521
0.439852117876
0.439638777153
0.439427345939
0.43921780119
0.439010120226
0.438804280717
0.438600260685
0.43839803849
0.438197592828
0.437998902723
0.43780194752
0.437606706883
0.437413160782
0.437221289494
0.437031073592
0.436842493946
0.436655531708
0.436470168317
0.436286385487
0.436104165203
0.435923489718
0.435744341548
0.435566703463
0.435390558489
0.435215889899
0.435042681209
0.434870916173
0.434700578784
0.434531653261
0.434364124052
0.434197975827
0.434033193476
0.433869762102
0.43370766702
0.433546893751
0.433387428022
0.433229255759
0.433072363083
0.432916736312
0.432762361951
0.432609226692
0.432457317412
0.432306621168
0.432157125193
0.432008816896
0.431861683856
0.431715713822
0.431570894706
0.431427214586
0.431284661699
0.431143224439
0.431002891355
0.430863651148
0.43072549267
0.43058840492
0.430452377042
0.430317398321
0.430183458185
0.430050546197
0.429918652058
0.429787765602
0.429657876794
0.429528975729
0.429401052629
0.42927409784
0.429148101832
0.429023055199
0.428898948649
0.428775773013
0.428653519233
0.428532178368
0.428411741588
0.428292200172
0.428173545511
0.428055769099
0.427938862538
0.427822817533
0.42770762589
0.427593279516
0.427479770419
0.427367090702
0.427255232564
0.427144188301
0.4270339503
0.426924511039
0.42681586309
0.426707999109
0.426600911845
0.426494594128
0.426389038879
0.426284239097
0.426180187868
0.426076878356
0.42597430381
0.425872457552
0.425771332987
0.425670923594
0.425571222928
0.425472224619
0.425373922372
0.425276309961
0.425179381234
0.42508313011
0.424987550574
0.424892636684
0.424798382561
0.424704782395
0.424611830441
0.42451952102
0.424427848514
0.424336807369
0.424246392095
0.424156597261
0.424067417495
0.423978847488
0.423890881987
0.423803515797
0.423716743782
0.423630560859
0.423544962004
0.423459942246
0.423375496666
0.423291620403
0.423208308645
0.423125556631
0.423043359655
0.422961713059
0.422880612235
0.422800052623
0.422720029714
0.422640539046
0.422561576202
0.422483136815
0.422405216562
0.422327811166
0.422250916393
0.422174528057
0.422098642012
0.422023254156
0.421948360432
0.42187395682
0.421800039347
0.421726604077
0.421653647115
0.421581164608
0.42150915274
0.421437607734
0.421366525854
0.421295903398
0.421225736703
0.421156022145
0.421086756134
0.421017935117
0.420949555576
0.420881614028
0.420814107025
0.420747031154
0.420680383036
0.420614159323
0.420548356702
0.420482971893
0.420418001647
0.420353442748
0.420289292009
0.420225546277
0.420162202428
0.42009925737
0.420036708037
0.419974551398
0.419912784447
0.419851404208
0.419790407735
0.419729792109
0.419669554438
0.41960969186
0.419550201536
0.41949108066
0.419432326446
0.419373936139
0.419315907008
0.419258236348
0.419200921479
0.419143959747
0.419087348522
0.419031085198
0.418975167194
0.418919591953
0.418864356942
0.418809459649
0.418754897588
0.418700668295
0.418646769327
0.418593198266
0.418539952713
0.418487030294
0.418434428655
0.418382145462
0.418330178405
0.418278525192
0.418227183554
0.418176151241
0.418125426023
0.418075005691
0.418024888056
0.417975070946
0.417925552211
0.417876329719
0.417827401357
0.417778765031
0.417730418664
0.417682360199
0.417634587596
0.417587098834
0.417539891908
0.417492964832
0.417446315636
0.417399942369
0.417353843095
0.417308015895
0.417262458868
0.417217170128
0.417172147805
0.417127390047
0.417082895015
0.417038660889
0.416994685861
0.416950968141
0.416907505954
0.416864297538
0.416821341148
0.416778635053
0.416736177537
0.416693966897
0.416652001446
0.416610279511
0.416568799432
0.416527559564
0.416486558273
0.416445793943
0.416405264967
0.416364969754
0.416324906727
0.416285074318
0.416245470976
0.41620609516
0.416166945344
0.416128020012
0.416089317662
0.416050836804
0.416012575961
0.415974533665
0.415936708463
0.415899098912
0.415861703582
0.415824521054
0.415787549919
0.415750788782
0.415714236257
0.41567789097
0.415641751557
0.415605816666
0.415570084957
0.415534555097
0.415499225766
0.415464095656
0.415429163465
0.415394427904
0.415359887696
0.415325541569
0.415291388266
0.415257426536
0.415223655141
0.415190072851
0.415156678444
0.415123470711
0.41509044845
0.415057610468
0.415024955583
0.414992482622
0.414960190419
0.414928077818
0.414896143674
0.414864386847
0.414832806208
0.414801400637
0.414770169022
0.414739110257
0.41470822325
0.414677506911
0.414646960163
0.414616581935
0.414586371164
0.414556326795
0.414526447783
0.414496733088
0.414467181679
0.414437792534
0.414408564635
0.414379496977
0.414350588557
0.414321838383
0.414293245469
0.414264808837
0.414236527516
0.414208400541
0.414180426956
0.414152605811
0.414124936163
0.414097417077
0.414070047622
0.414042826878
0.414015753927
0.413988827863
0.413962047781
0.413935412788
0.413908921992
0.413882574513
0.413856369473
0.413830306003
0.413804383238
0.413778600322
0.413752956402
0.413727450635
0.41370208218
0.413676850205
0.413651753881
0.413626792389
0.413601964913
0.413577270642
0.413552708774
0.413528278509
0.413503979056
0.413479809628
0.413455769442
0.413431857724
0.413408073703
0.413384416614
0.413360885698
0.4133374802
0.41331419937
0.413291042467
0.41326800875
0.413245097487
0.413222307949
0.413199639413
0.41317709116
0.413154662479
0.413132352659
0.413110160999
0.413088086798
0.413066129364
0.413044288008
0.413022562045
0.413000950796
0.412979453586
0.412958069745
0.412936798606
0.41291563951
0.412894591798
0.41287365482
0.412852827927
0.412832110476
0.412811501828
0.412791001349
0.412770608407
0.412750322378
0.412730142639
0.412710068572
0.412690099563
0.412670235004
0.41265047429
0.412630816818
0.412611261991
0.412591809217
0.412572457906
0.412553207472
0.412534057334
0.412515006915
0.41249605564
0.41247720294
0.412458448249
0.412439791003
0.412421230644
0.412402766618
0.412384398372
0.412366125359
0.412347947034
0.412329862858
0.412311872292
0.412293974804
0.412276169863
0.412258456943
0.412240835519
0.412223305074
0.41220586509
0.412188515053
0.412171254456
0.41215408279
0.412136999553
0.412120004245
0.412103096369
0.412086275432
0.412069540944
0.412052892416
0.412036329367
0.412019851313
0.412003457779
0.411987148288
0.411970922369
0.411954779554
0.411938719376
0.411922741374
0.411906845087
0.411891030058
0.411875295833
0.411859641961
0.411844067995
0.411828573488
0.411813157998
0.411797821085
0.411782562313
0.411767381246
0.411752277453
0.411737250507
0.411722299979
0.411707425448
0.411692626491
0.411677902692
0.411663253634
0.411648678904
0.411634178093
0.411619750791
0.411605396595
0.411591115101
0.411576905909
0.411562768621
0.411548702842
0.411534708178
0.41152078424
0.41150693064
0.411493146991
0.411479432912
0.411465788019
0.411452211936
0.411438704286
0.411425264695
0.411411892791
0.411398588205
0.41138535057
0.411372179521
0.411359074696
0.411346035733
0.411333062276
0.411320153967
0.411307310453
0.411294531383
0.411281816406
0.411269165176
0.411256577347
0.411244052575
0.41123159052
0.411219190842
0.411206853204
0.411194577272
0.411182362712
0.411170209193
0.411158116386
0.411146083965
0.411134111604
0.411122198979
0.411110345771
0.411098551658
0.411086816325
0.411075139456
0.411063520736
0.411051959855
0.411040456503
0.41102901037
0.411017621152
0.411006288544
0.410995012244
0.410983791949
0.410972627363
0.410961518186
0.410950464125
0.410939464884
0.410928520173
0.410917629701
0.410906793179
0.41089601032
0.41088528084
0.410874604455
0.410863980883
0.410853409844
0.410842891059
0.410832424251
0.410822009145
0.410811645468
0.410801332948
0.410791071313
0.410780860296
0.410770699628
0.410760589044
0.410750528279
0.410740517072
0.41073055516
0.410720642285
0.410710778187
0.410700962611
0.410691195301
0.410681476003
0.410671804465
0.410662180437
0.410652603669
0.410643073914
0.410633590924
0.410624154454
0.410614764262
0.410605420104
0.410596121741
0.410586868932
0.410577661439
0.410568499026
0.410559381457
0.410550308499
0.410541279918
0.410532295483
0.410523354965
0.410514458133
0.410505604762
0.410496794625
0.410488027497
0.410479303154
0.410470621374
0.410461981937
0.410453384621
0.41044482921
0.410436315485
0.41042784323
0.410419412231
0.410411022274
0.410402673146
0.410394364636
0.410386096535
0.410377868633
0.410369680722
0.410361532597
0.410353424051
0.410345354881
0.410337324884
0.410329333857
0.4103213816
0.410313467913
0.410305592598
0.410297755456
0.410289956293
0.410282194912
0.41027447112
0.410266784723
0.41025913553
0.410251523349
0.41024394799
0.410236409266
0.410228906988
0.410221440969
0.410214011023
0.410206616967
0.410199258617
0.410191935789
0.410184648302
0.410177395977
0.410170178632
0.41016299609
0.410155848173
0.410148734704
0.410141655508
0.41013461041
0.410127599236
0.410120621814
0.410113677971
0.410106767537
0.410099890342
0.410093046217
0.410086234994
0.410079456506
0.410072710586
0.410065997069
0.410059315791
0.410052666588
0.410046049297
0.410039463758
0.410032909808
0.410026387289
0.41001989604
0.410013435904
0.410007006724
0.410000608342
0.409994240603
0.409987903353
0.409981596437
0.409975319702
0.409969072997
0.409962856168
0.409956669066
0.409950511542
0.409944383445
0.409938284627
0.409932214942
0.409926174243
0.409920162383
0.409914179218
0.409908224603
0.409902298396
0.409896400452
0.409890530631
0.409884688791
0.409878874792
0.409873088493
0.409867329757
0.409861598445
0.409855894419
0.409850217543
0.409844567681
0.409838944697
0.409833348458
0.409827778829
0.409822235677
0.40981671887
0.409811228276
0.409805763765
0.409800325206
0.409794912469
0.409789525426
0.409784163948
0.409778827909
0.40977351718
0.409768231637
0.409762971153
0.409757735604
0.409752524866
0.409747338815
0.409742177328
0.409737040284
0.40973192756
0.409726839036
0.409721774591
0.409716734107
0.409711717463
0.409706724543
0.409701755227
0.409696809399
0.409691886942
0.409686987741
0.409682111681
0.409677258646
0.409672428523
0.409667621198
0.409662836558
0.409658074492
0.409653334887
0.409648617632
0.409643922618
0.409639249734
0.40963459887
0.409629969919
0.409625362771
0.40962077732
0.409616213458
0.409611671079
0.409607150076
0.409602650345
0.409598171781
0.409593714279
0.409589277736
0.409584862048
0.409580467113
0.409576092829
0.409571739094
0.409567405807
0.409563092868
0.409558800177
0.409554527633
0.409550275139
0.409546042596
0.409541829906
0.409537636971
0.409533463694
0.40952930998
0.409525175732
0.409521060854
0.409516965253
0.409512888833
0.409508831501
0.409504793163
0.409500773726
0.409496773098
0.409492791186
0.4094888279
0.409484883148
0.409480956839
0.409477048884
0.409473159192
0.409469287676
0.409465434245
0.409461598812
0.409457781288
0.409453981587
0.409450199622
0.409446435306
0.409442688553
0.409438959277
0.409435247394
0.409431552819
0.409427875467
0.409424215255
0.409420572099
0.409416945916
0.409413336624
0.409409744141
0.409406168385
0.409402609274
0.409399066729
0.409395540667
0.40939203101
0.409388537678
0.409385060591
0.409381599671
0.409378154839
0.409374726018
0.409371313129
0.409367916096
0.409364534841
0.409361169289
0.409357819363
0.409354484987
0.409351166087
0.409347862587
0.409344574413
0.409341301491
0.409338043747
0.409334801108
0.4093315735
0.409328360852
0.40932516309
0.409321980144
0.409318811941
0.40931565841
0.40931251948
0.409309395082
0.409306285145
0.409303189599
0.409300108375
0.409297041404
0.409293988617
0.409290949945
0.409287925322
0.409284914679
0.40928191795
0.409278935066
0.409275965962
0.40927301057
0.409270068827
0.409267140664
0.409264226018
0.409261324824
0.409258437016
0.409255562531
0.409252701305
0.409249853273
0.409247018373
0.409244196542
0.409241387716
0.409238591834
0.409235808833
0.409233038652
0.40923028123
0.409227536504
In [ ]:
Content source: RayleighChen/SummerVac
Similar notebooks: