Tag: machine learning

  • Machine Learning Challenges

    If you know someone well, you may think that you can predict what they’ll do in a situation. Those that know me might think that if I go to New York, I’ll make time to run in Central Park. That’s a good bet, and the last 7 or 8 times I’ve gone there to speak, that’s what I’ve done. However, that’s a very small data set, and you might not want to attach a high level of confidence to that prediction. There are certainly times that I’ve gone to New York and not run in Central Park.

    Machine Learning (ML) is a field that tries to make predictions about some data, based on previous known actions or results. By inferring relationships between lots of data and known actions, the ML model can guess what might happen with future data inputs. Lots of companies and fields are experimenting with ML techniques, with some of them working quite well. Others aren’t faring as well, and there is a lot of research underway to better understand the entire field. One possible explanation is emergence, which is discussed in this piece.

    If it’s raining, I likely won’t run. If it’s 20F, but dry, I will. Those that know me would inherently consider the type of weather as a new factor that has a high level of predictability for me. Time in the city, location, whether my family is with me, these are all other factors that would come into play. With enough data, and enough factors, you could likely come up with a model that predicted the likelihood of me running in Central Park when I visit New York City. It might not be perfect, but it would be good if you had enough data.

    However, that’s a very simple item, and few decision points. Would that work for a larger data set? I bet it would. If we were able to collect data from lots of 5k events, we could perhaps predict how many people would register show up. There are certainly more factors at play, and since we can’t control things like weather, the prediction might not be that valuable. Though if we could change the amount of resources the day of the event, maybe that would help reduce costs or make the event more successful.

    I think ML is a valuable tool that can help with quite a few problems, but in many cases, we just don’t know enough about the complex factors, such as emergence, that might impact us. I know our SQL Saturday organizers would love a model that helped them decide how much food or drinks to order for an event. My view is that there are likely too many unusual factors, but I wonder if we could start a data gathering project to come up with a model. Perhaps we should gather marketing metrics, registration metrics, and more, with the intention to predict the number of no-shows. Even if it wasn’t useful, it might be a fun project for people in this industry.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 3.6MB) podcast or subscribe to the feed at iTunes and Libsyn.

  • Data Bots

    One of the challenges for many databases is getting the information out to our users. Early on many of us had to write queries in a customized fashion for our users. Eventually, reporting systems, such as Reporting Services and Crystal Reports, have been used extensively in many organizations to ease the burden or getting information to users, sometimes even allowing self-service where users write reports. Those are inefficient systems, where a lot of man-hours are spent to create something for users.

    Certainly some efforts are made to allow users to query data in an easier fashion. English Query in SQL Server didn’t work well, but the version in Power BI seems to do some things well. Perhaps it’s because a user can see some of the data and the domain of data being queried is inherently limited. I expect this to improve as services such as Alexa, Siri, Cortana, and more become embedded into more applications.

    The bots are coming. I used to wonder, but the more I see the advances made in machine learning and related technologies, the more I think that we will continue to see bots used as a way to access our data. There is plenty of hype, but certainly the technologies are being used more and more, and increasingly sophisticated ways. Plenty of businesses are experimenting with them, though it seems in many cases the technology is in an early stage.

    I haven’t been sure where bots are useful, but I see them more and more in places like Slack where a workflow can be kicked off with a chat operation. This is somewhere between running a script with parameters and using a semi-intelligent agent, but certainly the ease of a bot in places like Slack is very interesting. Operations can be easily conducted, with logging and auditing, and feedback, in a way that a CLI doesn’t quite work as smoothly.

    Perhaps it’s because the domain of actions is more limited, I think that ChatOps works better than general purpose bots. I expect that that will change as we find ways to both limit the scope of interactions, perhaps by passing more information along to the bot. I’m certain the context technology for bots will improve, as well the interaction design. In some ways it’s exciting to think about bots being more focused and responsive than today’s customer service representatives. The one thing that I do worry about is the ability to get an empathetic response from a human. A person is more likely to go the extra mile or do a favor than a bot.

    Steve Jones

  • The Downsides of AI

    I remember reading about AI as a college student, and I always wondered if we’d get computing algorithms that might actually make better decisions than informed humans. As my tech career grew, I saw the advancement in systems, like Deep Blue, that showed we could build better systems that might beat humans at their own games. The recent success of AlphaGo makes me wonder what the next challenge will be?

    Certainly machine learning (ML) and AI-like systems are becoming quite popular in business these days. More and more companies are trying to find ways to use these computer science tools to improve their organizations capabilities. Whether these techniques will continue to be popular remains to be seen, but in the short term, all the efforts of companies like Microsoft and Amazon will get many companies to try to build intelligent systems.

    There is a lot of data being used to fuel these AI and ML applications, so it’s a natural fit that many data professionals will want to be involved. It’s a complex area, where lots of data is used to conduct lots and lots of experiments. That type of work my not suit many of you, but give it a try on one of these platforms and see what you think. Perhaps this is work you will enjoy. However, even if you enjoy the work and become good at it, there’s potentially some issue that may impact the use of these systems.

    We don’t know how most of the applications actually work. That’s because we haven’t programmed them. In some sense, many of these systems learn from data, and with a little guidance, but there isn’t necessarily a debug log that might explain all the actions. That is perhaps the dark secret of AI. We don’t really understand what’s going on.

    The article linked above looks at autonomous cars, which a number of companies are researching and building. One of the issues with the complex system(s) that runs the car is that we don’t necessarily know how it works. This might not bother technical people, but it certainly does bother many people. When there is a problem, and there will be a problem since there are always failures, how do we determine what went wrong and make it better? Add more data and retrain the system? I’m not sure that is a solution that most people will accept.

    Ultimately I think some of the research and work on AI needs to focus on allowing the model to output a set of data on what data is being weighed and the impact on the flow of information that leads to a decision. I know this is a tremendous amount of data, but it is probably the type of analysis that is needed for accountability in these systems. After all, it’s not just cars where this matters. Imagine that your have an AI system that cuts off all AC in the summer, or decides not to order enough resources for a busy time period. How do we explain to management that “the system just decided” on that course of action? I really think we need better tools for analyzing these models.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 4.1MB) podcast or subscribe to the feed at iTunes and Libsyn.

  • Data Science en Masse

    GE is an amazing company. They seem to have so many divisions and produce a wide variety of products. Their financial investment success amazed the world and made Jack Welch an icon to many businesspeople. I remember reading about revolutionary management techniques at one of their jet engine plants that dramatically increased efficiency and performance of that location, similar to the ways that DevOps can produce better software. They have transformed the company from light bulbs to televisions to nuclear power and more across the decades.

    And they’re not done yet. GE is building a workforce for the 21st century, teaching many of their employees about data science and machine learning. The company is working to retrain scientists and help them explore new ways of using AI techniques to build better software. There are machine learning and data analytics courses available to employees, with the aim of creating hybrid employees that add digital skills to the knowledge they already have in other areas.

    Why is GE looking to transform it’s workforce with data science skills? They are creating AI software for their products and hoping to expand this further into more areas. With the competition from many other vendors, the ability to generate better results for clients, even just slightly better, might be enough of a differentiator to allow them to continue to grow as a leading industrial company.

    Would this work for your company? Your import organization, service company, retail business? Perhaps. Machine Learning isn’t perfect and doesn’t produce the best decisions, but if it can slightly improve the performance of your organization, perhaps it’s worthwhile. Microsoft is certainly making some of practical elements cheaper with the easy to use with new products, such as Azure Machine Learning.

    The challenge is that this is just the final element. Your company still needs someone that has built some knowledge of the deep mathematical concepts behind machine learning and has spent quite a bit of time experimenting with your data, building models and determining the relevant features needed. Preparing and loading data is also a challenge, which is why I think one of the core skills future data professionals need is the ability to quickly and effectively build ETL pipelines. If you can get those things done, a tool like Azure ML might be just the thing to add a few efficiency (or profitability) points to your bottom line.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 3.8MB) podcast or subscribe to the feed at iTunes and Libsyn.