Coder Social home page Coder Social logo

cvx-svm's People

Contributors

mkturkcan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

saadmahboob

cvx-svm's Issues

Error in cvx_svm_train.py

Hello, bro. I'm a master student major in machine learning. I am now learning about cvx and tried to use it to solve svm. During experiments, I found it seemed that your code didn't work with poly kernel. Finally, I found it is caused by your wrong code in the computation of svm_bias. Here is my correct code, which has been tested for many times.

function [model] = cvx_svm_train(X,Y,varargin)

if isempty(varargin)
    model = cvx_svm_init();
else
    model = varargin{1};
end

K = cvx_svm_kernel(X,X,model);
M = size(X,1);
cvx_begin
    cvx_solver SeDuMi
    cvx_precision best
    
    variable svm_beta(M);
    minimize (0.5.*quad_form(Y.*svm_beta,K) - ones(M,1)'*(svm_beta));
    subject to
        svm_beta >= 0;
        svm_beta <= model.C;
        Y'*(svm_beta) == 0;
cvx_end
%svm_beta(svm_beta<10^-5)=0;
model.X = X(svm_beta>10^-5,:);
model.Y = Y(svm_beta>10^-5);
svm_beta = svm_beta(svm_beta>10^-5);
model.svm_beta = svm_beta;
K = cvx_svm_kernel(model.X,model.X,model);
disp(size(K*(model.svm_beta.*model.Y)))
model.svm_bias = mean(model.Y-K*(model.svm_beta.*model.Y));
K = cvx_svm_kernel(X,model.X,model);
model.training_accuracy = mean((double(K*(model.svm_beta.*model.Y)+model.svm_bias>0)*2-1)==Y);

end

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.