{"id":24143811,"url":"https://github.com/dnbaker/stochasticsvm","last_synced_at":"2025-06-26T18:33:06.084Z","repository":{"id":94818723,"uuid":"87602748","full_name":"dnbaker/stochasticSVM","owner":"dnbaker","description":"SVM trained by the PEGASOS Stochastic Subgradient Descent algorithm","archived":false,"fork":false,"pushed_at":"2018-10-24T20:13:02.000Z","size":6979,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-01T14:32:54.753Z","etag":null,"topics":["classification","kernel-methods","pegasos","svm"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dnbaker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-08T02:44:21.000Z","updated_at":"2022-11-30T06:41:34.000Z","dependencies_parsed_at":"2023-04-24T06:02:26.525Z","dependency_job_id":null,"html_url":"https://github.com/dnbaker/stochasticSVM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dnbaker/stochasticSVM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnbaker%2FstochasticSVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnbaker%2FstochasticSVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnbaker%2FstochasticSVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnbaker%2FstochasticSVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dnbaker","download_url":"https://codeload.github.com/dnbaker/stochasticSVM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnbaker%2FstochasticSVM/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262123038,"owners_count":23262517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classification","kernel-methods","pegasos","svm"],"created_at":"2025-01-12T05:45:34.230Z","updated_at":"2025-06-26T18:33:06.047Z","avatar_url":"https://github.com/dnbaker.png","language":"C++","readme":"# stochasticSVM\n\n## Description\nAn implementation of PEGASOS, powered by [Blaze](https://bitbucket.org/blaze-lib).\n\nComplete: linear [[reference]](http://ttic.uchicago.edu/~shai/papers/SSSICML08.pdf). kernel. [[reference]](http://ttic.uchicago.edu/~nati/Publications/PegasosMPB.pdf).\n\nIncomplete: Randomized Fourier Feature and Forgetron/Budgeted kernel algorithms.\n\nThe linear method is notable for training-time with inverse dependence on dataset size.\nThe kernel method runtime does increase with the number of datapoints, but unlike static solvers, the gradient descent method only has linear memory requirements.\n\nEfforts will eventually be made to accommodate multiclass classification, though binary is the only form currently supported.\n\nData may be provided in either sparse SVM form (SVM-light format) or a dense tab-delimited format.\n\n## Dependencies\n|Dependency | Reference | Comments |\n|-|-|-|\n|[Blaze](https://bitbucket.org/blaze-lib)|[K. Iglberger, et al.: Expression Templates Revisited: A Performance Analysis of Current Methodologies. SIAM Journal on Scientific Computing, 34(2): C42--C69, 2012](http://epubs.siam.org/sisc/resource/1/sjoce3/v34/i2/pC42_s1)|For optimal performance, this should be linked against BLAS and parallelized, as controlled in blaze/blaze/config/BLAS.h|\n|C++14||DenseSVM is currently only tested on gcc under 5.2 and 6.3|\n|OpenMP||OpenMP is currently required for certain operations, but this requirement could be easily removed.|\n\nBlaze leverages SIMD, BLAS, and expression template metaprogramming for state-of-the-art linear algebra performance.\n\n## Building\n\nSimply ``make``.\n\nIf you wish to use floats instead of doubles, which can be twice as fast in arithmetic operations due to SIMD, use ``make FLOAT_TYPE=float``.\n\n## TODO\n\n0. Add simple streaming classifier using already-built SVM.\n1. Expand to multiclass.\n2. Add Random Fourier Feature extractor.\n  1. Add Hadamard/Fourier \"FastFood\" adaptor.\n  2. Consider attempting to outperform F2F.\n3. Consider compressive projections.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnbaker%2Fstochasticsvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdnbaker%2Fstochasticsvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnbaker%2Fstochasticsvm/lists"}