Internship (1)
Internship (1)
on
“PROGRAMMING LANGUAGES & MACHINE LEARNING”
Submitted in partial fulfillment of the requirement
for the award of the degree of
Bachelor of Technology
in
Computer Science and Engineering
By
GUNDAM DAMODHAR REDDY
(21701A0529)
CERTIFICATE
This is to certify that the summer Internship report entitled
“PROGRAMMING LANGUAGES & MACHINE LEARNING” is
submitted by
Name: GUNDAM DAMODHAR REDDY,
Roll Number: 21701A0529 in partial fulfillment of the requirements for the
award of Degree of Bachelor of Technology in “Computer Science and
Engineering” for the academic year 2023-24.
The complexity of Machine Learning (ML) models and the frameworks people are using to build them
has exploded along with ML itself. State-of-the-art models are increasingly programs, with support
for programming constructs like loops and recursion, and this brings out many interesting issues in
the tools we use to create them — that is, programming languages (PL). This paper1 , discusses the
necessity for a first class language for machine learning, and what such a language might look like.
CONTENTS
1. Abstract
2. Introduction
3. Methodology
4. Environment
4.1 For Programming Languages
4.1.1 Text Editor
4.1.2 Compiler
4.1.3 Interpreter
4.1.4 Types of programming language
Python
Java
C
5.Machine learning
5.1 Introduction to Machine learning
5.2 What is machine learning
5.3What today AI’s Do
5.4 How does Machine learning work
5.5 Classification of machine learning
5.5.1 Supervised Learning
5.5.2 Unsupervised Learning
5.5.3 Reinforcement Learning
5.6 Advantages and Disadvantages of Machine learning
6.Conclusion
Introduction to Computer Program
Before getting into computer programming, let us first understand computer programs and
what they do.
The two important terms that we have used in the above definition are −
Sequence of instructions
Computer Programming Language
Now, let's go back and try to understand a computer program, which is a sequence of
instructions written in a Computer Language to perform a specified task by the computer.
Following is a simple program written in Python programming Language −
print "Hello, World!"
The above computer program instructs the computer to print "Hello, World!" on the computer
screen.
A computer program is also called a computer software, which can range from two
lines to millions of lines of instructions.
Computer program instructions are also called program source code and computer
programming is also called program coding.
A computer without a computer program is just a dump box; it is programs that make
computers active.
As we mentioned earlier, there are hundreds of programming languages, which can be used to
write computer programs and following are a few of them
Java
C
C++
Python
PHP
Perl
Ruby
ENVIRONMENT
Similarly, you will need the following setup to start with programming using any
programming language.
Text Editor :
A text editor is a software that is used to write computer programs. Your Windows
machine must have a Notepad, which can be used to type programs.
Compiler :
You write your computer program using your favorite programming language and
save it in a text file called the program file. Now let us try to get a little more detail on how
the computer understands a program written by you using a programming language.
Actually, the computer cannot understand your program directly given in the text
format, so we need to convert this program in a binary format, which can be understood by
the computer. The conversion from text program to binary file is done by another software
called Compiler and this process of conversion from text formatted program to binary format
file is called program compilation. Finally, you can execute binary file to perform the
programmed task.
So, if you are going to write your program in any such language, which needs
compilation like C, C++, Java and Pascal, etc., then you will need to install their compilers
before you start programming.
We just discussed about compilers and the compilation process. Compilers are
required in case you are going to write your program in a programming language that needs
to be compiled into binary format before its execution. There are other programming
languages such as Python, PHP, and Perl, which do not need any compilation into binary
format, rather an interpreter can be used to read such programs line by line and execute them
directly without any further conversion.
So, if you are going to write your programs in PHP, Python, Perl, Ruby, etc., then you
will need to install their interpreters before you start programming.
Types of Programming Languages
Python
Python is one of the most widely used user-friendly programming languages. It is an open-
source and easy to learn programming language developed in the 1990s. It is mostly used
in Machine learning, Artificial intelligence, Big Data, GUI based desktop applications,
and Robotics.
Advantages:
Disadvantages:
Java
o Java is easy to write, compile, learn, and debug as compared to other programming
languages.
o It provides an ability to run the same program on different platforms.
Disadvantages
o Java consumes more memory and slower than other programming languages like C or
C++.
o It does not provide a backup facility.
C
C is a popular, simple, and flexible general-purpose computer programming language. Dennis
M Ritchie develops it in 1972 at AT&T. It is a combination of both low-level programming language
as well as a high-level programming language. It is used to design applications like Text Editors,
Compilers, Network devices, and many more.
Advantages
Disadvantages
Machine learning evolved from left to right as shown in the above diagram.
Initially, researchers started out with Supervised Learning. This is the case of housing
price prediction discussed earlier.
This was followed by unsupervised learning, where the machine is made to learn on
its own without any supervision.
Scientists discovered further that it may be a good idea to reward the machine when it
does the job the expected way and there came the Reinforcement Learning.
Very soon, the data that is available these days has become so humongous that the
conventional techniques developed so far failed to analyze the big data and provide us
the predictions.
Thus, came the deep learning where the human brain is simulated in the Artificial
Neural Networks (ANN) created in our binary computers.
The machine now learns on its own using the high computing power and huge
memory resources that are available today.
It is now observed that Deep Learning has solved many of the previously unsolvable
problems.
The technique is now further advanced by giving incentives to Deep Learning
networks as awards and there finally comes Deep Reinforcement Learning.
Let's say we have a complex problem in which we need to make predictions. Instead of writing code,
we just need to feed the data to generic algorithms, which build the logic based on the data and predict
the output. Our perspective on the issue has changed as a result of machine learning. The Machine
Learning algorithm's operation is depicted in the following block diagram:
Classification of Machine Learning
1. Supervised learning
2. Unsupervised learning
3. Reinforcement learning
1) Supervised Learning
In supervised learning, sample labeled data are provided to the machine learning system for training,
and the system then predicts the output based on the training data.
The system uses labeled data to build a model that understands the datasets and learns about
each one. After the training and processing are done, we test the model with sample data to
see if it can accurately predict the output.
The mapping of the input data to the output data is the objective of supervised learning. The
managed learning depends on oversight, and it is equivalent to when an understudy learns
things in the management of the educator. Spam filtering is an example of supervised
learning.
o Classification
o Regression
2) Unsupervised Learning
The training is provided to the machine with the set of data that has not been labeled,
classified, or categorized, and the algorithm needs to act on that data without any supervision.
The goal of unsupervised learning is to restructure the input data into new features or a group
of objects with similar patterns.
In unsupervised learning, we don't have a predetermined result. The machine tries to find
useful insights from the huge amount of data. It can be further classifieds into two categories
of algorithms:
o Clustering
o Association
3) Reinforcement Learning
1. Automation
Machine Learning is one of the driving forces behind automation, and it is cutting down time and
human workload. Automation can now be seen everywhere, and the complex algorithm does the hard
work for the user. Automation is more reliable, efficient, and quick. With the help of machine
learning, now advanced computers are being designed. Now this advanced computer can handle
several machine-learning models and complex algorithms. However, automation is spreading faster in
the industry but, a lot of research and innovation are required in this field.
2. Scope of Improvement
Machine Learning is a field where things keep evolving. It gives many opportunities for improvement
and can become the leading technology in the future. A lot of research and innovation is happening in
this technology, which helps improve software and hardware.
Machine Learning is going to be used in the education sector extensively, and it will be going to
enhance the quality of education and student experience. It has emerged in China; machine learning
has improved student focus. In the e-commerce field, Machine Learning studies your search feed and
give suggestion based on them. Depending upon search and browsing history, it pushes targeted
advertisements and notifications to users.
This technology has a very wide range of applications. Machine learning plays a role in almost every
field, like hospitality, ed-tech, medicine, science, banking, and business. It creates more
opportunities.
Disadvantages of the Machine Learning
Nothing is perfect in the world. Machine Learning has some serious limitations, which are bigger than
human errors.
1. Data Acquisition
The whole concept of machine learning is about identifying useful data. The outcome will be
incorrect if a credible data source is not provided. The quality of the data is also significant. If the user
or institution needs more quality data, wait for it. It will cause delays in providing the output. So,
machine learning significantly depends on the data and its quality .
2. Time and Resources
The data that machines process remains huge in quantity and differs greatly. Machines require time so
that their algorithm can adjust to the environment and learn it. Trials runs are held to check the
accuracy and reliability of the machine. It requires massive and expensive resources and high-quality
expertise to set up that quality of infrastructure. Trials runs are costly as they would cost in terms of
time and expenses.
3. Results Interpretations
One of the biggest advantages of Machine learning is that interpreted data that we get from the cannot
be hundred percent accurate. It will have some degree of inaccuracy. For a high degree of accuracy,
algorithms should be developed so that they give reliable results.
The error committed during the initial stages is huge, and if not corrected at that time, it creates havoc.
Biasness and wrongness have to be dealt with separately; they are not interconnected. Machine
learning depends on two factors, i.e., data and algorithm. All the errors are dependent on the two
variables. Any incorrectness in any variables would have huge repercussions on the output.
5. Social Changes
Machine learning is bringing numerous social changes in society. The role of machine learning-based
technology in society has increased multifold. It is influencing the thought process of society and
creating unwanted problems in society. Character assassination and sensitive details are disturbing the
social fabric of society.
Automation, Artificial Intelligence, and Machine Learning have eliminated human interface from
some work. It has eliminated employment opportunities. Now, all those works are conducted with the
help of artificial intelligence and machine learning.
With the advancement of machine learning, the nature of the job is changing. Now, all the work are
done by machine, and it is eating up the jobs for human which were done earlier by them. It is
difficult for those without technical education to adjust to these changes.
8. Highly Expensive
This software is highly expensive, and not everybody can own it. Government agencies, big private
firms, and enterprises mostly own it. It needs to be made accessible to everybody for wide use.
9. Privacy Concern
As we know that one of the pillars of machine learning is data. The collection of data has raised the
fundamental question of privacy. The way data is collected and used for commercial purposes has
always been a contentious issue. In India, the Supreme court of India has declared privacy a
fundamental right of Indians. Without the user's permission, data cannot be collected, used, or stored.
However, many cases have come up that big firms collect the data without the user's knowledge and
using it for their commercial gains.
Machine learning is evolving concept. This area has not seen any major developments yet that fully
revolutionized any economic sector. The area requires continuous research and innovation.
Conclusion
Machine Learning can be a Supervised or Unsupervised. If you have lesser amount of data
and clearly labelled data for training, opt for Supervised Learning. Unsupervised Learning
would generally give better performance and results for large data sets.