diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..e793177 Binary files /dev/null and b/.DS_Store differ diff --git a/MLPP/Activation/Activation.cpp b/MLPP/Activation/Activation.cpp index c41c7aa..e5483aa 100644 --- a/MLPP/Activation/Activation.cpp +++ b/MLPP/Activation/Activation.cpp @@ -276,39 +276,19 @@ namespace MLPP{ } std::vector Activation::swish(std::vector z, bool deriv){ + LinAlg alg; if(deriv){ - std::vector deriv; - deriv.resize(z.size()); - for(int i = 0; i < z.size(); i++){ - deriv[i] = swish(z[i], 1); - } - return deriv; + alg.addition(swish(z), alg.subtraction(sigmoid(z), alg.hadamard_product(sigmoid(z), swish(z)))); } - std::vector a; - a.resize(z.size()); - - for(int i = 0; i < a.size(); i++){ - a[i] = swish(z[i]); - } - return a; + return alg.hadamard_product(z, sigmoid(z)); } std::vector> Activation::swish(std::vector> z, bool deriv){ + LinAlg alg; if(deriv){ - std::vector> deriv; - deriv.resize(z.size()); - for(int i = 0; i < z.size(); i++){ - deriv[i] = swish(z[i], 1); - } - return deriv; + alg.addition(swish(z), alg.subtraction(sigmoid(z), alg.hadamard_product(sigmoid(z), swish(z)))); } - std::vector> a; - a.resize(z.size()); - - for(int i = 0; i < a.size(); i++){ - a[i] = swish(z[i]); - } - return a; + return alg.hadamard_product(z, sigmoid(z)); } double Activation::RELU(double z, bool deriv){ diff --git a/SharedLib/.DS_Store b/SharedLib/.DS_Store new file mode 100644 index 0000000..e793177 Binary files /dev/null and b/SharedLib/.DS_Store differ diff --git a/SharedLib/ANN.o b/SharedLib/ANN.o new file mode 100644 index 0000000..12b75e2 Binary files /dev/null and b/SharedLib/ANN.o differ diff --git a/SharedLib/Activation.o b/SharedLib/Activation.o new file mode 100644 index 0000000..6bf276b Binary files /dev/null and b/SharedLib/Activation.o differ diff --git a/SharedLib/AutoEncoder.o b/SharedLib/AutoEncoder.o new file mode 100644 index 0000000..df40104 Binary files /dev/null and b/SharedLib/AutoEncoder.o differ diff --git a/SharedLib/BernoulliNB.o b/SharedLib/BernoulliNB.o new file mode 100644 index 0000000..e797a0a Binary files /dev/null and b/SharedLib/BernoulliNB.o differ diff --git a/SharedLib/CLogLogReg.o b/SharedLib/CLogLogReg.o new file mode 100644 index 0000000..744458a Binary files /dev/null and b/SharedLib/CLogLogReg.o differ diff --git a/SharedLib/Convolutions.o b/SharedLib/Convolutions.o new file mode 100644 index 0000000..65d2744 Binary files /dev/null and b/SharedLib/Convolutions.o differ diff --git a/SharedLib/Cost.o b/SharedLib/Cost.o new file mode 100644 index 0000000..0f4ec71 Binary files /dev/null and b/SharedLib/Cost.o differ diff --git a/SharedLib/Data.o b/SharedLib/Data.o new file mode 100644 index 0000000..11dd654 Binary files /dev/null and b/SharedLib/Data.o differ diff --git a/SharedLib/ExpReg.o b/SharedLib/ExpReg.o new file mode 100644 index 0000000..e77205d Binary files /dev/null and b/SharedLib/ExpReg.o differ diff --git a/SharedLib/GaussianNB.o b/SharedLib/GaussianNB.o new file mode 100644 index 0000000..1fca36d Binary files /dev/null and b/SharedLib/GaussianNB.o differ diff --git a/SharedLib/HiddenLayer.o b/SharedLib/HiddenLayer.o new file mode 100644 index 0000000..400fd3b Binary files /dev/null and b/SharedLib/HiddenLayer.o differ diff --git a/SharedLib/KMeans.o b/SharedLib/KMeans.o new file mode 100644 index 0000000..c7ceb02 Binary files /dev/null and b/SharedLib/KMeans.o differ diff --git a/SharedLib/LinAlg.o b/SharedLib/LinAlg.o new file mode 100644 index 0000000..a31c240 Binary files /dev/null and b/SharedLib/LinAlg.o differ diff --git a/SharedLib/LinReg.o b/SharedLib/LinReg.o new file mode 100644 index 0000000..dc3637e Binary files /dev/null and b/SharedLib/LinReg.o differ diff --git a/SharedLib/LogReg.o b/SharedLib/LogReg.o new file mode 100644 index 0000000..cdaba08 Binary files /dev/null and b/SharedLib/LogReg.o differ diff --git a/SharedLib/MLP.o b/SharedLib/MLP.o new file mode 100644 index 0000000..d615d90 Binary files /dev/null and b/SharedLib/MLP.o differ diff --git a/SharedLib/MLPP.so b/SharedLib/MLPP.so new file mode 100755 index 0000000..0630328 Binary files /dev/null and b/SharedLib/MLPP.so differ diff --git a/SharedLib/MultinomialNB.o b/SharedLib/MultinomialNB.o new file mode 100644 index 0000000..0beb098 Binary files /dev/null and b/SharedLib/MultinomialNB.o differ diff --git a/SharedLib/OutlierFinder.o b/SharedLib/OutlierFinder.o new file mode 100644 index 0000000..6859ced Binary files /dev/null and b/SharedLib/OutlierFinder.o differ diff --git a/SharedLib/OutputLayer.o b/SharedLib/OutputLayer.o new file mode 100644 index 0000000..103e9c1 Binary files /dev/null and b/SharedLib/OutputLayer.o differ diff --git a/SharedLib/PCA.o b/SharedLib/PCA.o new file mode 100644 index 0000000..be36ffb Binary files /dev/null and b/SharedLib/PCA.o differ diff --git a/SharedLib/ProbitReg.o b/SharedLib/ProbitReg.o new file mode 100644 index 0000000..ff8397f Binary files /dev/null and b/SharedLib/ProbitReg.o differ diff --git a/SharedLib/Reg.o b/SharedLib/Reg.o new file mode 100644 index 0000000..6d46b2a Binary files /dev/null and b/SharedLib/Reg.o differ diff --git a/SharedLib/SoftmaxNet.o b/SharedLib/SoftmaxNet.o new file mode 100644 index 0000000..d7442cc Binary files /dev/null and b/SharedLib/SoftmaxNet.o differ diff --git a/SharedLib/SoftmaxReg.o b/SharedLib/SoftmaxReg.o new file mode 100644 index 0000000..c6648f2 Binary files /dev/null and b/SharedLib/SoftmaxReg.o differ diff --git a/SharedLib/Stat.o b/SharedLib/Stat.o new file mode 100644 index 0000000..a8fd75f Binary files /dev/null and b/SharedLib/Stat.o differ diff --git a/SharedLib/TanhReg.o b/SharedLib/TanhReg.o new file mode 100644 index 0000000..5c79a77 Binary files /dev/null and b/SharedLib/TanhReg.o differ diff --git a/SharedLib/UniLinReg.o b/SharedLib/UniLinReg.o new file mode 100644 index 0000000..30bbd20 Binary files /dev/null and b/SharedLib/UniLinReg.o differ diff --git a/SharedLib/Utilities.o b/SharedLib/Utilities.o new file mode 100644 index 0000000..d1c9178 Binary files /dev/null and b/SharedLib/Utilities.o differ diff --git a/SharedLib/kNN.o b/SharedLib/kNN.o new file mode 100644 index 0000000..8461bc0 Binary files /dev/null and b/SharedLib/kNN.o differ diff --git a/a.out b/a.out new file mode 100755 index 0000000..e791741 Binary files /dev/null and b/a.out differ diff --git a/main.cpp b/main.cpp index e8b0417..1fff15d 100644 --- a/main.cpp +++ b/main.cpp @@ -224,14 +224,14 @@ int main() { // // DYNAMICALLY SIZED ANN // // Possible Weight Init Methods: Default, Uniform, HeNormal, HeUniform, XavierNormal, XavierUniform - // // Possible Activations: Linear, Sigmoid, Swish, CLogLog, Ar{Sinh, Cosh, Tanh, Csch, Sech, Coth}, GaussianCDF, GELU, UnitStep + // // Possible Activations: Linear, Sigmoid, Swish, Softplus, CLogLog, Ar{Sinh, Cosh, Tanh, Csch, Sech, Coth}, GaussianCDF, GELU, UnitStep // // Possible Loss Functions: MSE, RMSE, MBE, LogLoss, CrossEntropy, HingeLoss // std::vector> inputSet = {{0,0,1,1}, {0,1,0,1}}; // std::vector outputSet = {0,1,1,0}; // ANN ann(alg.transpose(inputSet), outputSet); // ann.addLayer(10, "RELU", "Default", "Ridge", 0.0001); // ann.addLayer(10, "Sigmoid", "Default"); - // ann.addOutputLayer("Sigmoid", "LogLoss", "XavierNormal"); + // ann.addOutputLayer("Softplus", "LogLoss", "XavierNormal"); // ann.gradientDescent(0.1, 80000, 0); // alg.printVector(ann.modelSetTest(alg.transpose(inputSet))); // std::cout << "ACCURACY: " << 100 * ann.score() << "%" << std::endl; @@ -348,8 +348,20 @@ int main() { // OutlierFinder outlierFinder(2); // Any datapoint outside of 2 stds from the mean is marked as an outlier. // alg.printVector(outlierFinder.modelTest(inputSet)); - // // Testing for new Functions + // Testing for new Functions + double z_s = 4; + std::cout << avn.swish(z_s) << std::endl; + std::cout << avn.swish(z_s, 1) << std::endl; + + std::vector z_v = {4, 5}; + alg.printVector(avn.swish(z_v)); + alg.printVector(avn.swish(z_v, 1)); + + std::vector> Z_m = {{4, 5}}; + alg.printMatrix(avn.swish(Z_m)); + alg.printMatrix(avn.swish(Z_m, 1)); // alg.printMatrix(alg.pinverse({{1,2}, {3,4}})); + return 0; } \ No newline at end of file