What is Machine Learning and How Can You Use It to Build Cognitive Apps?

in #technology7 years ago

Now that I’m finally back in DC, I wanted to further elaborate on my work at IBM Federal Healthcare, specifically in the area of machine learning and cognitive applications.

machine-learning.png
Credit: http://www.louisdorard.com/blog/building-a-business-around-machine-learning-apis

So first of all, what’s the connection between Healthcare and application development? Well, all of my clients are Federal Healthcare agencies – Civilian Health agencies such as NIH, FDA, CDC and Military Health agencies such as DHA and VA – and these agencies typically engage us on opportunities in which they are interested to see how we can leverage our cloud analytics technology and build them a custom, full-range application. Thus, they typically come to us with a particular use case – clinical medicine, behavioral health, public health surveillance – and rely on our technical expertise to help them craft a solution. It is even more convenient when they provide us with a test data set in order for us to assess the feasibility and accuracy of our designed model and application.

EI-IBM-Watson.png
Credit: http://blog.agfahealthcare.com/agfa-healthcare-joins-forces-with-ibm-watson/

Let me walk you guys through an example of this process. We recently visited a Federal Healthcare client last September and they were interested in learning more about IBM’s cloud analytics technology. They had a huge collection of sample patient data as well as thousands of patient survey results which they needed to comprehend and fully utilize. Furthermore, they were interested in seeing IBM develop a predictive analytics model, using all of the data they had currently sitting on their data centers, which could then be deployable to either the cloud or stay on-premises.

Predictive-Analytics-intro-IA-Interior-Architects.gif
Credit: http://www.interiorarchitects.com/blog/next-generation-workplaces-using-predictive-analytics/

As soon as I heard the words “predictive analytics,” I immediately realized that I would have to leverage machine learning when building this model. Moreover, I would first have to develop a machine learning model and then use this model to build a demo with an interactive user interface or UI.

So what is machine learning? Without diving too deep into the technical details, machine learning refers to the practice of training computers without explicitly programming them. Thus, you will have to allocate a dataset and train a model to highlight the characteristics and features in the dataset most relevant to the analysis before choosing a specific algorithm to generate predictions on new, incoming data.

For example, if I want to develop a machine learning model that helps me predict which tumor is benign or malignant, I will first train a model with a data set that includes sample tumor parameters as well as designations of “benign” or “malignant” for each set of characteristics.

machine-human.jpg
Credit: https://juxt.pro/blog/posts/machine-learning-with-clojure.html

After I am done training a model with an algorithm from a machine learning library (example algorithms include classification, regression, decision tree, recommendation engine, clustering, etc.), I can then use this model to make predictions on new, incoming data. Hence for our tumor machine learning model, after I finish training the model using a classification algorithm (since we will be essentially classifying the tumors as either benign or malignant), I can now use this model on incoming tumor data to determine which of these new tumors are benign or malignant.

Once we have a fully functional machine learning model, we have to be able to deploy it in a manner that allows us to interact with the end user. For that, we will have to embed our machine learning model into an application with a user interface that will capture user inputs and visualize the predictions calculated from our model. In essence, we will be using our machine learning model to develop a cognitive application!

WatsonForBluemix2-to-1_8801.png
Credit: http://citris-uc.org/ibm-watsonbluemix-nov-17/

This is unfortunately the trickiest part of designing a machine learning application because we will have to (1) deploy the machine learning model as a REST API in order for it to be embedded into an application, and (2) design a user interface that captures incoming user input and visualizes the results on the same interface.

Luckily, there is a service within IBM Bluemix that is known as IBM Watson Machine Learning (and is currently in the process of being added to IBM Data Science Experience) that allows any user to simply choose their training data set, select the relevant characteristics as well as the label to be predicted, receive a recommendation from the Cognitive Assistant in Data Science (CADS) on the best training algorithm and finally create a machine learning model that is deployable as a REST API, which we can then embed into an application. Rest assured, I will demo this awesome tool in a future video, so stay tuned!

Screen Shot 2017-06-17 at 5.31.57 PM.png
Credit: https://console.bluemix.net

As far as the actual development of the UI is concerned, you will have to use HTML, CSS and Javascript (preferably NodeJS) in order to design the UI for a web application and Objective C or Swift to design the UI for a mobile application. Given that Objective C and Swift are very sophisticated programming languages to learn and understand, especially for first-time coders, there are actually some nifty tools out there like Kinetise that can help you build a mobile app without having to code anything at all! In fact, I have used Kinetise before to build a prototype of a Suicide Prevention mobile app which I even demonstrated to healthcare customers to rave reviews!

nayo7ngpahfbp8t4z4yn.png
Credit: https://www.crunchbase.com/organization/kinetise#/entity

Now that I have provided you all with a little background in Machine Learning and application development, I will dive even deeper into the technology as well as the specifics of the model training and cognitive app development process in a series of videos this week! Specifically, I will be showcasing two demos which I have built for Clinical Medicine and Behavioral Healthcare – Virtual Doc and Cognitive Health. Get excited and stay tuned!

I have also included links to IBM Bluemix and IBM Data Experience, both of which have 30 day free trials for the cloud versions so that you can sign up TODAY and start building your own machine learning models and application prototypes. Let me know if you have any questions or if you want to see anything specific in this machine learning series in the comments below!

IBM Bluemix – A Platform for Application Development: https://console.bluemix.net
IBM Data Science Experience – A Platform for Data Science and Analytics: https://datascience.ibm.com

Until next time, keep acing life!

YouTube channel art.png

Sort:  

Interesting post.

I tried to use Bluemix for machine learning at one point, as it was part of some programming competitions I was interested in, but my classes distracted me, and I never came back to it.

Nowadays I feel like there are so many tools I'd love to learn how to use, but never enough time XS

But thanks for the superb article !

Thanks @pbock! I would highly suggest checking out IBM Bluemix whenever you get a chance since it has definitely come a long way since 2014! Now you can quickly build out models and create applications relatively quickly thanks to an entire suite of awesome tools for data and analytics and app development!

I'm going to go deeper into both IBM Bluemix and IBM Data Science Experience in upcoming posts - stay tuned!

Excellent post!
It's too bad I let my bluemix trial run out without even using it. Wish I had more time, I am a slow learner haha.

Thanks @akrid! You can always sign up with a new email address to get another Bluemix trial. Let me know if you need help setting that up - I'll be more than happy to help! Also, you can check out Data Science Experience and even download the desktop version so you can play around with it more and build some ML models!

awesome! thanks for the tip haha. I hope to utilize the blockchain course. It will be tough because I'm not a coder, so I'll have to put a lot of focus into it when I do.

Cool, I actually got my hands on a pretty informative introductory guide to the Blockchain at the IBM conference this week. I'll do a review of it this week and send it out to all of you guys!

Wow, I can't wait! Make sure you PM me so I don't happen to miss it :-)

Sure thing @akrid. I'll send you a PM on Discord as soon as I read it and write the review this week!

Well Done my friend ::)) @cerebralace

You're Welcome :)

Glad to see my fellow Steemians appreciating content on new trends in technology. Currently working on a post about IBM Watson - should be sharing it with you all tomorrow!

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 65017.48
ETH 3454.80
USDT 1.00
SBD 2.50