Facebook EmaiInACirclel
Strategy

Resources and Tools: Start Your Cognitive Computing Journey!

Andrei Sajin
Andrei Sajin
Technical Expert - Software Architect

Are you fascinated with Cognitive Computing? Want to learn more? If you are a developer with a passion for Artificial Intelligence, Deep Learning, and you dream of making a significant contribution to the field, embark in a new cognitive computing learning adventure.

3, 2, 1, get ready for your leap to the future!

cognitive computing

Cognitive Computing already affects our daily lives in fields, such as healthcare, education, business, banking, retail, HR, and many more. Learn more about its impact from Pentalog’s webinar.

Why should You Care about Cognitive Computing?

Cognitive Computing is a tool and it is imperative to learn how best to use it in order to transform how we live, work and think.

With Cognitive Computing, we can implement models to replace human intervention for some activities from the development process. Similarly, a Cognitive Computing engine can identify patterns in human behavior such as analyzing technical debt for optimization purposes, analyzing applications to propose security improvements and analyzing production environments to increase performance, etc.

Many new companies invest heavily in Machine Learning and Artificial Intelligence to develop better products. If you want to be part of this tech innovation, be prepared! Here’s a crash course to help you gain the necessary tools to perform in this field.

Deep Learning Terminology:

I’ll be using the following terms, so I better explain them first.

  • Artificial Intelligence is the simulation of human intelligence processes by machines, especially computer systems. It consists of Deep Learning & Machine Learning.

  • Machine Learning is an application of Artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed.

  • Deep Learning is a subset of Machine Learning in Artificial Intelligence that has networks capable of unsupervised learning from unstructured or unlabeled data. (Also known as Deep Neural Learning or Deep Neural Network.)

  • Neural Network is a framework of Machine Learning.

  • Deep Neural Network (DNN), Convolutional Neural Network (CNN) & Recurrent Neural Network (RNN) are all architectures of Deep Learning and Neural Network frameworks.

Cognitive Computing overlaps with AI and involves many of the same underlying technologies to power cognitive applications, including expert systems, neural networks, robotics and virtual reality.

Cognitive Computing systems can synthesize data from various information sources while weighing context and conflicting evidence to suggest the best possible answers. To achieve this, cognitive systems include self-learning technologies that use data mining, pattern recognition and Natural Language Processing (NLP) to mimic the way the human brain works. This is how it can recognize an image or compose a song, for example.

Where to Begin with Cognitive Computing?

Beginner software engineers need to have the following knowledge to understand, build, and maintain Deep Learning & Machine Learning solutions:

  • Programming languages like Python, R, C++, Java.

  • Libraries: SkyLearn, Keras (a user-friendly neural network library written in Python).

  • MatLab – Makes the hard parts of Machine Learning easy through experiments.

  • Jupyter interface – Data scientists use tools like Jupyter Notebooks to analyze, transform, enrich, filter and process data. The preprocessed data is then used to train analytic models with Machine Learning /Deep Learning frameworks like TensorFlow.

  • TensorFlow – Is a highly scalable machine learning system that can be used to express a wide variety of algorithms, including training and inference algorithms for deep neural network models.

  • Azure ML – Is the best tool for beginner data science and computer engineers because it’s visual and you can experiment with different kinds of algorithms without any line of code. See also Amazon SageMaker (it provides every developer and data scientist the ability to build, train and deploy Machine Learning models quickly).

  • IBM Watson (Bluemix) – Is an ecosystem of cognitive system that shifts through massive libraries of data to discover insights that can help its users answer simple to complex questions.

Additional Useful Skills in Machine Learning Development

Enhance or seek some training in:

  1. Mathematics (Probability, Statistics, Analytics)

  2. Data Science (Data Modeling & Evaluation)

  3. Big Data (Distributed Computing)

  4. Engineering

  5. Distributed Computing

  6. Signal Processing

Read more about the required skills for Machine Learning jobs and how to become a Machine Learning Engineer if you’re interested in becoming a Data Analyst, Operations Research Analyst, Data Scientist, Machine Learning Engineer, or Data Viz.

Experienced computer engineers should know (beside all listed above) the architectures and solutions used to solve all kinds of problems to implement a Machine Learning model: DNN, RNN, CNN, SVM.

Apply for our Embedded Software Engineer Job in Bucharest!

Here’s a list of resources that I personally picked for you:

  • Books

Artificial Intelligence by Leonardo Araujo dos Santos – This is a compilation of all the things the author learned about AI and Deep Learning.

Deep Learning with Python by François Chollet – Written by Keras creator and Google AI researcher, this book builds your understanding through intuitive explanations and practical examples.

Mastering Machine Learning Algorithms by Giuseppe Bonaccorso – This book invites you to discover high-performing machine learning algorithms and understand how they work in depth.

  • Tutorials

The 9 Deep Learning Papers You Need To Know About (Understanding CNNs Part 3) by Adit Deshpande – A summary of new and important developments in the field of computer vision and convolutional neural networks.

A Beginner’s Guide To Understanding Convolutional Neural Networks by Adit Deshpande

Python Image Recognizer with Convolutional Neural Network by Raven Hon

Image Classification with Convolutional Neural Networks by Ksenia Sorokina

Get Started with TensorFlow

Learn and use machine learning

Hub with Keras

Supervised learning by Leonardo Araujo dos Santos

Unsupervised learning by Leonardo Araujo dos Santos

Machine learning by Chris Thornton

Metrics To Evaluate Machine Learning Algorithms in Python by Jason Brownlee

Methodology for using HTML by Leonardo Araujo dos Santos

Business Fields where Machine Learning solutions are being used:

– Speech and Natural Language Processing

– Face Recognition

– Car Driving

– Visual Art Processing

– Natural Language Processing

– Drug Discovery and Toxicology

– Customer Relationship Management

– Recommendation Systems

– Mobile Advertising

– Control Strategies

– Financial Fraud Detection

– Military

Discover more examples!

Problems we can solve with Machine Learning & Deep Learning

  • Classification – (i.e. images from sounds)

  • Localization – Set of Data, localization of data that respects some criteria

  • Detection – Identification of rare items, events or observations which raise suspicions by differing significantly from the majority of the data

  • Segmentation – predict boundary of homogenous data or predict boundary of an object in an image

  • Clustering – grouping of data points

  • Regression – predicting a quantity

 

cognitive computing - machine learning recipe

Machine Learning Recipe

You need to work around an algorithm. However, before having the algorithm you have to think about the data. A data scientist will prepare the data, and then you’ll need all your computer engineering skills to prepare the algorithm. The models you can store in the database or in file systems. If your error rate is ok, you can build the model. In prediction/testing, you take your model, you have some test data and try to predict. If the error rate of prediction is ok, then your ML model is ready!

Error rate refers to how well your ML Model is doing its job with the current set of parameters. It is a sort of difference between ideal result and predicted result by ML Model for a list of test cases.

 

If you’re still reading this, it is a good sign! Leave a comment, a question, or a suggestion and I’ll be happy to get back to you!

Read more about Cognitive Computing and download the presentation!


One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

mypentalog

Always, Everywhere.
Our teams are here for you.