Sergio Sancho Azcoitia

Sergio Sancho Azcoitia

Estudiante de ingeniería industrial eléctrica e investigador de seguridad en el equipo de Ideas Locas CDO de Telefónica.
AI & Data
MYCIN: the beginning of artificial intelligence in medicine
The world of artificial intelligence is expanding into more and more areas, and its presence in our daily lives is increasingly common—from video games to the creation of smart homes. Much of this progress has been driven by expert systems, originally designed to learn from humans and replicate their behaviour. Today, we’re taking a look at how one of these systems became a milestone in the medical field. MYCIN was one of the earliest expert systems in the history of AI. Its goal was to support the diagnosis of blood diseases, assisting doctors and saving them time in clinical decision-making. It could identify the bacteria responsible for infections in patients and recommend appropriate antibiotics, adjusting doses based on the patient’s weight. It also detected severe infectious diseases such as meningitis and bacteraemia. MYCIN was a pioneer in proving that a machine could match—and sometimes surpass—human doctors in specific tasks. Development of MYCIN began in the early 1970s at Stanford University as part of the PhD thesis of Edward Shortliffe, under the supervision of several experts including Bruce Buchanan. The system was written in Lisp and took five to six years to complete. Its name, "MYCIN", was inspired by the names of some of the antibiotics it recommended. How MYCIN worked: a breakthrough that never reached hospitals MYCIN was an expert system built on a series of cause-and-effect rules, with a database containing around 500 rules. For the program to function, the user had to answer a set of yes/no questions. Based on the input, MYCIN would provide a list of likely bacterial causes along with a confidence score. Its behaviour closely resembled that of a real doctor—it could even explain the reasoning behind its conclusions and prescribe the necessary medication to treat the infection. Its 70% diagnostic accuracy often outperformed medical specialists. Although MYCIN was highly successful, it was never implemented in hospitals. Its results were strong—it achieved around 70% accuracy, often exceeding that of human experts in tests carried out under the same conditions. A legacy that lives on Despite its high diagnostic accuracy, MYCIN faced significant criticism and was never adopted in hospitals due to legal concerns. If the program delivered an incorrect diagnosis that negatively affected a patient’s health—or even resulted in death—who would be held accountable? MYCIN opened the debate on AI's legal responsibility in critical decision-making. While the full potential of expert systems in medicine is yet to be realised, many initiatives are already under way. Today, these systems are also being used successfully in a wide range of sectors: from selecting the best candidates for credit approval in banking, to mineral exploration and genetic engineering. IA & Data Precision medicine: your DNA is a key tool to take care of your health July 15, 2024 Actualizado abril 2025.
November 15, 2018
AI & Data
A history of Lisp and its use in neural networks (II)
Last month, we started a two-article series talking about Lisp. First part covered the history, its beginnings and uses when it comes to creating neural networks. Today however, we will show you how Lisp works, and how you can create a simple neural network. Before we begin, let’s refresh our memory on how neural networks work. Neural networks base themselves on a series of nodes or “neurons” that have connections between themselves and form a series of layers. The way they work is compared to the behavior of the human brain when it solves a problem, as the signal progresses, it will take one path or another according to a series of pre-established parameters. Our neural network in question will be simple, meaning it will only consist of three layers, and its function will be to find whom we are thinking about, out of all our team members. If we see the image below, the nodes or neurons correspond to the names of our teammates and the layers correspond to the conditions that lead us to one answer or another. Figure 2. Even though this neural network consists of 3 layers, you can always increase the complexity of a neural network by adding more layers and sublayers (Source : Gengiskanhg, Wikipedia.) To create the different layers in the network, we will only use questions with “yes” or “no” answers. The questions will be carefully chosen so that when answering them, either a response is offered or you move onto the next layer. This process will be repeated as many times as necessary until a final response is obtained. As the user answers questions, the number of possible candidates for a final answer will decrease. In this brief example, for each question answered, an answer is obtained and, if not, a possible candidate is discarded. Figure 3. Our example of a neural network that tells us who are thinking about As we have said before, this example is simple, but starting with this as a base, you care create neural networks that are much more complex, adding layers and sublayers. A clear example of this is expert system Akinator, that we have mentioned before on the blog. In the case of Akinator, it counts with an immense neural network that increases as new characters (nodes) are added to the game. The Lisp language is one the best examples to understand some of the concepts surrounding Artificial Intelligence, and functional programming (such as recursion). This is one of the reasons it has become the favorite of many MIT researchers to develop his projects during the years after its appearance. ◾ CONTINUING THIS SERIES AI of Things A history of Lisp and its use in neural networks (I) June 20, 2018
July 23, 2018
AI & Data
A history of Lisp and its use in neural networks (I)
Today we kick off a new series that will consist in two articles in which we will briefly introduce you to Lisp. We are going to look at its origins and history and then we will teach you how to create a small neural network for yourself using this programming language. Since the 50’s, functional programming has been increasingly used in the field of artificial intelligence, and this owes a lot to the emergence of Lisp. This “high-level” language was created by John McCarthy, now seen by many as the father of Artificial Intelligence. His idea was to optimize the functioning and use of the resources that the computers of the era had available, and List Processor (Lisp) was born as a result. This new language, based in part on the already-existing Fortran, used some innovative technique such as data “trees” (a hierarchical data structure), or the use of “symbolic computation” (also known as “computer algebra”), out of which symbolic programming would later been born. As mentioned before, functional programming had its beginnings in the 50’s, more or less at the same time as Lisp. This new programming style was the one that the IBM 700/7000 series computers were based upon. The way Lisp functions is largely based upon lambda calculus, which is a universal computational model that can be used to simulate any Turing machine. Its name, due to the Greek letter lambda, is used to refer to linking one variable to a function. This type of calculus is surprisingly simple and powerful. Its core foundation is two simple fundamentals: the abstraction of functions (which serves to generalize expressions by introducing variables) and applying a function (used to evaluate an expression by given names to given values). Lisp didn’t take long before it became the favorite language of the world of Artificial Intelligence. At MIT, for example, it regularly became used in research projects. Unlike other languages, its mathematical base allowed it to solve operations and to test theorems. Throughout history, many of the most revolutionary languages and programs in the field of Artificial Intelligence have been based on Lisp. In fact, regularly used terms such as If, Else and Then were invested by John McCarthy. Despite the terms mentioned previously, Lisp uses a different structure of other programming languages, notably in what the mathematical algorithms refer to. However, it is not a complicated language to learn. To finish this first article, we will briefly explain how a small neural network works. Neural networks are based on a series of small nodes (artificial neurons) that are connected to each other in a series of layers. It attempts to simulate the behavior of a human brain when it solves a problem. As the entry signal moves through the layers, it will go one way or the other based on a number of established parameters until a result is reached. Neural networks have been used over the years to carry out various tasks such as voice recognition and creating expert systems. This technology marked a change in the course of artificial intelligence in the 80’s. ◾ CONTINUING THIS SERIES AI of Things A history of Lisp and its use in neural networks (II) July 22, 2018
June 21, 2018