Machine Learning

Yoyman Manuel Castellar Miranda
7 min readJul 6, 2020

In this blog I want to share about machine learning in Spanish it would be something like (Aprendizaje automático), . It is a subfield of artificial ineligence.

In general traditional programming tries to create a program from a series of steps (algorithms) to give a solution or solve a problem, and to function the program expects to receive certain data through a user, unlike machine learning the same program automatically collects that data without the need for a user to provide that information, that is why the program is automated and works in a certain way by itself and continuously improves. Every day more and more information of all kinds is stored and machine learning related to the statistical field consists of extracting and recognizing patterns and trends to understand what the data tells us.

A clear example of how maching learning helps us on a daily basis is when we are on a streaming platform to see a movie or series and based on video that you have recently seen, it will make recommendations based on your tastes, on platforms such as YouTube it can see very clearly. Machine learning has been very helpful for traditional software, such as social networks when we want to access with our user, we have the possibility of accessing through facial recognition, just using an image of our face to access a platform, this it helps us to see the technologies as something that helps us to have information more quickly and easily.

Practical uses of Machine learning

Computer security, attack diagnosis, online fraud prevention, anomaly detection, etc.

Image or pattern recognition (facial, fingerprint, objects, voice, etc.)

Autonomous driving, using deep learning algorithms: identification of images in real time, detection of obstacles and traffic signs, accident prevention.

Health: automatic evaluation of diagnostic tests, medical robotics, etc.

Stock market analysis (financial predictions, market developments etc) Recommendation engines

Machine Learning Applications

Machine learning can be divided in two ways, supervised learning and unsupervised learning.

Supervised learning

In Supervised Learning the data for the training includes the desired solution, called “labels”. A clear example is when classifying incoming mail between Spam or not.

In supervised learning, algorithms work with “labeled data”, trying to find a function that, given the input variables, assigns them the appropriate output tag. The algorithm trains with a “history” of data and thus “learns” to assign the appropriate output tag to a new value, that is, it predicts the output value.

For example, a spam detector analyzes the message history, seeing what function it can represent, according to the input parameters that are defined (the sender, if the recipient is individual or part of a list, if the subject contains certain terms, etc. ), assigning the tag “spam” or “is not spam”. Once this function is defined, when introducing a new untagged message, the algorithm is able to assign it the correct tag.

Supervised learning is often used in: Classification problems (digit identification, diagnostics, or detection of identity fraud). Regression problems (weather predictions, life expectancy, growth, etc.).

Unsupervised Learning

In unsupervised learning, the training data does not include labels, and the algorithm will attempt to classify or decipher the information on its own. An example in which it is used is to group the information collected about users on a website or in an application and that our Intelligence detects various characteristics that they have in common.

Unlike supervised learning algorithms, unsupervised ones do not require the correct answer in the training data. Since the reproduction of a known result is not sought, but the discovery of new patterns or results.

These problems appear to be more complex than the previous ones. Since the model is expected to learn without saying what. The most common problems in this type of learning are those of cluster. These search groups of records that are similar to each other and, at the same time, different from the rest. Once the groups have been obtained, a classification must be assigned to each one, which may or may not be known before training the model. Which often leads to the discovery of unknown patterns. For example, in a store, customer grouping can lead to differences between loyal or convenience customers. At the same time discovering other categories of these that were previously unknown. These new groups can then be used to run specific campaigns by being able to identify your common interests and preferences.

Programming languages

It is an artificial language designed to express computations that can be carried out by machines such as computers. They can be used to create programs that control the physical and logical behavior of a machine, to express algorithms with precision, or as a mode of human communication.

Also the word programming is defined as the process of creating a computer program, by applying logical procedures.

There is a common mistake that treats the terms ‘programming language’ and ‘computer language’ by synonyms. Computer languages ​​encompass programming languages ​​and others, such as HTML. (language for the markup of web pages that is not properly a programming language but a set of instructions that allow to design the content and the text of the documents)

What are programming languages ​​for?

In general, a programming language is used for programming. However, each one has a different scope and form of communication.

In short, the low-level language allows the internal communication of the machine, each instruction has its unique operation code.

And the high-level language facilitates the capture of instructions that the programmer gives to the machine, while it enters data in the known language, the machine absorbs it into machine language through translators or compilers, thus allowing:

  1. Reduce programming time;

2. More easily understand the task to be performed;

3. Allow the programmer to disconnect from the internal operation of the machine, among others.

Top 5 best Programming Languages for Artificial Intelligence field

If it’s like you are working on a new artificial intelligence project and still have not decided which language you should use to program it, then you are at a right place.
Artificial Intelligence is a branch of engineering, which basically aims for making the computers which can think intelligently, in the similar manner the intelligent humans think. Here are the top languages that are most commonly used for making the AI projects:

1. Python
Python is considered to be in the first place in the list of all AI development languages due to the simplicity. The syntaxes belonging to python are very simple and can be easily learnt. Therefore, many AI algorithms can be easily implemented in it. Python takes short development time in comparison to other languages like Java, C++ or Ruby. Python supports object oriented, functional as well as procedure oriented styles of programming. There are plenty of libraries in python, which make our tasks easier. For example: Numpy is a library for python that helps us to solve many scientific computations. Also, we have Pybrain, which is for using machine learning in Python.

2. R
R is one of the most effective language and environment for analyzing and manipulating the data for statistical purposes. Using R, we can easily produce well-designed publication-quality plot, including mathematical symbols and formulae where needed. Apart from being a general purpose language, R has numerous of packages like RODBC, Gmodels, Class and Tm which are used in the field of machine learning. These packages make the implementation of machine learning algorithms easy, for cracking the business associated problems.

3. Lisp
Lisp is one of the oldest and the most suited languages for the development in AI. It was invented by John McCarthy, the father of Artificial Intelligence in 1958. It has the capability of processing the symbolic information effectively.
It is also known for its excellent prototyping capabilities and easy dynamic creation of new objects, with automatic garbage collection. Its development cycle allows interactive evaluation of expressions and recompilation of functions or file while the program is still running. Over the years, due to advancement, many of these features have migrated into many other languages thereby affecting the uniqueness of Lisp.
4. Prolog
This language stays alongside Lisp when we talk about development in AI field. The features provided by it include efficient pattern matching, tree-based data structuring and automatic backtracking. All these features provide a surprisingly powerful and flexible programming framework. Prolog is widely used for working on medical projects and also for designing expert AI systems.

5. Java
Java can also be considered as a good choice for AI development. Artificial intelligence has lot to do with search algorithms, artificial neural networks and genetic programming. Java provides many benefits: easy use, debugging ease, package services, simplified work with large-scale projects, graphical representation of data and better user interaction. It also has the incorporation of Swing and SWT (the Standard Widget Toolkit). These tools make graphics and interfaces look appealing and sophisticated.

Taken from https://www.geeksforgeeks.org/top-5-best-programming-languages-for-artificial-intelligence-field/

Conclusion

Machine Learning is a new key tool that will enable the development of a better future for man by providing intelligence to robots, cars and houses. The Smart Cities, the IOT are already becoming a reality and also the Machine Learning applications in Assistants such as Siri, the recommendations of Netflix or Navigation Systems in Drones. For engineers or computer scientists, it is a fundamental discipline to help create and navigate this new future.

Thanks!!

--

--