-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c254e48
commit 0d86b1e
Showing
28 changed files
with
3,332 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
function [J, grad] = costFunction(theta, X, y) | ||
%COSTFUNCTION Compute cost and gradient for logistic regression | ||
% J = COSTFUNCTION(theta, X, y) computes the cost of using theta as the | ||
% parameter for logistic regression and the gradient of the cost | ||
% w.r.t. to the parameters. | ||
|
||
function J = logisticRegressionCost(theta, X, y) | ||
estimatedResults = sigmoid(X * theta); | ||
trainingSamples = length(y); | ||
J = -(1 / trainingSamples) * ( | ||
y' * log(estimatedResults) | ||
+ (1 - y)' * log(1 - estimatedResults) | ||
); | ||
endfunction | ||
|
||
function gradient = gradientVector(theta, X, y) | ||
trainingExamples = length(y); | ||
gradient = (1 / trainingExamples) * (X' * (sigmoid(X * theta) - y)); | ||
endfunction | ||
|
||
J = logisticRegressionCost(theta, X, y); | ||
grad = gradientVector(theta, X, y); | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
function [J, grad] = costFunctionReg(theta, X, y, lambda) | ||
%COSTFUNCTIONREG Compute cost and gradient for logistic regression with regularization | ||
% J = COSTFUNCTIONREG(theta, X, y, lambda) computes the cost of using | ||
% theta as the parameter for regularized logistic regression and the | ||
% gradient of the cost w.r.t. to the parameters. | ||
|
||
function J = logisticRegressionRegularizedCost(theta, X, y) | ||
estimatedResults = sigmoid(X * theta); | ||
trainingExamples = length(y); | ||
|
||
J = (- 1 / trainingExamples) * ( | ||
y' * log(estimatedResults) | ||
+ (1 - y)' * log(1 - estimatedResults) | ||
) + (lambda / (2 * trainingExamples)) * ( | ||
sum(theta .^ 2) - theta(1) ^ 2 | ||
); | ||
endfunction | ||
|
||
function gradient = gradientVector(theta, X, y) | ||
trainingExamples = length(y); | ||
gradient = (1 / trainingExamples) * (X' * (sigmoid(X * theta) - y)); | ||
endfunction | ||
|
||
function gradient = regularizedGradientVector(theta, X, y) | ||
trainingExamples = length(y); | ||
gradient = gradientVector(theta, X, y); | ||
modifiedHypothesis = (lambda / trainingExamples) * theta; | ||
modifiedHypothesis(1) = 0; | ||
gradient += modifiedHypothesis; | ||
endfunction | ||
|
||
J = logisticRegressionRegularizedCost(theta, X, y); | ||
grad = regularizedGradientVector(theta, X, y); | ||
end |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
34.62365962451697,78.0246928153624,0 | ||
30.28671076822607,43.89499752400101,0 | ||
35.84740876993872,72.90219802708364,0 | ||
60.18259938620976,86.30855209546826,1 | ||
79.0327360507101,75.3443764369103,1 | ||
45.08327747668339,56.3163717815305,0 | ||
61.10666453684766,96.51142588489624,1 | ||
75.02474556738889,46.55401354116538,1 | ||
76.09878670226257,87.42056971926803,1 | ||
84.43281996120035,43.53339331072109,1 | ||
95.86155507093572,38.22527805795094,0 | ||
75.01365838958247,30.60326323428011,0 | ||
82.30705337399482,76.48196330235604,1 | ||
69.36458875970939,97.71869196188608,1 | ||
39.53833914367223,76.03681085115882,0 | ||
53.9710521485623,89.20735013750205,1 | ||
69.07014406283025,52.74046973016765,1 | ||
67.94685547711617,46.67857410673128,0 | ||
70.66150955499435,92.92713789364831,1 | ||
76.97878372747498,47.57596364975532,1 | ||
67.37202754570876,42.83843832029179,0 | ||
89.67677575072079,65.79936592745237,1 | ||
50.534788289883,48.85581152764205,0 | ||
34.21206097786789,44.20952859866288,0 | ||
77.9240914545704,68.9723599933059,1 | ||
62.27101367004632,69.95445795447587,1 | ||
80.1901807509566,44.82162893218353,1 | ||
93.114388797442,38.80067033713209,0 | ||
61.83020602312595,50.25610789244621,0 | ||
38.78580379679423,64.99568095539578,0 | ||
61.379289447425,72.80788731317097,1 | ||
85.40451939411645,57.05198397627122,1 | ||
52.10797973193984,63.12762376881715,0 | ||
52.04540476831827,69.43286012045222,1 | ||
40.23689373545111,71.16774802184875,0 | ||
54.63510555424817,52.21388588061123,0 | ||
33.91550010906887,98.86943574220611,0 | ||
64.17698887494485,80.90806058670817,1 | ||
74.78925295941542,41.57341522824434,0 | ||
34.1836400264419,75.2377203360134,0 | ||
83.90239366249155,56.30804621605327,1 | ||
51.54772026906181,46.85629026349976,0 | ||
94.44336776917852,65.56892160559052,1 | ||
82.36875375713919,40.61825515970618,0 | ||
51.04775177128865,45.82270145776001,0 | ||
62.22267576120188,52.06099194836679,0 | ||
77.19303492601364,70.45820000180959,1 | ||
97.77159928000232,86.7278223300282,1 | ||
62.07306379667647,96.76882412413983,1 | ||
91.56497449807442,88.69629254546599,1 | ||
79.94481794066932,74.16311935043758,1 | ||
99.2725269292572,60.99903099844988,1 | ||
90.54671411399852,43.39060180650027,1 | ||
34.52451385320009,60.39634245837173,0 | ||
50.2864961189907,49.80453881323059,0 | ||
49.58667721632031,59.80895099453265,0 | ||
97.64563396007767,68.86157272420604,1 | ||
32.57720016809309,95.59854761387875,0 | ||
74.24869136721598,69.82457122657193,1 | ||
71.79646205863379,78.45356224515052,1 | ||
75.3956114656803,85.75993667331619,1 | ||
35.28611281526193,47.02051394723416,0 | ||
56.25381749711624,39.26147251058019,0 | ||
30.05882244669796,49.59297386723685,0 | ||
44.66826172480893,66.45008614558913,0 | ||
66.56089447242954,41.09209807936973,0 | ||
40.45755098375164,97.53518548909936,1 | ||
49.07256321908844,51.88321182073966,0 | ||
80.27957401466998,92.11606081344084,1 | ||
66.74671856944039,60.99139402740988,1 | ||
32.72283304060323,43.30717306430063,0 | ||
64.0393204150601,78.03168802018232,1 | ||
72.34649422579923,96.22759296761404,1 | ||
60.45788573918959,73.09499809758037,1 | ||
58.84095621726802,75.85844831279042,1 | ||
99.82785779692128,72.36925193383885,1 | ||
47.26426910848174,88.47586499559782,1 | ||
50.45815980285988,75.80985952982456,1 | ||
60.45555629271532,42.50840943572217,0 | ||
82.22666157785568,42.71987853716458,0 | ||
88.9138964166533,69.80378889835472,1 | ||
94.83450672430196,45.69430680250754,1 | ||
67.31925746917527,66.58935317747915,1 | ||
57.23870631569862,59.51428198012956,1 | ||
80.36675600171273,90.96014789746954,1 | ||
68.46852178591112,85.59430710452014,1 | ||
42.0754545384731,78.84478600148043,0 | ||
75.47770200533905,90.42453899753964,1 | ||
78.63542434898018,96.64742716885644,1 | ||
52.34800398794107,60.76950525602592,0 | ||
94.09433112516793,77.15910509073893,1 | ||
90.44855097096364,87.50879176484702,1 | ||
55.48216114069585,35.57070347228866,0 | ||
74.49269241843041,84.84513684930135,1 | ||
89.84580670720979,45.35828361091658,1 | ||
83.48916274498238,48.38028579728175,1 | ||
42.2617008099817,87.10385094025457,1 | ||
99.31500880510394,68.77540947206617,1 | ||
55.34001756003703,64.9319380069486,1 | ||
74.77589300092767,89.52981289513276,1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
0.051267,0.69956,1 | ||
-0.092742,0.68494,1 | ||
-0.21371,0.69225,1 | ||
-0.375,0.50219,1 | ||
-0.51325,0.46564,1 | ||
-0.52477,0.2098,1 | ||
-0.39804,0.034357,1 | ||
-0.30588,-0.19225,1 | ||
0.016705,-0.40424,1 | ||
0.13191,-0.51389,1 | ||
0.38537,-0.56506,1 | ||
0.52938,-0.5212,1 | ||
0.63882,-0.24342,1 | ||
0.73675,-0.18494,1 | ||
0.54666,0.48757,1 | ||
0.322,0.5826,1 | ||
0.16647,0.53874,1 | ||
-0.046659,0.81652,1 | ||
-0.17339,0.69956,1 | ||
-0.47869,0.63377,1 | ||
-0.60541,0.59722,1 | ||
-0.62846,0.33406,1 | ||
-0.59389,0.005117,1 | ||
-0.42108,-0.27266,1 | ||
-0.11578,-0.39693,1 | ||
0.20104,-0.60161,1 | ||
0.46601,-0.53582,1 | ||
0.67339,-0.53582,1 | ||
-0.13882,0.54605,1 | ||
-0.29435,0.77997,1 | ||
-0.26555,0.96272,1 | ||
-0.16187,0.8019,1 | ||
-0.17339,0.64839,1 | ||
-0.28283,0.47295,1 | ||
-0.36348,0.31213,1 | ||
-0.30012,0.027047,1 | ||
-0.23675,-0.21418,1 | ||
-0.06394,-0.18494,1 | ||
0.062788,-0.16301,1 | ||
0.22984,-0.41155,1 | ||
0.2932,-0.2288,1 | ||
0.48329,-0.18494,1 | ||
0.64459,-0.14108,1 | ||
0.46025,0.012427,1 | ||
0.6273,0.15863,1 | ||
0.57546,0.26827,1 | ||
0.72523,0.44371,1 | ||
0.22408,0.52412,1 | ||
0.44297,0.67032,1 | ||
0.322,0.69225,1 | ||
0.13767,0.57529,1 | ||
-0.0063364,0.39985,1 | ||
-0.092742,0.55336,1 | ||
-0.20795,0.35599,1 | ||
-0.20795,0.17325,1 | ||
-0.43836,0.21711,1 | ||
-0.21947,-0.016813,1 | ||
-0.13882,-0.27266,1 | ||
0.18376,0.93348,0 | ||
0.22408,0.77997,0 | ||
0.29896,0.61915,0 | ||
0.50634,0.75804,0 | ||
0.61578,0.7288,0 | ||
0.60426,0.59722,0 | ||
0.76555,0.50219,0 | ||
0.92684,0.3633,0 | ||
0.82316,0.27558,0 | ||
0.96141,0.085526,0 | ||
0.93836,0.012427,0 | ||
0.86348,-0.082602,0 | ||
0.89804,-0.20687,0 | ||
0.85196,-0.36769,0 | ||
0.82892,-0.5212,0 | ||
0.79435,-0.55775,0 | ||
0.59274,-0.7405,0 | ||
0.51786,-0.5943,0 | ||
0.46601,-0.41886,0 | ||
0.35081,-0.57968,0 | ||
0.28744,-0.76974,0 | ||
0.085829,-0.75512,0 | ||
0.14919,-0.57968,0 | ||
-0.13306,-0.4481,0 | ||
-0.40956,-0.41155,0 | ||
-0.39228,-0.25804,0 | ||
-0.74366,-0.25804,0 | ||
-0.69758,0.041667,0 | ||
-0.75518,0.2902,0 | ||
-0.69758,0.68494,0 | ||
-0.4038,0.70687,0 | ||
-0.38076,0.91886,0 | ||
-0.50749,0.90424,0 | ||
-0.54781,0.70687,0 | ||
0.10311,0.77997,0 | ||
0.057028,0.91886,0 | ||
-0.10426,0.99196,0 | ||
-0.081221,1.1089,0 | ||
0.28744,1.087,0 | ||
0.39689,0.82383,0 | ||
0.63882,0.88962,0 | ||
0.82316,0.66301,0 | ||
0.67339,0.64108,0 | ||
1.0709,0.10015,0 | ||
-0.046659,-0.57968,0 | ||
-0.23675,-0.63816,0 | ||
-0.15035,-0.36769,0 | ||
-0.49021,-0.3019,0 | ||
-0.46717,-0.13377,0 | ||
-0.28859,-0.060673,0 | ||
-0.61118,-0.067982,0 | ||
-0.66302,-0.21418,0 | ||
-0.59965,-0.41886,0 | ||
-0.72638,-0.082602,0 | ||
-0.83007,0.31213,0 | ||
-0.72062,0.53874,0 | ||
-0.59389,0.49488,0 | ||
-0.48445,0.99927,0 | ||
-0.0063364,0.99927,0 | ||
0.63265,-0.030612,0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
The author of "jsonlab" toolbox is Qianqian Fang. Qianqian | ||
is currently an Assistant Professor at Massachusetts General Hospital, | ||
Harvard Medical School. | ||
|
||
Address: Martinos Center for Biomedical Imaging, | ||
Massachusetts General Hospital, | ||
Harvard Medical School | ||
Bldg 149, 13th St, Charlestown, MA 02129, USA | ||
URL: http://nmr.mgh.harvard.edu/~fangq/ | ||
Email: <fangq at nmr.mgh.harvard.edu> or <fangqq at gmail.com> | ||
|
||
|
||
The script loadjson.m was built upon previous works by | ||
|
||
- Nedialko Krouchev: http://www.mathworks.com/matlabcentral/fileexchange/25713 | ||
date: 2009/11/02 | ||
- François Glineur: http://www.mathworks.com/matlabcentral/fileexchange/23393 | ||
date: 2009/03/22 | ||
- Joel Feenstra: http://www.mathworks.com/matlabcentral/fileexchange/20565 | ||
date: 2008/07/03 | ||
|
||
|
||
This toolbox contains patches submitted by the following contributors: | ||
|
||
- Blake Johnson <bjohnso at bbn.com> | ||
part of revision 341 | ||
|
||
- Niclas Borlin <Niclas.Borlin at cs.umu.se> | ||
various fixes in revision 394, including | ||
- loadjson crashes for all-zero sparse matrix. | ||
- loadjson crashes for empty sparse matrix. | ||
- Non-zero size of 0-by-N and N-by-0 empty matrices is lost after savejson/loadjson. | ||
- loadjson crashes for sparse real column vector. | ||
- loadjson crashes for sparse complex column vector. | ||
- Data is corrupted by savejson for sparse real row vector. | ||
- savejson crashes for sparse complex row vector. | ||
|
||
- Yul Kang <yul.kang.on at gmail.com> | ||
patches for svn revision 415. | ||
- savejson saves an empty cell array as [] instead of null | ||
- loadjson differentiates an empty struct from an empty array |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
============================================================================ | ||
|
||
JSONlab - a toolbox to encode/decode JSON/UBJSON files in MATLAB/Octave | ||
|
||
---------------------------------------------------------------------------- | ||
|
||
JSONlab ChangeLog (key features marked by *): | ||
|
||
== JSONlab 1.0 (codename: Optimus - Final), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2015/01/02 polish help info for all major functions, update examples, finalize 1.0 | ||
2014/12/19 fix a bug to strictly respect NoRowBracket in savejson | ||
|
||
== JSONlab 1.0.0-RC2 (codename: Optimus - RC2), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2014/11/22 show progress bar in loadjson ('ShowProgress') | ||
2014/11/17 add Compact option in savejson to output compact JSON format ('Compact') | ||
2014/11/17 add FastArrayParser in loadjson to specify fast parser applicable levels | ||
2014/09/18 start official github mirror: https://github.com/fangq/jsonlab | ||
|
||
== JSONlab 1.0.0-RC1 (codename: Optimus - RC1), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2014/09/17 fix several compatibility issues when running on octave versions 3.2-3.8 | ||
2014/09/17 support 2D cell and struct arrays in both savejson and saveubjson | ||
2014/08/04 escape special characters in a JSON string | ||
2014/02/16 fix a bug when saving ubjson files | ||
|
||
== JSONlab 0.9.9 (codename: Optimus - beta), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2014/01/22 use binary read and write in saveubjson and loadubjson | ||
|
||
== JSONlab 0.9.8-1 (codename: Optimus - alpha update 1), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2013/10/07 better round-trip conservation for empty arrays and structs (patch submitted by Yul Kang) | ||
|
||
== JSONlab 0.9.8 (codename: Optimus - alpha), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
2013/08/23 *universal Binary JSON (UBJSON) support, including both saveubjson and loadubjson | ||
|
||
== JSONlab 0.9.1 (codename: Rodimus, update 1), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
2012/12/18 *handling of various empty and sparse matrices (fixes submitted by Niclas Borlin) | ||
|
||
== JSONlab 0.9.0 (codename: Rodimus), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2012/06/17 *new format for an invalid leading char, unpacking hex code in savejson | ||
2012/06/01 support JSONP in savejson | ||
2012/05/25 fix the empty cell bug (reported by Cyril Davin) | ||
2012/04/05 savejson can save to a file (suggested by Patrick Rapin) | ||
|
||
== JSONlab 0.8.1 (codename: Sentiel, Update 1), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2012/02/28 loadjson quotation mark escape bug, see http://bit.ly/yyk1nS | ||
2012/01/25 patch to handle root-less objects, contributed by Blake Johnson | ||
|
||
== JSONlab 0.8.0 (codename: Sentiel), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2012/01/13 *speed up loadjson by 20 fold when parsing large data arrays in matlab | ||
2012/01/11 remove row bracket if an array has 1 element, suggested by Mykel Kochenderfer | ||
2011/12/22 *accept sequence of 'param',value input in savejson and loadjson | ||
2011/11/18 fix struct array bug reported by Mykel Kochenderfer | ||
|
||
== JSONlab 0.5.1 (codename: Nexus Update 1), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2011/10/21 fix a bug in loadjson, previous code does not use any of the acceleration | ||
2011/10/20 loadjson supports JSON collections - concatenated JSON objects | ||
|
||
== JSONlab 0.5.0 (codename: Nexus), FangQ <fangq (at) nmr.mgh.harvard.edu> == | ||
|
||
2011/10/16 package and release jsonlab 0.5.0 | ||
2011/10/15 *add json demo and regression test, support cpx numbers, fix double quote bug | ||
2011/10/11 *speed up readjson dramatically, interpret _Array* tags, show data in root level | ||
2011/10/10 create jsonlab project, start jsonlab website, add online documentation | ||
2011/10/07 *speed up savejson by 25x using sprintf instead of mat2str, add options support | ||
2011/10/06 *savejson works for structs, cells and arrays | ||
2011/09/09 derive loadjson from JSON parser from MATLAB Central, draft savejson.m |
Oops, something went wrong.