0% found this document useful (0 votes)
81 views20 pages

Practical 7 Introduction To Fuzzy Logic

Fuzzy logic is a form of logic that deals with reasoning that is approximate rather than fixed and exact. It allows partial truth and handles incomplete or ambiguous data. Fuzzy logic variables have truth values between 0 and 1 rather than just true or false. It is similar to human reasoning and is able to process incomplete data and provide approximate solutions. Fuzzy logic uses linguistic variables and terms with values like "young" or "old" rather than numerical values. It expands the dichotomy of true/false to include a range of answers between. Fuzzy rules can cover a broader area than binary logic.

Uploaded by

Shailesh Goel
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views20 pages

Practical 7 Introduction To Fuzzy Logic

Fuzzy logic is a form of logic that deals with reasoning that is approximate rather than fixed and exact. It allows partial truth and handles incomplete or ambiguous data. Fuzzy logic variables have truth values between 0 and 1 rather than just true or false. It is similar to human reasoning and is able to process incomplete data and provide approximate solutions. Fuzzy logic uses linguistic variables and terms with values like "young" or "old" rather than numerical values. It expands the dichotomy of true/false to include a range of answers between. Fuzzy rules can cover a broader area than binary logic.

Uploaded by

Shailesh Goel
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

PRACTICAL 7 Introduction to fuzzy logic

Introduction:
Fuzzy logic is a form of many-valued logic or probabilistic logic; it deals with reasoning that is approximate rather than fixed and exact. In contrast with traditional logic theory, where binary sets have two-valued logic: true or false, fuzzy logic variables may have a truth value that ranges in degree between 0 and 1. Fuzzy logic has been extended to handle the concept of partial truth, where the truth value may range between completely true and completely false. The reasoning in fuzzy logic is similar to human reasoning. It allows for approximate values and inferences as well as incomplete or ambiguous data (fuzzy data) as opposed to only relying on crisp data (binary yes/no choices). Fuzzy logic is able to process incomplete data and provide approximate solutions to problems other methods find difficult to solve. Terminology used in fuzzy logic not used in other methods is: very high, increasing, somewhat decreased, reasonable and very low. While variables in mathematics usually take numerical values, in fuzzy logic applications, the non-numeric linguistic variables are often used to facilitate the expression of rules and facts. A linguistic variable such as age may have a value such as young or its antonym old. However, the great utility of linguistic variables is that they can be modified via linguistic hedges applied to primary terms. The linguistic hedges can be associated with certain functions. Fuzzy logic in it's simplest terms expands the dichotomy of true or not true to include a range of answers in between. The usual example is say instead of being black or white, fuzziness allows for shades of gray. Since fuzzy logic allows this extra bandwidth in fuzzy answers, fuzzy rules used in programming can cover a much broader area. A fuzzy rule such as "When it rains, you get wet" can cover a lot of ground. It would be able to several instant ions of itself such as "when it rains a lot, you get wet a lot" or "when it rains a little, you get wet a little". Fuzzy Logic is a problem-solving control system methodology that lends itself to implementation in systems ranging from simple, small, embedded micro-controllers to large, networked, multi-channel PC or workstation-based data acquisition and control systems. It can be implemented in hardware, software, or a combination of both. FL provides a simple way to arrive at a definite conclusion based upon vague, ambiguous, imprecise, noisy, or missing input information. Fuzzy Logic's approach to control problems mimics how a person would make decisions, only much faster.

26 | P a g e

Example Fuzzy set theory defines fuzzy operators on fuzzy sets. The problem in applying this is that the appropriate fuzzy operator may not be known. For this reason, fuzzy logic usually uses IF-THEN rules, or constructs that are equivalent, such as fuzzy associative matrices. Rules are usually expressed in the form: IF variable IS property THEN action For example, a simple temperature regulator that uses a fan might look like this: IF temperature IS very cold THEN stop fan IF temperature IS cold THEN turn down fan IF temperature IS normal THEN maintain level IF temperature IS hot THEN speed up fan There is no "ELSE" all of the rules are evaluated, because the temperature might be "cold" and "normal" at the same time to different degrees. The AND, OR, and NOT operators of boolean logic exist in fuzzy logic, usually defined as the minimum, maximum, and complement; when they are defined this way, they are called the Zadeh operators. So for the fuzzy variables x and y: NOT x = (1 - truth(x)) x AND y = minimum(truth(x), truth(y)) x OR y = maximum(truth(x), truth(y)) There are also other operators, more linguistic in nature, called hedges that can be applied. These are generally adverbs such as "very", or "somewhat", which modify the meaning of a set using a mathematical formula. FEATURES: FL offers several unique features that make it a particularly good choice for many control problems. 1) It is inherently robust since it does not require precise, noise-free inputs and can be programmed to fail safely if a feedback sensor quits or is destroyed. The output control is a smooth control function despite a wide range of input variations. 2) Since the Fuzzy Logic controller processes user-defined rules governing the target control system, it can be modified and tweaked easily to improve or drastically alter system performance. New sensors can easily be incorporated into the system simply by generating appropriate governing rules.

27 | P a g e

3) Fuzzy Logic is not limited to a few feedback inputs and one or two control outputs, nor is it necessary to measure or compute rate-of-change parameters in order for it to be implemented. Any sensor data that provides some indication of a system's actions and reactions is sufficient. This allows the sensors to be inexpensive and imprecise thus keeping the overall system cost and complexity low. 4) Because of the rule-based operation, any reasonable number of inputs can be processed (18 or more) and numerous outputs (1-4 or more) generated, although defining the rulebase quickly becomes complex if too many inputs and outputs are chosen for a single implementation since rules defining their interrelations must also be defined. It would be better to break the control system into smaller chunks and use several smaller FL controllers distributed on the system, each with more limited responsibilities. 5) Fuzzy Logic can control nonlinear systems that would be difficult or impossible to model mathematically. This opens doors for control systems that would normally be deemed unfeasible for automation.

Fuzzification
The fuzzification comprises the process of transforming crisp values into grades of membership for linguistic terms of fuzzy sets. The membership function is used to associate a grade to each linguistic term. Fuzzification is the process of changing a real scalar value into a fuzzy value. This is achieved with the different types of fuzzifiers. There are generally three types of fuzzifiers, which are used for the fuzzification process; they are 1. Singleton fuzzifier, 2. Gaussian fuzzifier, and 3. Trapezoidal or triangular fuzzifier. Fuzzification of a real-valued variable is done with intuition, experience and analysis of the set of rules and conditions associated with the input data variables. There is no fixed set of procedures for the fuzzification.

28 | P a g e

Defuzzification
The last step in the fuzzy inference process is defuzzification. Fuzziness helps us to evaluate the rules.But the final output of a fuzzy system has to be a crisp number. The input for the defuzzification process is the aggregate output fuzzy set and the output is a single number. Defuzzification means the fuzzy to crisp conversions. The fuzzy results generated cannot be used. As such to the applications, hence it is necessary to convert the fuzzy quantities into crisp quantities for further processing. The output of an entire fuzzy process can be union of two or more fuzzy membership functions.

Membership functions are used in the fuzzi_cation and defuzzi_cation steps of a FLS, to map the non-fuzzy input values to fuzzy linguistic terms and vice versa. A membership function is used to quantify a linguistic term. Some points regarding defuzzification: Continuity: small change in the input shouldnot produce the large change in the output Disambiguity: Defuzzification method should always result in a unique value, I.e. no ambiguity. Plausibility: Z* should lie approximatly in the middle of the support region and have high degree of membership. Computational simplicity.

29 | P a g e

Propositional Logics:
Propositional logics are concerned with propositional (or sentential) operators which may be applied to one or more propositions giving new propositions. All arguments are reducible to symbols, which represent either elements of an argument or ways these elements are put together. All arguments contain statements, by definition. Each statement is represented by a propositional variable p, q, r, s. All arguments also contain connections, or ways in which individual propositions are related. Each of these connections are represented by one of five operators

Putting propositional variables together with operators creates a statement form, or a symbolic blueprint identifying typical structures of English expressions. Propositional Operators: (tilde, negation) Not, it is false that, conjunctions like dont (dot, conjunction) And, also, but, in addition, moreover v (wedge, either-or) Or, unless > (implication or conditional, if,then) Is a sufficient (or necessary) condition of, if-then, implies, given that, only if (biconditional, if and only if) If and only if, is equivalent to, is a sufficient and necessary condition of All operators except the tilde must relate at least two propositions. The tilde negates either a proposition directly, or an operator relating to propositions (by standing directly before a parentheses/bracket/etc.) ~ p = not p; p is not true, etc ~ p ~ q = p is false and q is false; p and q are both false ~ ( p q ) = not both p and q (maybe one is true and one false) If there is more than one operator (excluding tildes), then some portion of the statement must be included in parentheses/brackets/etc. Well-formulated (wff) formula Not a well-formulated formula (non-wff)

30 | P a g e

pv~q

pv~q>r

The tilde negates either a proposition directly, or an operator relating to propositions (by standing directly before a parentheses/bracket/etc.). Well-formulated (wff) ~ (p q) r formula Not a well-formulated formula (non-wff)

(p ~ q) r

Use clue words: If, then; on the condition that: > Both; and; also; etc: Either, or; or maybe both: v If one, then the other; if and only if; always occur together: Negation; it is not true that, not: ~

Predicate Logic:
Predicate logic builds heavily upon the ideas of proposition logic to provide a more powerful system for expression and reasoning. As we have already mentioned, a predicate is just a function with a range of two values, say false and true. We already use predicates routinely in programming, e.g. in conditional statements of the form if( p(...args ...) ) Here we are using the two possibilities for the return value of p, (true or false). We also use the propositional operators to combine predicates, such as in: if( p(....) && ( !q(....) || r(....) ) ) Predicate logic deals with the combination of predicates using the propositional operators we have already studied. It also adds one more interesting element, the "quantifiers". The meaning of predicate logic expressions is suggested by the following: Expression + Interpretation + Assignment = Truth Value Here: An interpretation for a predicate logic expression consists of: - a domain for each variable in the expression - a predicate for each predicate symbol in the expression - a function for each function symbol in the expression Propositional operators are not counted as function symbols in the case of predicate logic, even though they represent functions. The reason for this is that we do not wish to subject them to interpretations other than the usual propositional interpretation. Also, we have already said that predicates are a type of function. However, we distinguish them in predicate logic so as to separate predicates, which have truth values used by propositional operators, from functions
31 | P a g e

that operate on arbitrary domains. Furthermore, as with proposition logic, the stand-alone convention applies with predicates: We do not usually explicitly indicate == 1 when a predicate expression is true; rather we just write the predicate along with its arguments, standing alone. An assignment for a predicate logic expression consists of: a value for each variable in the expression. Example Consider the expression: x < y || ( y < z && z < x) ^ ^ ^ predicate symbols Here || and && are propositional operators and < is a predicate symbol (in infix notation). An assignment is a particular predicate, say the less_than predicate on natural numbers, and values for x, y, and z, say 3, 1, and 2. With respect to this assignment then, the value is that of 3 < 1 || ( 1 < 2 && 2 < 3) which is false || ( true && true) i.e. true. With respect to the same assignment for <, but 3, 2, 1 for x, y, z, the value would be that of 3 < 2 || ( 2 < 1 && 1 < 3) which would be false. As long as we have assigned meanings to all variables and predicates in the expression, we can derive a false or true value. Now we give an example where function symbols, as well as predicate symbols, are present. ( (u + v) < y ) || ( (y < (v + w)) && v < x) ^ ^ function symbols would be an example of an expression with both function and predicate symbols. If we assign + and < their usual meanings and u, v, w, x, y the values 1, 2, 3, 4, 5 respectively, this would evaluate to the value of ( (1 + 2) < 4 ) || ( (4 < (2 + 3)) && 2 < 4 ) which is, of course, true. In propositional logic, we use letters to symbolize entire propositions. Propositions are statements of the form "x is y" where x is a subject and y is a predicate. For example, "Socrates is a Man" is a proposition and might be represented in propositional logic as "S".In predicate logic, we symbolize subject and predicate separately. Logicians often use lowercase letters to symbolize subjects (or objects) and uppercase letter to symbolize predicates. For example, Socrates is a subject and might be represented in predicate logic as "s" while "man" is a predicate and might be represented as "M". If so, "Socrates is a man" would be represented "Ms". The important difference is that you can use predicate logic to say something about a set of objects. By introducing the universal quantifier (""), the existential quantifier ("") and variables ("x", "y" or "z"), we can use predicate logic to represent thing like "Everything is green" as "Gx" or "Something is blue" as "Bx".
32 | P a g e

PRACTICAL 8 Introduction to Prolog


Introduction of Prolog Programming
PROLOG is a simple, yet powerful programming language, based on the principles of first-order predicate logic. The name of the language is an acronym for the French `PROgrammation en LOGique'. About 1970, PROLOG was designed by A. Colmerauer and P. Roussel at the University of Marseille, influenced by the ideas of R.A. Kowalski concerning programming in the Horn clause subset of first-order predicate logic. The name of PROLOG has since then been connected with a new programming style, known as logic programming. Until the end of the seventies, the use of PROLOG was limited to the academic world. Only after the development of an efficient PROLOG interpreter and compiler by D.H.D. Warren and F.C.N. Pereira at the University of Edinburgh, the language entered the world outside the research institutes. The interest in the language has increased steadily. However, PROLOG is still mainly used by researchers, even though it allows for the development of serious and extensive programs in a fraction of the time needed to develop a C or Java program with similar functionality. The only explanation is that people like wasting their precious time. Nevertheless, there are a large number of fields in which PROLOG has been applied successfully. The main applications of the language can be found in the area of Artificial Intelligence; but PROLOG is being used in other areas in which symbol manipulation is of prime importance as well. Some application areas are: Natural-language processing; Compiler construction; The development of expert systems; Work in the area of computer algebra; The development of (parallel) computer architectures; Database systems.

PROLOG is particularly strong in solving problems characterized by requiring complex symbolic computations. As conventional imperative programs for solving this type of problems tend to be large and impenetrable, equivalent PROLOG programs are often much shorter and easier to grasp. The language in principle enables a programmer to give a formal specification of a program; the result is then almost directly suitable for execution on the computer. Moreover, PROLOG supports stepwise renement in developing programs because of its modular nature. These characteristics render PROLOG a suitable language for the development of prototype systems.
33 | P a g e

There are several dialects of PROLOG in use, such as for example, C-PROLOG, SWI-PROLOG, Sicstus-PROLOG, LPA-PROLOG. C-PROLOG, also called Edinburgh PROLOG, was taken as a basis for the ISO standard. C-PROLOG itself is now no longer in use. The language definition of C-PROLOG is derived from an interpreter developed by D.H.D. Warren, D.L. Bowen, L. Byrd, F.C.N. Pereira, and L.M. Pereira, written in the C programming language for the UNIX operating system. Most dialects only have minor syntactical and semantical differences with the standard language. However, there are a small number of dialects which change the character of the language in a significant way, for example by the necessity of adding data-type information to a program. A typical example is powered by the version of the PROLOG language supported by Visual PROLOG. In recent versions of PROLOG, several features have been added to the ISO standard. Modern PROLOG versions provide a module concept and extensive interfaces to the operating system, as well as tools for the development of graphical user interfaces. In more conventional, imperative languages such as C++, Java and Pascal, a program is a specification of a sequence of instructions to be executed one after the other by a target machine, to solve the problem concerned. The description of the problem is incorporated implicitly in this specification, and usually it is not possible to clearly distinguish between the description of the problem, and the method used for its solution. In logic programming, the description of the problem and the method for solving it are explicitly separated from each other. This separation has been expressed by R.A. Kowalski in the following equation: algorithm = logic + control The term `logic' in this equation indicates the descriptive component of the algorithm, that is, the description of the problem; the term `control' indicates the component that tries to find a solution, taking the description of the problem as a point of departure. So, the logic component defines what the algorithm is supposed to do; the control component indicates how it should be done. A specific problem is described in terms of relevant objects and relations between objects, which are then represented in the clausal form of logic, a restricted form of first-order predicate logic. The logic component for a specific problem is generally called a logic program. The control component employs logical deduction or reasoning for deriving new facts from the logic program, thus solving the given problem; one speaks of the deduction method. The deduction method is assumed to be quite general, in the sense that it is capable of dealing with any logic program respecting the clausal form syntax. The splitting of an algorithm into a logic component and a control component has a number of advantages:
34 | P a g e

The two components may be developed separately from each other. For example, when describing the problem we do not have to be familiar with how the control component operates on the resulting description; knowledge of the declarative reading of the problem specification suffices. A logic component may be developed using a method of stepwise refinement; we have only to watch over the correctness of the specification. Changes to the control component affect (under certain conditions) only the efficiency of the algorithm; they do not influence the solutions produced.

An environment for logic programming offers the programmer a deduction method, so that only the logic program has to be developed for the problem at hand.

Features of Prolog: The main characteristics/notions of the Prolog programming language are:

based on logical programming with Horn clauses fully object oriented object predicate values (delegates) strongly typed algebraic data types pattern matching and unification controlled non-determinism fully integrated fact databases
35 | P a g e

supports parametric polymorphism automatic memory management supports direct linkage with C/C++ supports direct calling of Win32 API functions

The object system is constructed for loose coupling between a provider and a user. Objects can only be accessed through interfaces, and interfaces are only loosely coupled to implementations. Any class can implement any interface with or without inheriting implementation from other classes. The combination of strong type check, no-need-for-pointer-arithmetic, and automatic memory management practically removed access violations. Prolog has a long reputation for not producing access violations. Algebraic data types, fact databases and pattern matching combined with non-deterministic search makes Visual Prolog very well suited for dealing with complex structured knowledge. Application of Prolog: Some applications of Prolog are:

intelligent data base retrieval natural language understanding expert systems specification language machine learning robot planning automated reasoning problem solving

36 | P a g e

PRACTICAL 9 Study of Neural Networks


Introduction to Neural Network An Artificial Neural Network (ANN) is an information processing paradigm that is inspired by the way biological nervous systems, such as the brain, process information. The key element of this paradigm is the novel structure of the information processing system. It is composed of a large number of highly interconnected processing elements (neurones) working in unison to solve specific problems. ANNs, like people, learn by example. An ANN is configured for a specific application, such as pattern recognition or data classification, through a learning process. Learning in biological systems involves adjustments to the synaptic connections that exist between the neurones. This is true of ANNs as well.

What are connectionist neural networks?


Connectionism refers to a computer modeling approach to computation that is loosely based upon the architecture of the brain. Many different models, but all include: Multiple, individual nodes or units that operate at the same time (in parallel) A network that connects the nodes together Information is stored in a distributed fashion among the links that connect the nodes Learning can occur with gradual changes in connection strength

Historical background
Neural network simulations appear to be a recent development. However, this field was established before the advent of computers, and has survived at least one major setback and several eras. Many importand advances have been boosted by the use of inexpensive computer emulations. Following an initial period of enthusiasm, the field survived a period of frustration and disrepute. During this period when funding and professional support was minimal, important advances were made by relatively few reserchers. These pioneers were able to develop convincing technology which surpassed the limitations identified by Minsky and Papert. Minsky and Papert, published a book (in 1969) in which they summed up a general feeling of frustration (against neural networks) among researchers, and was thus accepted by most without further analysis. Currently, the neural network field enjoys a resurgence of interest and a corresponding increase in funding.

37 | P a g e

The first artificial neuron was produced in 1943 by the neurophysiologist Warren McCulloch and the logician Walter Pits. But the technology available at that time did not allow them to do too much.

Why use neural networks?


Neural networks, with their remarkable ability to derive meaning from complicated or imprecise data, can be used to extract patterns and detect trends that are too complex to be noticed by either humans or other computer techniques. A trained neural network can be thought of as an "expert" in the category of information it has been given to analyse. This expert can then be used to provide projections given new situations of interest and answer "what if" questions. Other advantages include: 1. Adaptive learning: An ability to learn how to do tasks based on the data given for training or initial experience. 2. Self-Organisation: An ANN can create its own organisation or representation of the information it receives during learning time. 3. Real Time Operation: ANN computations may be carried out in parallel, and special hardware devices are being designed and manufactured which take advantage of this capability. 4. Fault Tolerance via Redundant Information Coding: Partial destruction of a network leads to the corresponding degradation of performance. However, some network capabilities may be retained even with major network damage.

Comparison of Brains and Traditional Computers

200 billion neurons, 32 trillion synapses Element size: 10-6 m Energy use: 25W Processing speed: 100 Hz Parallel, Distributed Fault Tolerant Learns: Yes Intelligent/Conscious: Usually

38 | P a g e

1 billion bytes RAM but trillions of bytes on disk Element size: 10-9 m Energy watt: 30-90W (CPU) Processing speed: 109 Hz Serial, Centralized Generally not Fault Tolerant Learns: Some Intelligent/Conscious: Generally No

How the Human Brain Learns?


Much is still unknown about how the brain trains itself to process information, so theories abound. In the human brain, a typical neuron collects signals from others through a host of fine structures called dendrites. The neuron sends out spikes of electrical activity through a long, thin stand known as an axon, which splits into thousands of branches. At the end of each branch, a structure called a synapse converts the activity from the axon into electrical effects that inhibit or excite activity from the axon into electrical effects that inhibit or excite activity in the connected neurones. When a neuron receives excitatory input that is sufficiently large compared with its inhibitory input, it sends a spike of electrical activity down its axon. Learning occurs by changing the effectiveness of the synapses so that the influence of one neuron on another changes. Components of a neuron

39 | P a g e

The synapse

From Human Neurones to Artificial Neurones We conduct these neural networks by first trying to deduce the essential features of neurones and their interconnections. We then typically program a computer to simulate these features. However because our knowledge of neurones is incomplete and our computing power is limited, our models are necessarily gross idealisations of real networks of neurones.

The neuron model An engineering approach The Key Elements of Neural Networks Neural computing requires a number of neurons, to be connected together into a neural network. Neurons are arranged in layers.

40 | P a g e

Inputs p1 p2 p3

Weights w1 w2 w3

f
Bias

a
Output

1
o

a f p1 w1 p2 w2 p3 w3 b f pi wi b

Each neuron within the network is usually a simple processing unit which takes one or more inputs and produces an output. At each neuron, every input has an associated weight which modifies the strength of each input. The neuron simply adds together all the inputs and calculates an output to be passed on. A simple neuron An artificial neuron is a device with many inputs and one output. The neuron has two modes of operation; the training mode and the using mode. In the training mode, the neuron can be trained to fire (or not), for particular input patterns. In the using mode, when a taught input pattern is detected at the input, its associated output becomes the current output. If the input pattern does not belong in the taught list of input patterns, the firing rule is used to determine whether to fire or not.

A simple neuron

41 | P a g e

A more complicated neuron The previous neuron doesn't do anything that conventional computers don't do already. A more sophisticated neuron is the McCulloch and Pitts model (MCP). The difference from the previous model is that the inputs are 'weighted', the effect that each input has at decision making is dependent on the weight of the particular input. The weight of an input is a number which when multiplied with the input gives the weighted input. These weighted inputs are then added together and if they exceed a pre-set threshold value, the neuron fires. In any other case the neuron does not fire.

An MCP neuron

42 | P a g e

Architecture of neural networks Feed-forward networks Feed-forward ANNs allow signals to travel one way only; from input to output. There is no feedback (loops) i.e. the output of any layer does not affect that same layer. Feed-forward ANNs tend to be straight forward networks that associate inputs with outputs. They are extensively used in pattern recognition. This type of organisation is also referred to as bottomup or top-down. An example of a simple feed forward network

Feedback networks Feedback networks can have signals travelling in both directions by introducing loops in the network. Feedback networks are very powerful and can get extremely complicated. Feedback networks are dynamic; their 'state' is changing continuously until they reach an equilibrium point. They remain at the equilibrium point until the input changes and a new equilibrium needs to be found. Feedback architectures are also referred to as interactive or recurrent, although the latter term is often used to denote feedback connections in single-layer organizations.

An example of a complicated network

43 | P a g e

Network layers
The commonest type of artificial neural network consists of three groups, or layers, of units: a layer of "input" units is connected to a layer of "hidden" units, which is connected to a layer of "output" units. The activity of the input units represents the raw information that is fed into the network. The activity of each hidden unit is determined by the activities of the input units and the weights on the connections between the input and the hidden units. The behavior of the output units depends on the activity of the hidden units and the weights between the hidden and output units. This simple type of network is interesting because the hidden units are free to construct their own representations of the input. The weights between the input and hidden units determine when each hidden unit is active, and so by modifying these weights, a hidden unit can choose what it represents.

Perceptrons
1 billion bytes RAM but trillions of bytes on disk Element size: 10-9 m Energy watt: 30-90W (CPU) Processing speed: 109 Hz Serial, Centralized Generally not Fault Tolerant Learns: Some Intelligent/Conscious: Generally No

NNs VS COMPUTERS Digital Computers Deductive Reasoning. We apply known rules to input data to produce output. Computation is centralized, synchronous, and serial. Memory is packetted, literally stored, and location addressable. Not fault tolerant. One transistor goes and it no longer works.
44 | P a g e

Exact. Static connectivity. Applicable if well defined rules with precise input data. Neural Networks Inductive Reasoning. Given input and output data (training examples), we construct the rules. Computation is collective, asynchronous, and parallel. Memory is distributed, internalized, short term and content addressable. Fault tolerant, redundancy, and sharing of responsibilities. Inexact. Dynamic connectivity. Applicable if rules are unknown or complicated, or if data are noisy or partial.

Applications of neural networks


1. Neural Networks in Practice Since neural networks are best at identifying patterns or trends in data, they are well suited for prediction or forecasting needs including: sales forecasting industrial process control customer research data validation risk management target marketingNeural networks in medicine 2. Modelling and Diagnosing the Cardiovascular System 3. Electronic noses 4. Instant Physicia 5. Neural Networks in business 6. Marketing 7. Real-life applications The tasks artificial neural networks are applied to tend to fall within the following broad categories: Function approximation, or regression analysis, including time series prediction, fitness approximation and modeling. Classification, including pattern and sequence recognition, novelty detection and sequential decision making. Data processing, including filtering, clustering, blind source separation and compression. Robotics, including directing manipulators, Computer numerical control.

45 | P a g e

You might also like