Over the past ten years, the field of machine learning has exploded from an academic curio to one of the most in-demand fields in computer science. Data scientists and machine learning specialists are now in demand in almost every sector, and real-world salaries reflect a lack of supply. But what exactly differentiates the field of machine learning from artificial intelligence, or even from regular software?
Artificial intelligence (AI) has a well-known public image reflected in some of the most influential cultural works of the past 50 years, but the reality is often more mundane. The term has become overloaded, a buzzword used to glamorize novel algorithms that solve difficult problems. When we complain to a company online, we might find ourselves talking to a chatbot that seems human at first, but on closer inspection is really looking for keywords in a script and then responding with an appropriate, pre-programmed response – if you go off-script, you’ll either receive nonsense in return or get jarringly redirected to a convenient human backup. Online social media platforms might release ‘AI’ systems to identify trolls or bad actors, but these are easily fooled by typos or become overly censorious (for further information, refer to the ‘Scunthorpe problem’). In either case, the illusion that we are speaking to a machine with human-level intelligence quickly shatters, and the famous Turing Test is failed. Computer scientists are entirely aware of these failings and continually search for improvement – what if we could instead get a machine to learn on its own from a set of data? Rather than write AI algorithms to solve specific problems, we could instead write algorithms that teach the machine to learn (or do the computer equivalent of learning)? At 24HourAnswers, we have a team of computer science veterans with detailed industry knowledge of machine learning - no matter your level of study, we have experts ready to offer machine learning assignment help, or assist with any machine learning project or coursework you might be facing.
Let us start then with a dataset with which we can train our machine. Perhaps we could get a large sample of handwriting from different people, where we ask them to write different letters and words against an input we supply. For example, we might give them a grid and ask them to sequentially write the numbers from 0 to 9. (NIST provides handwriting datasets).
(Sample from the aforementioned NIST dataset)
Now we have many example inputs for each given value. We can then program a computer to divide each square in the grid into several smaller squares (say a 9 by 9 grid of 81 squares). By looking at all the handwriting inputs for the number 1, we can work out the statistical likelihood of any square in an example of 1 as having ink in the central square (i.e., position 5, 5). If every person in our input data set wrote the number 1 in exactly the same way, in the centre of the square, the machine would learn that a 1 has a 100% chance of having ink in square 5,5, but a 0% chance of having ink in the top left corner. Conversely, the figure 0 would never have ink in that central square. Thus, immediately, our algorithm can distinguish 1 from 0 by simply checking the central square and seeing if there’s ink in it. Great!
In reality however, every person transcribes each figure differently every time he or she writes it. Every input example will be offset from the centre, of a different size, at a different angle – there will only be some common statistical patterns, rather than any absolutes. This becomes vastly more complicated when we introduce the rest of the numbers from 2 to 9, then introduce all characters (both upper and lower case!) Back in our original example, we could distinguish a 0 from a 1 by checking the central square of the grid it’s been written in. We could very easily write this code ourselves, and it would involve no element of machine learning. Unfortunately, this wouldn’t help us differentiate between, say, 6 and 8. A classical approach might be to manually build up a library of rules to identify these different characters. Such a system would be complex and brittle, with every character given a set of rules to identify it. It would become particularly laborious if we were to extend into, say, other alphabets. Besides, we want to leverage the power of machine learning. So, what can we do?
Instead of programming the system how to solve the problem, we want the system to be able to learn how to solve a problem for itself. An (artificial) neural network is system-designed to do just this, based on our knowledge of the workings of the brain. A brain is comprised of neurons, which are designed to transmit information to other structures in the body when they receive stimuli. In a neural network, a neuron does exactly this. The simplest way to understand this is a perceptron, which will take some input (or set of inputs) and emit an output of either 1 or 0 on the basis of those inputs. For example, let’s say we wanted to configure a neuron that determines if it’s time for you to go to bed. One input might be the time, and the other might be the day of the week. If it’s not too late, regardless of the day of the week, the output of the neuron will be 0 (i.e. false) – you don’t need to go to bed at 4pm. However, things become more complex at 11pm. If we need to get up early tomorrow because it’s midweek, we will emit a 1 (i.e. true) if the current day is Sunday to Thursday. However, if it’s Friday or Saturday, we might still emit 0, only changing this to a 1 after another few hours of partying. Naturally this is a very simple example, and it works as a single neuron working in isolation – there’s no network to speak of.
(A representation of a single neuron)
Where it gets interesting is when we begin to connect the outputs of neurons to the inputs of other neurons. This means that we can add additional levels of neurons that make decisions on the basis of groups of other neurons rather than input signals directly. Essentially, decisions can be made at increasingly higher, more abstract levels as we continue to pipe more neuron outputs to other inputs. However, this is still binary – each neuron emits either a 1 or a 0, and thus the entire network could be replicated as a series of IF statements in any programming language. Additionally, the entire network swings wildly between ‘true’ and ‘false’ outcomes.
We can upgrade our binary perceptrons into sigmoid neurons which instead emit discrete values between 1 and 0. At this point, the neuron can be used to model a statistical likelihood instead of simple, all or nothing, true or false evaluations. Think back to our handwriting example. If we look at a huge number of sample inputs, the machine can build up a statistical model about what the figures 1 or 0 look like on average. Some input examples will not have ink in the central square for a 1 because of the way they’ve been written; some examples may ink in that square for a zero because they’re off-centre. Other numbers will also either have or not have ink in that central square. Thus, we can have a sigmoid perceptron for every number, that takes the central square as an input, and emits the probability of that number having ink in the central square. We can then do the same for all the other numbers and characters in the alphabet, and connect these neurons together in a network. The system has learned from data what characters look like and built up a model, rather than having been told what to do in a set of programmed rules. Specifically, what we’ve built utilises supervised learning.
(An illustration of connections between neurons, or cells)
Numerous other forms of machine learning techniques are used, but the general concept – getting the machine to learn to solve problems on its own – is common. Now that you’ve gained an understanding of some of the most common components of neural network, you’ll be ready to dive into creating and tweaking your own machine learning algorithms. Whatever you might be working on, the machine learning tutors at 24HourAnswers are ready and waiting to help you achieve your goals.
Computer vision is a fascinating area of research that’s wide-ranging, and full of problems far harder to solve than text recognition. That’s not to say that the fundamental way of approaching these other problems isn’t the same – it’s just that the training set must become incrementally larger to accommodate the complexity of the problem. If you’ve ever filled out a Captcha test online to prove you’re not a robot, the odds are you’ve been helping Google identify something – street signs or storefronts for example. It comes as no coincidence that we are being asked to label street scenes in the era of the self-driving car: as a species, we’re providing the training data for these machine-learning algorithms from which to draw inferences. If you think about how many people are interacting with Captcha each day, you get a sense of how much data is needed to train an algorithm like this.
Machine learning extends far beyond this. Every time you see a recommended product on an online shopping site, you are probably engaging with a machine that learns about you. The same goes for recommended content on social media, such as Instagram or Twitter – a model is being used to drive you towards content that will most likely engage you. Outside of e-commerce and social networks, machine learning models are used exhaustively in climate science, the energy sector, aeronautical design, finance, natural language processing (think Alexa or Google Assistant), security and surveillance, product design… It’s difficult to imagine a sector that isn’t being at least partly driven by machine learning.
Numerous online courses are available from providers such as edx, Coursera and MITOPENCOURSEWARE. These provide a good pathway for those who already have experience in programming – typically in Python, which is a good place to start for those unfamiliar. If you’re approaching university and trying to choose a field, statistical fields or computer science will provide you with a good grounding for going on to do a master’s degree in Data Science. Whilst the field is in high demand, competition is still fierce – you will find yourself up against people with PhDs in related fields, and so to compete this may also be the route you must take. Be prepared for a long, but extremely rewarding, educational pathway.
As you dive deeper into machine learning, no matter what environment or language you’re using, we have tutors available to help with any problems you might encounter. Our expert tutors can help with any aspect of machine learning, whether you’re just beginning to become familiar with neural networks or are trying to crack a complex problem. We can offer live tutors or provide writeup deliverables, where a tutor can deliver you clearly written, production quality code with accompanying detailed descriptions and documentation. More advanced students facing larger challenges will also find no shortage of help from our experts, who can help guide the design and development of your machine learning algorithm, or simply provide advice and feedback to help you make code changes and revisions as needed. Regardless of the complexity of your requirements, our seasoned veteran computer scientists are ready to help.
24HourAnswers has been helping students as an US-based online tutoring business since 2005, and our tutors have worked tirelessly to provide students with the best support possible. We are proud to be A+ rated by the Better Business Bureau (BBB), a testament to the quality support delivered by our tutors every day. We have the highest quality experts, with tutors from academia and esteemed institutions such as the Massachusetts Institute of Technology (MIT).
Should you be interested in pursuing a career in this exciting field, remember that our homework help centre is standing by 24/7 to help assist you in all aspects of computer science, including the important field of machine learning.
Alexander Sofras is a technical architect with over 20 years of programming experience and 10 years in industry. He currently works in e-commerce and specialises in product discovery and recommendations.
Are you sure you don't want to upload any files?
Fast tutor response requires as much info as possible.