Table of Contents
What is machine learning, and why is it important?
Machine learning is the process of computers learning with the aid of algorithms. It is used in self driving cars, facial recognition, and to predict elections. It is important because it helps computers learn and make logical decisions rather than just perform specific tasks. Without machine learning, many modern computer programs could not exist. With the help of machine learning, computer programs can perform tasks without human supervision.
Today’s computers do many things, from search engines to self driving cars. They are getting better at all of these tasks. But for a computer to really excel at something it needs way more than just a good algorithm. It needs to be smarter than the humans who programmed it. One of the most obvious ways to make a computer smarter is through machine learning and artificial intelligence (AI). When a computer learns by itself, it’s common to call the computer an “artificial intelligence.”

The basics of Julia machine learning
Julia is a dynamic programming language with high productivity, ease of use and also performance. It has many libraries for neural networks and machine learning. The Julia ecosystem of packages can be used to extend Julia beyond the core language. For example, the StatsBase package provides functions for linear and logistic regression. The package “categorical_crossentropy” can be used to train a logistic regression model with cross entropy as a loss function. The underlying code is actually written in the “rgl” library in the statistical R language.
The statistical function “rgl” can be used to estimate confidence intervals, generate predictions and compare results from different models. This article demonstrates how to do these tasks using Julia instead of the R language.
In addition, Julia provides extensive support for unstructured data and data processing (e.g., reading and writing of CSV, JSON and XML files). This is especially useful for non-structured data such as text or images. Julia also provides a good toolbox for parallel computing.

How to use Julia for machine learning tasks
Julia provides a clear and convenient syntax. The StatsBase package uses high-performance C implementations of linear algebra and statistics routines. The Machine Learning module includes many useful algorithms with a unified interface. The built-in plotting functionality is also very useful for visualizing the results of experiments.
For an introduction to the basic machine learning techniques, see: https://cran.r-project.org/web/packages/statsbase/dist/doc/vignettes /
A guide to using the Machine Learning package can be found at: http://web.cecs.pdx.edu/~natewoo/mlguide/
To get started with machine learning, follow these steps:
1. Install the StatsBase package and its dependencies. We recommend that you install these packages from the Julia package repository (and not from the UNIX Terminal). This should allow you to run any sample program from any package. For example: julia> Pkg.add(“StatsBase”) ; julia> Pkg.add(“StatsBase.Pmv”) ; julia> Pkg.add(“StatsBase.Distributions”) ; julia> Pkg.add(“StatsBase.Normal”) ;
2. Load the Machine Learning module, and initialize it with the number of processors to use:
julia> using StatsBase, Distributions, Normal; julia> using DataFrames ; julia> using DistributedDataFrames; julia> using ProcessingPool; julia> machine_learning = MachineLearning(4);

Examples of real-world applications for Julia machine learning
Financial analytics. Julia has been applied to financial risk analytics in the context of emerging markets.
Electronic Manufacturing. Julia has been used to develop a mathematical model for the management of electronic manufacturing processes
Medical imaging. Julia has been used to analyze medical images, extracting features and classifying tissue types.
Weather forecasting. The surface pressure and wind speed in three layers of the atmosphere: on land, at 1km altitude, and at 10 km altitude can be computed together with an atmospheric state like temperature or humidity for each layer using a 4D data cube approach in Julia.
Structural analysis. Julia has been used for the analysis of static, dynamic and nonlinear structural systems such as a bank vault or a ship by solving structural optimization problems.
Search. Julia has been used to solve search problems like ranking search results in the domain of social networks (based on friendships, mutual friends).

The future of Julia machine learning
Julia will increasingly be used as a key language by data scientists in fields such as artificial intelligence and machine learning. Julia’s active community, ease of use, high performance, productivity and broad functionality make it a competitive alternative to R or Python. Julia has the potential to reach a broader audience and help boost Julia’s adoption outside the R community.
Data science is a key battleground between Python, R, Julia and others. The use of different languages for data science varies by job title and data scientist skill level. Data scientists who use Python and R tend to be more senior and more experienced. Data scientists tend to favor Python for web analytics and social media analysis, while they favor R for financial analytics, statistical modeling and machine learning.
Source: Harvard Business Review
