Difference between software's and machine learning in AI


Software and machine learning is used in same context for providing solution to a real life problems which human faces in there daily life's like the accounting system , banking system , online ticketing system etc . Each software solution mentioned above can be developed by both the techniques through classical software development and through machine learning also . But choosing right one to use is based on design decisions and problem domain . Lets take an example of accounting solutions

For developing accounting solutions through classic software . you need to write all business logic related to the accounting . You have to write all rule from scientific accounting methods of 1800 century which was already developed for accounting in business logic of a software . And to develop same solution in machine learning you have to train model with all accounts transaction of a company of 10 years and you also have to train model for almost 100 companies to make to write accurate business rules for you

Methodology difference between classical software development and machine learning

In Software development solution is developed based on business rules written by human to process and save data in the memory (Databases) and use that data when needed . But in machine learning solutions are developed through data. Machine will take data to make business rules for future use . It will create program to put data again in it . It will create executable files for future use as an example

If we want to business rule in software development we write in C as
int x=0;
printf("hello world");
this above code will print hello world whenever x value is greater than 2 . But to print same hello world in machine learning you have to train model with following table data . So that it will print x when x is greater than 2. behind code it will write same business logic as above
|1 | no
|2 | no
|3 | yes
|4 | yes
|5 | yes
If you didn't get this don't worry . I will clear this in upcoming posts .

The above discussion raises question in our mind that which technique is more suitable for which kind of solutions . simple answer is if problem solution is available in mathematics representation then it is right to choose classical software development techniques like using (Procedural or Object orientation programming) and for those whose mathematical representation is not available or not created by scientist till date we should go for machine learning techniques (Deep Learning techniques) . As an example we have old scientific accounting system developed in 1800 century which is available to write business logic's than we should use classical software development rather than Machine learning ( ML ) . And for speech recognition system we don't have mathematical representation we should go for machine learning ( ML ) .

In Practical life both techniques are used simultaneously . Software is used to provide data pipeline to the machine learning ( ML ) techniques . As Machine learning algorithms take only integers or numeric values . We need to convert our voice or image to numeric values ( sound or image recognition system ) which afterwards feed to the machine learning ( ML ) to process the data we need classical software techniques only . Consider human as solution to some problem . Its eye ,ears hands all of this is data input pipelines which is eventually is classical software techniques which passes data input to brain . and consider brain as machine learning techniques which learns from data input.


Software development technique is different from machine learning in terms of solution Development . In Software development human write business rules where as in machine learning business rules are written by machine itself . Machine learning works as brain in solution development .

Learn more about me here

You can join our facebook group for more tutorials update

Taher Deep learning Engineer

Related Posts

Taher :- November 6, 2018

Very good post