The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here

Support Vector Table understanding

elgolubevaelgolubeva Member Posts: 10 Contributor II
edited November 2018 in Help

Good evening!

1. Could you please explain what does "function value" in Support Vector Table mean?

2. I know that for every attribute its weight w = sum_{i=1}^{i=N} (alpha_i * x_i).

 It seems that the weight from Weight Table is equal to such sum, where alpha_i and x_i are values from Support Vector Table.

Why are the attrubute values x_i multiplied in this table on some coefficients? For example in the input example set the attribute "Outlook=rain" had values:

0.0
0.0
0.0
1.0
1.0
1.0

and in Support Vector Table this attribute has values:

0.0
0.0
0.0
1.3416407864998736
1.3416407864998736
1.3416407864998736

.

3. I tried to understand the meaning of alpha here: 

https://www.quora.com/What-does-the-alpha-mean-in-the-dual-form-of-the-SVM-optimization-problem.

It is said: "if the positive training example has been correctly classified above the margin by the optimal w, the corresponding alpha = 0".

Is the converse true: if alpha = 0 then the positive training example has been correctly classified above the margin by the optimal w? 

 

How can I use information about alpha values and support vectors to adjust the SVM operator and to get better performance?

 

Thank you very much for the help.

 

 

Tagged:

Answers

  • elgolubevaelgolubeva Member Posts: 10 Contributor II

    Good morning!

    I found an answer to the question 3 myself.

     

    But could you please explain what does "function value" in Support Vector Table mean? And how it can be obtained from other columns of Support Vector Table?

     

    Thanks in advance.

    Elizaveta

  • sgenzersgenzer Administrator, Moderator, Employee-RapidMiner, RapidMiner Certified Analyst, Community Manager, Member, University Professor, PM Moderator Posts: 2,959 Community Manager

    hello @elgolubeva - I'm sorry no one has gotten back to you about your question about support vector tables.  Have you watched the videos on our YouTube channel about SVMs?  They are quite good and may give you the information you need:

     

     

    "Ingo deep dives into Support Vector Machines"

    "5 Minutes With Ingo: Understanding Support Vector Machines"

    and lots more: https://www.youtube.com/results?search_query=support+vector+machine+rapidminer

     

    Scott

     

     

     

  • elgolubevaelgolubeva Member Posts: 10 Contributor II

    Scott, thank you very much, but in these videos I couldn't find the answer.

    I have got basic theoretical understanding of SVM and try to use it in practice.

    But I can't understand what the third column of the Support Vector Table ("function value") means. What function is meant?

    Is it concerned with decision function  a(x) = sign((w,x) + b)  ?

  • elgolubevaelgolubeva Member Posts: 10 Contributor II

    Function value in Support Vector Table is really k(w,x) + b, where k(*,*) is kernel function, b is bias(offset). 

    I didn't recognize first that kernel type was not dot.

     

    Could you please tell me what method of scaling is used in SVM? ("scale" check box option)

    I found this topic

    https://community.rapidminer.com/t5/RapidMiner-Studio-Forum/SVM-Operator-How-does-it-Scale-Data/m-p/11271

    but it seems that it is not range scaling. 

    I tried different methods of normalization, but couldn't get the same attribute values as in Support Vector Table.

    Here is a simple code. Any ideas by what formula the attributes are scaled?

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="5.3.015">
    <context>
    <input/>
    <output/>
    <macros/>
    </context>
    <operator activated="true" class="process" compatibility="5.3.015" expanded="true" name="Process">
    <process expanded="true">
    <operator activated="true" class="retrieve" compatibility="5.3.015" expanded="true" height="60" name="Golf" width="90" x="45" y="30">
    <parameter key="repository_entry" value="//Samples/data/Golf"/>
    </operator>
    <operator activated="true" class="nominal_to_numerical" compatibility="5.2.008" expanded="true" height="94" name="Nominal to Numerical" width="90" x="179" y="30">
    <parameter key="coding_type" value="dummy coding"/>
    <list key="comparison_groups"/>
    </operator>
    <operator activated="true" class="support_vector_machine" compatibility="5.3.015" expanded="true" height="112" name="SVM" width="90" x="313" y="30">
    <parameter key="C" value="1.0"/>
    </operator>
    <connect from_op="Golf" from_port="output" to_op="Nominal to Numerical" to_port="example set input"/>
    <connect from_op="Nominal to Numerical" from_port="example set output" to_op="SVM" to_port="training set"/>
    <portSpacing port="source_input 1" spacing="0"/>
    <portSpacing port="sink_result 1" spacing="0"/>
    </process>
    </operator>
    </process>
Sign In or Register to comment.