First of all we need to see How a ML algorithm is working. Here is the schema.

A ML process takes these steps,

- Take the
**training set .** **Train**your ML system with training set by the algorithm you select.- Get an
**hypothesis function**after all the training period. - Get your next instances and
**estimate next output**.

After knowing how ML process work, we need to aware of the process of defining a ML solution to a problem involves these steps.

- Interpret and think about efficient
**representation**of your instances. For example define a instance as (x_{i},y_{i}) where i means the i the instance of your set. **Define the measurement**of success for your machine learning solution. What is your performance measure. Is this the accuracy or what?**Define a Hypothesis**function representation. Do you want to get a linear function to separate different classes or more sophisticated ones.**Define the algorithm you use.**According to your pick of hypo. function you need to select your algorithm that might be useful to get such a hypo. function.**Implement**your algorithm. In addition most ML professional choose to use some script languages like**MATLAB**or**OCTAVE**to test their ML algorithm first. After they see that it is working as expected they implement it with the language they actually need. They are in that way since MATLAB and OCTAVE are really good and well developed languages to implement such ML algorithm in really small number of lines. They includes lots of pre-developed math, linear and scientific functions that makes your job really easy. Thus I really suggest to use these two to test your ML program beforehand.