BECE352E Module 5
BECE352E Module 5
Cloud
• Cognitive
Computing
Capabilities
• Underlying
Technologies
• Empowering
Analytics
• Deep Learning
Approaches –
Algorithms, Methods
and Techniques
1
SMART COMPUTING OVER IOT– CLOUD
• Smart computing in general refers to the mechanism of empowering devices and utilities that
we use in our day- to- day lives with computing capabilities. On similar lines, smart computing
over the IoT– Cloud refers to confluence of hardware, software, and network technologies that
empower the IoT– Cloud application with real- time awareness of the environment and
enhanced analytics that can assist humans in better decision making and optimizations, thereby
driving the business to success.
2
BIG DATA ANALYTICS AND COGNITIVE COMPUTING
1. Big Data Analytics:
• With the innumerable devices that are connected to each other and the Cloud through the
Internet, the amount of data that these devices collect or generate is immeasurable and huge.
• This huge volume of data in different formats is referred to as big data and analysis of this
data in order to generate inferences and solutions is called as big data analytics. However,
analysis of such data in IoT applications is a huge challenge due to the their size and
heterogeneity.
2. Cognitive computing :
• Cognitive computing is a mechanism used in solving problems that are complex and may
have a certain degree of uncertainty in arriving at suitable answers. It is a self- learning
system that mimics the human brain/ thinking with the help of computerized models. It is a
confluence of several underlying technologies such as natural language processing (NLP),
pattern recognition, data mining, sentiment analysis, machine learning, neural networks, and
deep learning.
3
Cognitive Computing Capabilities
• Cognitive computing :
• Cloud platforms offer centralized device management capabilities, allowing for remote
monitoring, configuration, and firmware updates of IoT devices. Cognitive computing can
offer improved data analysis. For instance, the health care industry assimilates data from
various sources such as journals, medical records, diagnostic tools, and other documents. All
these data provide evidence and help make informed decisions and recommendation related
to the treatment that can be provided to patients. Here is where cognitive computing comes
in handy by performing quick and reliable analysis of the data and presenting it to the
physicians, surgeons, or medical professionals.
• Cognitive computing can lead to improved customer satisfaction levels. For instance, the
Hilton group, which is a hospitality and travel business, has employed a robot, Connie
(Watson enabled) that provides customers with precise, relevant, and accurate information
on various topics related to travel and accommodation. It also provides information on fine
dining, amenities offered at hotels, and places to visit thus making the customers have a
smart, easy, and enjoyable travel experience.
4
Cognitive Computing Capabilities
• Cognitive computing can simplify complex processes into simpler and efficient processes. In
the case of Swiss Re, an insurance company, the application of cognitive computing has
made the process of identifying patterns simpler and efficient, thereby enabling realtime
problem solving for more efficient responses. It has employed the IBM Watson technology
to perform analysis of huge volumes of structured and unstructured data pertaining to the
risk of exposure of sensitive information. Based on the analysis, measures were adopted to
put efficient risk management tools in place and improve the productivity of the business.
• Cognitive computing can be employed for identifying safety concerns in a product earlier in
the lifecycle, thereby helping to reduce costs that might be incurred in a recall after
completion. It also helps in upholding reputations of big organizations by identifying
shortcomings at an earlier stage. Also, the delays in time- to- market that might occur if a
product fails are also taken care of with early detection.
• Cognitive computing over IoT can enable products to make independent and instantaneous
decisions in businesses without human interference. Fact- based solutions can be provided
proactively to drive the entire business process right from engaging in relevant and
meaningful conversations with customers to the manufacturing and maintenance of tools and
equipment.
5
Cognitive Computing Capabilities
• Cognitive computing must possess the following features in order to realize the previously-mentioned
capabilities:
• Adaptive: Cognitive computing must be able to keep up with the dynamically changing data, goals and
requirements by learning, and updating constantly.
• Interactive: Cognitive computing should provide flexibility and ease by allowing users to communicate just
the way they would in a real- world human- to- human interaction using voice, gestures, and natural
languages.
• Iterative and stateful: It should possess the capability of collecting relevant information by asking suitable
questions from the user in the event where enough information and requirements are not available in order to
describe the problem in question.
• Contextual: Cognitive computing should discover and extract relevant information like location, time, and
user details pertaining to the problem based on sensory inputs such as gestures, speech, and vision. Cognitive
computing should analyze and process real- time and near real- time data.
• Cognitive computing is capable of minimizing the amount of traffic from and to the Cloud in an IoT– Cloud
system by imparting intelligence to the edge devices. Devices can be equipped with capabilities that can
reduce energy consumption and improve performance and privacy.
6
Underlying Technologies
• Natural language processing :
• Natural language processing (NLP) is a field of study that helps in translating and
interpreting human language by computers.
• These computers basically work upon the natural human language by analyzing and
understanding the language, thereby being able to extract meaningful information in a smart
way.
• A piece of software written by developers using the underlying NLP algorithms can help
understand the human language (speech and text) better and use it for analysis. Some of the
applications made possible due to NLP’s ability to extract meaning from language based on
the analysis of the hierarchical structure of language are grammar correction, speech to text
convertor, and automatic language translators. NLP algorithms are machine learning based
algorithms that enable learning of rules of execution by studying/ analyzing a predefined set
of examples such as books or a set of sentences, leading to a statistically generated inference.
Here, the programmer is relieved from the burden of having to write/ code the set of rules for
analysis.
7
Underlying Technologies
• Natural language processing :
• NLP has a set of open standard libraries that assist in real- time application development.
• Algorithmia is a model based on machine learning that supports deployment and management of applications without the need
to spend efforts in setting up servers and infrastructure. It helps a great deal in automating the machine learning operations for
an organization with simple API endpoints to the algorithms, some of which are discussed below.
• Apache OpenNLP is a toolkit employed to process text that is written in the natural language and helps in development of
services that support proficient text processing actions. Common tasks that are performed by NLP like language recognition,
segmentation, parsing, and chunking tokenization are supported by this open- source library that is based on machine learning.
• Natural Language Toolkit (NLTK) is a collection of efficient libraries for processing text in natural language (English). It is a
platform that supports symbolic and statistical NLP with programs written in Python. NLTK has been found more suitable for
teaching and research. It is also suitable for empirical linguistics in Python, machine learning, artificial intelligence, and
retrieval of meaningful information.
• Stanford NLP is a package of NLP software developed and managed by the Stanford NLP group. The tools offered by the group
can be integrated into applications that require human language processing, analysis, and interpretation requirements. Its use has
been extensive in the fields of academia and in industrial and governmental organizations.
8
Underlying Technologies
• Data mining:
• Data mining is the process of excavating huge volumes of data in order to draw inferences, patterns,
knowledge, and information that can be used to make improved business decisions, devise effective
cost- cutting strategies, and improve revenue. It involves the application of certain mechanisms to help
in finding anomalies and correlations in larger data sets, thereby enabling detection of outcomes. It is
one of the phases in the process of “knowledge discovery in databases”.
• Data mining has six classes of tasks that are performed during the process as listed below.
• Anomaly detection is a mechanism applied in order to examine the data and detect any change or
outlier or deviation that can be used for further analysis and investigation.
• Association rule learning or also known as market basket analysis is a method of identifying
relationships, patterns in the data, and associated variables. For example, identification of customer
buying habits can help business in understanding frequently bought items and items bought together.
This can help in developing efficient marketing strategies.
9
Underlying Technologies
• Data mining:
• Clustering is an action of identifying similarities in data, thus leading to the detection of groups and
structures in the data. This grouping is done without any predefined/ known labels or structures in the
data.
• Classification is similar to that of clustering in that both the methods perform grouping of data based
on identified features. However, classification is a supervised learning technique wherein the data is
categorized based on previously available labels or structures, for example, classification of emails as
spam and valid.
• Regression is a predictive analysis mechanism wherein modeling of data is done in order to assess the
strength and relationship between variables or data sets.
• Summarization is a representation of data sets in a compressed and compacted way with the help of
reports and visualizations (graphs and charts).
10
Underlying Technologies
• Machine learning
• Supervised learning
• Unsupervised learning
• Reinforcement learning
• Neural networks are systems that take its root from a human brain. They are similar to machine
learning models in that they learn from experience without the need for programming that is specific to
the task. However, neural networks are different in that they are able to make intelligent decisions on
its own, unlike machine learning where decisions are made based on what it has learned only. Neural
networks have several layers that are involved in the refinement of output at each level. The layers
have nodes that are responsible for carrying out the computations. It mimics the neuron in the human
brain wherein it collects and unites the input from the data and assigns suitable weights which are
responsible to either magnify or diminish the input value pertaining to the task. An activation function
is assigned to a node that decides about the depth of progress that is to be made by the signal through
the various layers in order to affect the outcome based upon the sum of the product of the input–
weight pair. A neuron is activated in each layer when a signal reaches or propagates through it.
11
Underlying Technologies
• Sentiment analysis finds its application in many well- known platforms and applications. It is
basically a text analysis mechanism that is used to detect the polarity (positive, negative, or neutral
opinion) in a given text, be it a long document, paragraph, or a few sentences. It basically helps in
understanding human emotions from the text. There are various types of sentiment analysis, and they
are described below.
• Fine-grained sentiment analysis is used when the precision of sentiment/ polarity is very important
for the business. For example, in a five- star rating for a product or a review for a session, the polarity
is recorded in five degrees (Excellent – 5, good – 4, fair – 3, meets expectations – 2, below
expectations – 1).
• Emotion detection is a method applied to identify human emotions such as happy, sad, angry, or
frustrated from a text using a variety of machine learning algorithms.
• Aspect-based sentiment analysis is a mechanism that helps identify emotions expressed pertaining to
specific features or characteristics of a product or artifact. For example, when customers review a
phone, they may specify certain features of the phone as being outstanding or abysmal.
• Multilingual sentiment analysis is a method applied on texts written in a variety of languages. This
involves a lot of effort in terms of pre-processing and resource requirements. Many tools are also
available online that can be used effectively, but for more accurate and specific results, algorithms and
techniques must be developed indigenously.
12
Underlying Technologies
• Patten recognition is a mechanism applied to analyze and process data in order to generate
meaningful patterns or regularities. Pattern recognition has its application in various areas such as
image analysis, bioinformatics, computer graphics, signal processing, image processing, and many
more. Pattern recognition techniques are of three types as follows.
• In statistical pattern recognition, patterns are described using features and measurements. Each
feature is represented as a point in an n- dimensional space. Statistical pattern recognition then picks
features and measurements that permit the pattern vectors to fit in various groups or categories in the
n- dimensional space.
• Syntactic pattern recognition uses basic subpatterns or simply referred to as primitives that are
utilized in making descriptions of the patterns by organizing them into words and sentences.
• Neural pattern recognition works on a system containing numerous processors that are
interconnected and enable parallel computing. The systems are then trained on sample sets, enabling
them to learn from the given input– output data sets, thereby enabling them to adapt themselves to the
changing data.
13
Empowering Analytics
• The huge volumes of the big data pose huge problems too. Industries and businesses today are
overwhelmed with the amount of information that is accumulated for analysis. However, the talent
that is required to handle such data and retrieve meaningful information for businesses is scarcely
available.
• The number of data scientists and analysts are not enough to keep up with the ever- increasing data
volumes. Experienced specialists are required in order to handle the available platforms and put
them to effective use.
• A solution to this problem would be to increase the supply of specialists by increasing the training
programs offered to interested people. On these grounds, an even more effective solution would be
to utilize the existing technologies and train machines/ computers rather than human beings to
manage the tools. This is made possible with advancements in cognitive computing. The
confluence of cognitive computing, artificial intelligence, and machine learning can aid both
experienced and inexperienced staff to handle complex analytic operations using the available tools
and platforms. It also helps in improving the accuracy and quality of the results. This accelerates
the process of analysis in real- time and near real- time data, thereby enabling businesses to make
real- time decisions.
14
Empowering Analytics
• The capabilities that cognitive computing can empower big data with are countless and very
promising. The argument presented above about the lack of sufficient talent with knowledge to
handle the big data platforms can be overcome with advancements in NLP. With NLP in picture,
employees who are not proficient in data/ information processing and data languages that is
required for analytics activities can simply work on the platforms and tools with normal
interactions just as we do with other human beings. The platforms can be equipped with the
capability to transform normal language into data queries and requests and respond with solutions
or answers in the same way as a natural language, enabling easy understanding. This brings in
much more flexibility into big data analytics.
• Big data analytics empowered by cognitive computing has accelerated the decision- making
process, accuracy, and productivity of many businesses with its tools and platforms
15
Deep Learning Approaches
• Deep learning is a subset of machine learning in which the age- old
traditional algorithms used to instruct the computers on the tasks to be
performed are equipped with capabilities to modify their own
instructions to improve the functionality of the computer.
• Deep learning is a mechanism that enables computers to process huge
volumes of data and learn from experience similar to humans. The
algorithms and mechanisms in deep learning perform tasks in a
repetitive manner, each time adjusting the parameters in order to
achieve the desired outcome.
16
Artificial Neural Networks (ANN)
• ANN is a deep learning approach that imparts artificial intelligence
into machines by mimicking the human brain and the nervous system.
• Imagine that you have just hurt your index finger. The sensory nerve
in the hand immediately sends out signals (chain reaction) that
ultimately reaches your brain and tells that you are experiencing pain.
• This is the basic idea behind the functionality of ANNs. The ANN
have a sequence of branching nodes which function in a similar way to
that of the neurons in the human body. Inputs are fed into the input
nodes, which then propagate the information into the series of internal
nodes, which process the information until the desired output is
generated.
17
Artificial Neural Networks (ANN)
• In ANN, a node depicts the neuron
which receives the information and
transforms the information by
performing a quantitative function,
which is carried over to the next
neuron.
• In transit the connectivity lines
(synapse) in turn apply its own
transformation function on the
information and modifies it by
adding a constant value. This
modification process happens by
the application of weights.
18
Artificial Neural Networks (ANN)
• The input from multiple synapses
or connectivity lines are collected,
summed up, and then sent to the
next node.
• This node in turn adjusts the data
by applying constants, thereby
modifying the data. This
application of constants at the
nodes is called as node bias.
• Application of weights and bias to
the input data is important as this
ascertains that the data is
propagated properly through the
network.
19
Artificial Neural Networks (ANN)
• For a node to be able to propagate/
pass the data, it must be activated.
Activation of nodes happens when
the output it produces meets the
threshold value that is set by the
programmer, after which the data
will be passed on to the next node;
otherwise the node remains
dormant.
• However, this single pass of
information to the final nodes in
many cases might not lead to the
desired output.
20
Artificial Neural Networks (ANN)
• For example, the network might
accidentally identify a cat as a
dog, which is not acceptable. To
counter this, an algorithm called
the backpropagation algorithm is
applied to the network, which
uses feedbacks to enable the
adjustment of weights and biases
and finetune the synapses until
the result is agreeable or even
almost correct.
21
Convolution Neural Network (CNN)
• CNN is mostly applied to image processing problems and natural
language processing problems. Traditional neural networks make no
assumptions on the inputs and weights that are used to train the models
which are not suitable for images and natural language- based
problems.
• CNN treats data as being spatial. As opposed to neurons being
connected to neurons in the preceding layer, they are instead linked to
neurons that are only close to it and all of them have the same weights.
This simplification enables to maintain the spatial property of the data
set. The simplification of an image is made possible via the CNN
facilitating better processing and understanding of the images.
22
Convolution Neural Network (CNN)
• The CNN architecture as shown in Figure consists of multiple layers that exist in a usual neural network. The
CNN has additional layers such as the convolution layer, pooling layer, ReLu (rectified linear unit) layer, and
a wholly connected layer. The ReLu layer functions as an activation layer that ensures nonlinearity while the
data moves through each layer of the network. Absence of this layer could cause the loss of dimensionality
that is required to be maintained with the data fed into each layer. The fully connected layer performs
classification on the data set. The convolution layer performs the most important function in the network. It
places a filter over an array of image pixels, leading to the formation of a “convolved feature map”.
23
Convolution Neural Network (CNN)
This enables focus on specific features of
the image, which might be missed out
otherwise. The pooling layer reduces the
number of samples of a feature map,
causing a reduction in the number of
parameters to process, thereby enabling
faster processing. This leads to a pooled
feature map. The pooled feature map is
obtained by either performing a max
pooling (selects the maximum input of a
particular convolved feature) or average
pooling (calculates the average).
Ultimately, the model builds up an image
of its own based on its own mathematical
rules. If unlabeled data are used, then
unsupervised learning methods can be
used to train the CNN. Auto encoders
enable us to compress and place the data
into a low- dimensional space. 24
Recurrent Neural Networks (RNN)
• RNN are used in many applications such as speech recognition, language translation, and
prediction of stocks. RNNs are used to model sequential data.
• In order to understand this, consider a still snapshot taken of a ball that is in motion over a period.
• Now, from this picture we would want to predict the direction of motion that the ball is moving in.
Such a prediction with a single standstill picture of the ball will be very difficult. Knowledge of
where the ball had been before the current picture is required for an accurate and real- time
prediction. If we have recorded many snapshots of the ball’s position in succession (sequential
information over time), we will have enough information to make better predictions.
• Similarly, audio is sequential information that can be broken up into smaller pieces of information
and fed into the RNN for processing. Textual data is another type of sequential information that can
be a sequence of alphabets or words.
25
Recurrent Neural Networks (RNN)
• RNNs work upon these kinds of sequential information to provide
predictions based upon a concept called “sequential memory.”
• Sequential memory is a mechanism that enables the human brain to
recognize patterns that occur in a sequence. This is implemented in
RNNs with the help of a looping mechanism that enables to pass on
earlier information in the forward direction for processing. This
intermediary information is represented as the hidden state, which
depicts previous inputs that affect the later states.
• The RNN, however, suffers from a problem, which is short- term
memory and vanishing gradient, which is the side effect of the
backpropagation methodology in RNNs.
26
Recurrent Neural Networks (RNN)
• RNN differs from CNN in that, CNN is a feed- forward network used to
filter spatial data while the recurrent neural network (RNN) feeds
data back into itself, thereby being the best candidates for sequential
data. A CNN can recognize patterns across space whereas RNN can
recognize patterns over time.
27
Algorithms, Methods, And Techniques
28
Algorithms, Methods, And Techniques
• Stochastic gradient descent is a method that helps in sampling huge
volumes of data by randomly selecting data points and sampling
them, thereby reducing the amount of computation required. It is
based on the unsupervised learning mechanism.
• Transfer learning is a method adopted to train models in layers by
adopting the convolution mechanism. The last few layers tend to be
more specific to the data fed as input while the starting layers are
more generic pertaining to simple patterns. For example, in a model
provided with a training dataset, the early layers might be looking for
eyes, ears, and mouth while the later layers may be looking for dogs,
humans, and cars.
29
Algorithms, Methods, And Techniques
• Logistic regression is a classification algorithm working on the
principle of supervised learning. It forecasts the probability of a
dependent or target variable. The dependent variable has only two
outcomes coded as 1 (success/ yes) and 0 (failure/ no). It is the
simplest mechanism used in classification problems such as illness
prediction (cancer and diabetes) and spam email identification.
• Naive Bayes algorithm is another classification method based on the
supervised learning mechanism. The central idea of the naïve Bayes
classifier is the Bayes theorem. The classification has two phases,
namely the learning phase (model trained on a given dataset) and
evaluation phase (performance testing).
30
Algorithms, Methods, And Techniques
• Support vector machines (SVM) is a machine learning
algorithm that follows the supervised learning
mechanism. It is widely used in classification problems
where the goal is to find a hyperplane that best segregates
all the data points into two different categories as shown
in figure.
• Support vectors are nothing but data points themselves
that are closer to the hyperplane whose removal can cause
a great change or shift in position of the hyperplane. The
success of SVMs is determined from the distance that
exists between the hyperplane and the nearest data point,
which is called as the margin (greater distance means
effective classification). When a clear hyperplane cannot
be identified, a 3D view of the data points can help in
obtaining the hyperplane, which is done through a
mechanism called kernelling. SVM finds its application in
many areas such as in the cancer and neurological disease
diagnosis and many other research related to health care.
31