business dissertation thesis

Download Business Dissertation Thesis

If you can't read please download the document

Upload: dr-bryan-mills

Post on 16-Apr-2017

3.105 views

Category:

Business


1 download

TRANSCRIPT

The Multilayer Perceptron:

Bryan Mills 1997

xipage

The Application of Artificial Neural Networks to Business Problems

Bryan Mills

University of Plymouth Business School(Franchised to Cornwall College)

Honours project submitted as partial fulfilment for the degree of BA Honours in Business Administration

Supervisor: Dr Jon Tucker

14th May 1997

Acknowledgements:Firstly I would like to thank my supervisor Dr Tucker for his patience and generosity and, in addition, to acknowledge the contribution he has made to this dissertation. I would also like to thank Dave Ager, Jill Ferret and Mike Trennary for their tolerance and encouragement during both the dissertation and the degree programme. I would like to acknowledge the encouragement I have received throughout the degree from Buzz Banks, Helen Cobbin and Ken Waller. Also, I would like to take the opportunity to thank Paul Ingram for his uncompromising and contagious obsession with academia and Tony Butt for first introducing me to Chaos Theory and non-linearity.

Abstract:Artificial Neural Networks (ANNs) provide a powerful information technology based tool for decision making purposes. However, present literature on the subject is often found to be either inaccessible or of limited relevance to (general) business application. In this report ANNs are described in a more intuitive manner than found within much of the existing literature. Emphasis is placed upon the use of ANNs within the business environment, although the study still provides an introduction for wider application. Misconceptions surrounding ANNs, and Artificial Intelligence in general, are explored and recommendations are made with a view to their resolution. The advantages and disadvantages of ANNs are discussed and present applications are listed with a view to demonstrating the various application possibilities of ANNs. To enable wider application of ANNs within business, and to reduce misguided application, a schema has been developed. This schema, which has been developed as both a flowchart and a computer program, allows the potential ANN user to critically appraise the use of ANNs for a given decision making problem.

Contents:(modified simple)Acknowledgements:iiAbstract:iiiList of Diagrams: (build from table of figures style - delete list of tables first)viList of Tables: (build from tables style)viGlossary of terms:viiiChapter 1 - Introduction1General Introduction1Popular Misconceptions Concerning Neural Networks:4Chapter 2 - Discussion of Aims, Methodology and Research Philosophy8Aim:8Objectives:8Benefit of the project to industry and commerce:8The growth of research in the neural area:9Methodology and Approach:10Schema development:11Chapter 3 - Explanation of the Fundamental Concepts of ANNs12Introduction:12An outline explanation of the fundamental concepts of Artificial Neural Networks:12Knowledge Based Systems:13The difference between Artificial Neural Networks and Conventional Knowledge Based Systems:14Explanation of the operation of ANNs:16First Principles:16Knowledge Based Systems:16Rule Based System:18Artificial Neural Networks:18Overview:18Components:20Nodes:20Weights and bias terms:22Generalisation:23Choice of mapping or activator function:25Data pre-processing:26Training:28Topology:30The Multilayer Perceptron - an example of supervised learning/training:30The Kohonen self organising net- an example of unsupervised learning/training:32Summary:33Chapter 4 - Investigation into advantages, disadvantages and current application of ANNs.36Introduction:36Advantages and disadvantages:36Current application of ANNs:38Summary:41Chapter 5 - Schema for the assessment of the suitability of ANNs for given problem43Introduction:43Schema:43Explanation of Schema:47Summary:52Chapter 6 - Conclusions and Recommendations.53Conclusion:53Limitations:55Further Research56Appendix 1 - Example of Training Process57Appendix 2 - Bayesian Updating:58Appendix 3 - Instructions for Running The Computer Program:59Appendix 4 - Computer Code-list60Appendix 5 - Sample Output:87Appendix 6 - Visual Basic as a Programming Language:88Bibliography:89List of Diagrams: (build from table of figures style - delete list of tables first)Diagram 1 - Patent Activity9Diagram 2 - Methodology10Diagram 3 - Knowledge Based System17Diagram 4 - Single Neuron Calculation19Diagram 5 - Representation of a Neuron19Diagram 6 - Screen dump of a text file for use in WinNN21Diagram 7 - Class Membership23Diagram 8 - Universe of objects24Diagram 9 - Sigmoid Function25Diagram 10 - The Multilayer Perceptron31Diagram 11 - Kohonen Self Organising Feature Map33Diagram 12 - The operation of ANNs - flow diagram35Diagram 13 - Schema46

List of Tables: (build from tables style)Table 1 - Sample Problem14Table 2 - Simplified weight method15Table 5 - Input file explanation22Table 4 - Sigmoid values27Table 5 - Data pre-processing28

Glossary of terms:Activator function - an equation (mapping function) which describes a neurons internal state as the total of its inputs; net = xiwi-, where x is an input w is a weight.Algorithm - a procedure or series of steps used to solve a problemAutoassociative - mapping the original pattern from noisy or incomplete dataBackpropagation - an algorithm which compares results with expected answers and then passes the difference back through the network to facilitate weight adjustment.Bias term - A systematic error () introduced to each node independently to allow control over the otherwise independent node output. Cell - A neuronDatabase - In this instance, a set of facts (data) stored within a computer systemDependant variable - A variable which will be altered or created by the change in value of an independent variable(s). Normally shown on the left hand side (LHS) of an equation..EPOS - Electronic point of sale - the computer connection between cash-tills and the central computer within a retail store EPS - Earnings per share (accountancy measure)Front-end subsystem - A computer program designed to simplify (humanise) the input and output of dataFuzzy - A set whose members belong to it to some degree. In contrast a standard set contains its members either all or none (Kosko, 1993).Function - A rule which maps one set element onto a different element in another set, sales level could be said to be a function of demandGeneralise - The ability to identify a wide range of objects, patterns etc. from a minimal set of key descriptive dataHeteroassociative - mapping input pattern set to different output pattern setHyperplane - A plot involving more than 3 dimensions and therefore difficult to represent graphically Independent variable - A variable which will alter or create the change in value of a dependent variable(s). Normally shown on the right hand side (RHS) of anequationInference engine - The part of a knowledge based systems programming which deduces results from given facts/dataKnowledge based system - The separation of data and control (algorithms) allowing the computer to respond to a series of differing inputs by calling on a library of information (knowledge base) as opposed to altering variables contained explicitly within the programs structure. Mapping function - A rule linking the elements of one set to those of another; usually shown as F:xy; the function which maps the x onto y.Multivariable - Containing a large number of independent variablesNetwork - A collection of interconnected nodes forming a topology Neuron - A single activator function, a processing element, a mapping function through which variables must pass, a calculation pointNodes - NeuronsNon-linearity - Equations containing powers, roots, trigonometric or logarithmic functions.Normalisation - A form of data pre-processing which seeks to give all inputs/outputs a commonality by constraining their values to within a pre-determined rangePre-processing - Alterations to data before use (normalisation, removal of outliers, ratiosplitting). Usually conducted with the intention of increasing the networks efficiency or conversion of non-numeric data to numeric. Propositional logic/calculus - A step by step inference system for determining whether a given proposition is true or false. There are various forms of propositional logic (modus ponens, modus tollens, denial of antecedent etc. ), but all are based on a deviations of: If x is true then y must be true/false, If and only if x is true then y is true/false etc. (Eysenck and Keane, 1995). Ratio splitting - Using the component parts of a ratio separately as opposed to using the result (GPMargin = GP/Sales; use GP and Sales as input not GP Margin)Real-time - The collection and processing of data as events occur as opposed to the use of historic data. EPOS works in real-timeROCE - Return on capital employed (accountancy measure)Set - A collection of elements defined by a rule which makes them separable from other sets - e.g. men and women are two separate sets (separated by sex) but are also within the common set of humans (separated from other animal forms by species)Sigmoid - A common ANN Activator function. An equation which has the effect of reducing all independent variables to an answer of between tending towards 1 and tending towards 0 (never reaching either 1 or 0) and is generally given thus: where x is summed input and e is the mathematical constant that is the base of natural logarithms (2.71828.....)

Topology - In this instance an attempt to graphically represent the interconnection of nodes within the network. Topology is often one of the key distinguishing features separating different ANNs (others being training method and activator function)Training method - As ANNs self learn by exposure to data it is necessary to have an algorithm which allows the ANN to distinguish between correct and incorrect responses. This may either be supervised (told when incorrect and what should have been the output), unsupervised (self learning pattern recognition) or reinforced (told simply if correct or incorrect) Training set - A collection of data used to train the ANN, usually separated into a training set and a hold out or test set Vector - A quantity which has both magnitude and direction. ANNs input consists of a one dimensional array of differing x values of the form x1w1+x2w2+x3w3+...xnwn, where x indicates input and w indicates weightWeights - A value which is altered by the ANN to enable the emphasis of the variable upon which it acts to be either strengthen or weakened. A variable coefficient which determines strength of an inputs effect on output Bryan Mills 1997Chapter 1 - Introduction36page Chapter 1 - IntroductionGeneral IntroductionBusiness involves a complex mix of people, policy and technology, and exists within the constraints of economics and society (Clifton and Sutcliffe, 1994). It is often the precise way in which these items are mixed that can create either success or failure for an organisation. This presents the manager with two key tasks; the efficient collection and analysis of all relevant information. From this analysis the manager will be able to formulate strategies, define objectives and implement plans for there fruition. The provision and analysis of information, within business, is often referred to as the decision support process and the methodology adopted referred to as decision support systems (DSS). Business decisions can often be viewed as the solution of various mathematical problems. Whether it be determining the price level of a product, the benefit of expansion into a new market, staff levels or the probability of a project failing mathematics usually plays a role. In fact, due to the overriding objective of maximising shareholders wealth (McLaney, 1994) found within all profit making organisations, it can be said that, as wealth/profit is measured numerically, it would be difficult, if not impossible, to view the organisation meaningfully in any other way Non-profit making organisation seek cost efficiency - another mathematical measure.One of the key problems in any decision is the availability and cost of perfect information. Given perfect information (all the facts concerning a decision with complete confidence in these predictions being correct) there would be little for the business manager to decide, it would simply be a choice of the project which maximised overall contribution Overall Contribution - the manager would consider the organisations other ventures, market share, market growth and long term survival in his/her decision. Most decisions, however, are not based on perfect information. This is generally due to a combination of the prohibitive cost of gathering such information, the availability of information and the intrinsic unpredictability and complexity of the markets in which business operates. Ongoing developments in the field of Information Technology has enabled the gathering, storage and retrieval of much larger quantities of information than was previously possible. Stock Markets can be observed in real-time, supermarkets know the exact quantities of goods on their shelves (via Electronic Point of Sale (EPOS)) and their customers weekly shopping lists (via Loyalty Cards), companies can measure the exact output of machines on the shop floor (via Computer Aided Manufacturing). This information is, however, worth only as much as the gain derived from its ownership. To be able to quote a share price or stock level is fine, but the information has already become historic. What is required in decision making is a means by which to identify patterns and trends in the large volumes of data currently available, and to increase the confidence in the predictability of this data to an acceptable level.The capabilities Artificial Neural Network (ANN) models have in recognising patterns and trends in large volumes of data has meant that they are being increasingly used for a variety of industrial/commercial applications. ANNs are a form of computer software which took their original inspiration (McCulloch and Pitts, 1943) from mans limited understanding of the workings of the human brain. Research has been carried out in this area for two broad reasons. The first and original was an attempt to model the human brain electronically to develop a greater understanding of its operation. The second, and most relevant in this instance, is the development of these models as a mathematical tool for studying patterns and relationships in data. The mathematics which form these models are particularly useful when dealing with non-linear problems, problems which cannot be graphed by use of a straight line, of which there are numerous examples in business (demand/price, production level/cost, share price/ROCE/EPS - an increase in the independent variable (price) does not guarantee a proportionate increase in the dependant (demand)). ANNs are also capable of dealing with dependant variables which may have several variables acting on them (e.g. interest rates, inflation and estimation of risk - in cost of capital calculation), the relationship between each being both theoretically appreciated and explainable but not easily converted into an equation or algorithm (Klimasauskas, 1991 and Scocken, 1994). It is the ability to deal with non-linearity, multivariables and large volumes of data which gives ANNs what is perhaps their most impressive features - pattern recognition and self learning. ANNs receive their information (their knowledge) via a process of training. Sets of data and desired results are passed through the network until the computer is able to create, to a reasonable degree of accuracy, the desired result. This is made possible by the networks ability to generalise the training data presented to it and form an output, given new inputs, based on this generalisation. Once this training stage is complete a problem (independent variables) can be input and a result (dependent variable) is generated.Current application of ANNs includes, amongst others; stock and money market forecasting (Trippi and Turban,1996), face and handwriting recognition (Rogers, Kabrisky, Ruck and Oxely, 1994), recognising whether station platforms are busy or not, missile direction systems, voice recognition, voice control of computers, data mining (Wiggins, 1994), industrial signal processing (Wiggins, 1994), modelling of traffic flow (Recker, 1995), human resource management (redundancy selection) (Coit, 1996), new product feasibility studies (Madu, 1995), risk evaluation, chemical analysis, weather forecasting and resource management (Davalo, Nam, 1991), a complement to business decision support systems (Scocken, 1994), operations quality control (Horridge, 1997) and the processing of marketing data.Popular Misconceptions Concerning Neural Networks:The subject of Artificial Neural Networks (ANNs) is an example of a name not being self explanatory. The description Artificial Neural Network is a misnomer, it suggests an artificial representation of the human mind (it being composed of a network of neurons). Exciting though the creation of an artificial mind would be, the ANNs currently in operation are little more than computer programs capable of doing clever sums. The cleverness of these sums, however, is not to be taken lightly. Systems have been developed which are able to identify patterns in very large samples of data, produce a method of calculating relationships between data where conventional mathematics would have been inadequate for practical application, and represent a very strong possibility of development of systems better suited to understanding our own fuzzy Fuzzy - e.g. Language - hot, warm, cold mean different temperatures to different people and the boundary between hot and warm (for example) is not clear (is 18 degrees warm, 19 degrees hot and just as hot as 28 degrees?) world. As a subject, ANNs are fairly inaccessible and fraught with misconceptions. The subject is clouded by two separate, but interrelated explanations, and this difficulty is further compounded by the absence of accessible knowledge. On the one hand there are the works of various academics and academic institutions. On the other is the general publics Used here simply to describe those outside of the fields of Mathematics, Computing and Psychology - not intended to be in any way derogatory. understanding of what ANNs represent - if they are aware of them at all. The publics understanding stems mainly from the world of science fiction and popular science programmes. It is a world of Arthur C Clarkes HAL (2001 etc.), Philip K. Dicks Bladerunner More correctly - the original book was called- Do Androids Dream of electric Sheep - thinking machines which inevitably turn on their creators, with devastating results The defence analyst and writer Warwick Collins has gone so far as to call on the government to restrict the human attributes scientists can give programmes/machines (Millar 1996, The Guardian Newspaper, (17/12/96) page 4, eighth paragraph)).. This understanding is not assisted by the anthropomorphic nature of the language surrounding ANNs and the willingness of some academics to emphasise this definition (for example - Professor Aleksander, Imperial College London - Magnus [a computer program] has a mind of its own - (Millar The Guardian Newspaper, 17/12/96 page 4, second paragraph), 1996)). The use of words such as thinking, neuron and understanding all point towards machines which, eventual, may replicate the human thought process to the point of being conscious. The reality of the situation is quite different, at present computers can represent little more than a few thousand neurons, compared to 10,000 in a Cockroachs brain and 100 billion in a humans (The Economist, 1995).The academic world often uses anthropomorphic terms to overcome some of the limitations of language and the mathematical nature of more correct descriptions. For example in the development of a computer system to control the heating, lighting and ventilation of an office building one may be tempted to use expressions such as -to develop a system which is aware of its environment. However, use of the word aware may suggest consciousness and use of its environment, as opposed the environment in which it operates could suggest ownership and, therefore, existence beyond being an object. The difficulty stems from the absence of a more correct, and equally as convenient, shorthand. The alternative - to develop a system which constantly monitors the surrounding environment and compares this information with a pre-programmed set of ideal conditions - explains the process with a reduced likelihood of confusion, but is not necessarily more accurate. The readers frame of reference provides the key to which language would be more appropriate. The use of such terminology creates few problems within the field because the level of understanding is such that the words used often have two separate meanings - the computer related meaning and the human related meaning - for example:Neuron - Human related meaning - a cell which responds to various inputs by producing responses - a processing unit.

Computer related meaning - a part of ANN computer program which performs a calculation - a processing unit.

The definitions are similar and would appear to suggest that, if a significant number of computer neurons were assembled, a human brain could be replicated. Whilst this formed the inspiration behind some of the early research in the field (for example Rosenbalt 1958, 1961), modern theory points to a level of complication within the human brain which makes the early optimism seem naive at best. A more comprehensive discussion on matters of human and machine consciousness is found in Penrose, 1988, Emperors New Mind, and 1994, Shadows of The Mind.This thesis is intended to explain Artificial Neural Networks in such a way as to reduce some of the confusion which often surrounds the topic. In addition it is intended to simplify the application of ANNs (to a given problem) by the development of a schema (both paper based and as computer program). This schema will greatly simplify the choice faced by the manager when considering which mathematical tools to use in both decision, classification and control problems. To enable the full value of this schema to be realised the thesis begins with a comprehensive review and simplification of existing literature. As previously discussed the confusion stems from three broad areas - media hype, anthropomorphic descriptions and texts aimed at a specialist reader (scientific) and it is intended that this thesis will contribute towards redressing this balance.

Bryan Mills 1997Chapter 2 - Methodology

Chapter 2 - Discussion of Aims, Methodology and Research PhilosophyAim:This study aims to develop a level of understanding from which the business manager (who is unlikely to be an IT specialist) can establish the relative merits/demerits of the ANN technique for business decision support analysis. The project aims to make inroads into some of the more accessible academic texts with a view to creating a more intuitive guide to ANN use aimed at the business manager and student. To aid this explanation a schema or system will be developed whereby the reader can assess the suitability of ANNs for a problem they wish to solve. To assist in the discussion on the suitability of ANNs for given problems there will also be an assessment of current uses and the advantages and disadvantages that application presents. Objectives:1) To conduct a literature review of the fundamental concepts underling ANNs.2) To examine the existing use of ANNs.3) To develop a system to enable problems to be assessed for the suitability of ANN application.

Benefit of the project to industry and commerce:Progress in the development of ANNs is closely tied to the development of computer equipment. It is only within the past 5 years that computing power has become cheap enough to make ANN use a viable possibility. However ANNs have remained in the exclusive domain of the scientist and mathematician for the past 45 years and there are few accessible texts for the non-specialist. The field of ANN contains possible solutions to business problems not fully addressed by present mathematical techniques (Tucker, 1997). As Gleick (1993) and Waldrop (1992) have commented, non-linearity of patterns are rife in the enormous volumes of information produced by industry and commerce (e.g. the financial pages, actuary data, market research responses). ANNs enable the user to analyse this data more accurately than traditional problem solving techniques, making them a commercial advantage to many industrial sectors.The growth of research in the neural area: The field of ANNs is expanding at an amazing rate. The expansion of the subject is closely linked to technological developments in the IT field. As this area continues to develop Moores Law suggests a doubling of the number of chips on a transistor every 18 to 24 months (J. Scholfeild, 1996, The Guardian Newspaper (31/10/96) page 3 Online Section). there will be an increasing expansion of opportunities in the field of ANNs (Medsker, Turban and Trippi, 1996). Funding of research within the field of ANNs is continuing with the Japanese government having budgeted $250 million over next 10 years, and the US government having pledged research funding of $400 million over next 6 years (The Economist, 1995). Graph showing patent activity in the field of ANN and the closely related field of Computational Intelligence.

Source: Zurada, Marks and Robinson, 1994Sheet: Chart1

Sheet: Sheet1

Sheet: Sheet2

Sheet: Sheet3

Sheet: Sheet4

Sheet: Sheet5

Sheet: Sheet6

Sheet: Sheet7

Sheet: Sheet8

Sheet: Sheet9

Sheet: Sheet10

Sheet: Sheet11

Sheet: Sheet12

Sheet: Sheet13

Sheet: Sheet14

Sheet: Sheet15

Sheet: Sheet16

1986.0

1986.0

1986.0

1987.0

1987.0

1987.0

1988.0

1988.0

1988.0

1989.0

1989.0

1989.0

1990.0

1990.0

1990.0

1991.0

1991.0

1991.0

1992.0

1992.0

1992.0

10.0

5.0

5.0

10.0

5.0

5.0

27.0

5.0

22.0

38.0

20.0

18.0

75.0

40.0

35.0

150.0

90.0

60.0

283.0

165.0

118.0

Patents

Year

ANN

Comp. Int

Combined

10.0

10.0

27.0

38.0

75.0

150.0

283.0

Diagram 1 - Patent ActivityDiagram 1 shows patent activity in the USA for the years 1986-92. It can be seen from the graph that the growth of work within this field is almost exponential. It is also important to note that the full extent of ANNs application within business (particularly finance) has yet to be realised (Farrar, Tucker and Bugmann, 1997). Methodology and Approach:Initial Literature ResearchExplain the Fundamental Concepts of Neural ComputingDiscuss Advantages /DisadvantagesDiscussion on Present ApplicationsDiscussion on how Neural Networks actually workWrite Synopsis (guided by Supervisor)Develop SchemaConclusionRecommendationsMethodology FlowchartPreliminary ResearchThe project is based mainly on a comprehensive literature survey and review of texts within the field of ANNs. The literature search was conducted in the first instance to develop a clear understanding of the subject. From this, a succinct explanation of the concepts underpinning artificial neural networks, aimed at business managers, has been produced. The greater understanding engendered by the literature research provides the basis for an analysis of the advantages and disadvantages of the use of ANNs and forms the foundation of the schema development.

Diagram 2 - Methodology

The above chart (Diagram 2) represents the flow of tasks from development of original synopsis to the conclusions and recommendations.Schema development:The schema, which forms the most pragmatic part of the thesis, was developed from the literature research. The schema seeks to answer the question Do ANNs offer a realistic solution to a given problem. As ANNs are capable of dealing with a variety of problems, and as the business community usually has a variety of different problems under review, it is intended that the schema will be general in its approach, whilst maintaining effectiveness and accuracy. The schema is developed both as a flow-chart and as a computer program. By establishing the specific data and training requirements of ANNs it is possible to construct a series of questions of a non-technical nature, which the manager can consider concerning the problem under review. The schema follows the flow of the responses and culminates in a suggestion for further action. The reasons for the suggested actions are explained, allowing the manager to consider various courses of action depending on the resources available to him or her. Where appropriate the schema will suggest alternative decision making techniques which could prove more cost efficient or accurate than the use of ANNs. Bryan Mills 1997Chapter 3 -Fundamental ConceptsChapter 3 - Explanation of the Fundamental Concepts of ANNsIntroduction:This chapter will seek to place ANN in the broader context of computer software. A highly simplified description of the workings of ANNs will follow. Once this basic understanding has been enabled a more detailed explanation will follow, which is intended to equip the reader with a reasonable level of knowledge on the topic, to enable both further study or practical application.An outline explanation of the fundamental concepts of Artificial Neural Networks:An ANN is simply a computer program which, through the adjustment of mathematical weights, is able to create a model capable of producing results (usually in the form 1 or 0, or scaled using decimals from 0 to 1) , for a given set of numeric input data, to a reasonable degree of accuracy. The network will often include Front-end subsystem (Attrasoft Users Guide and Reference Manual, 1996) to enable both data encoding and data decoding: Data encoding: to convert user-application data to neural input data. Data decoding: to convert neural output data back to user-application data.ANNs can be considered as part of the larger group of computer based techniques referred to as Knowledge Based Systems. Knowledge Based Systems:There are numerous forms of computer systems which fall under the general heading of Knowledge Based Systems (KBS). This use of computing power can be defined as:a system within which data is analysed by comparison with sets of pre-obtained data by following specific rules and/or weighted relationships (author)To facilitate this comparison the system will require a set (library, files, historic records) of knowledge. This knowledge is the basis upon which the system operates and can take numerous forms:Financial Data - credit limit, accounting ratios, past sales figures

Human Resource Data - qualifications, age, experience (years)

Operational Data - machine failures (frequency), tolerances, re-order levels

As can be seen from the above examples, the knowledge base is often a form of database of the sort now commonly found within most organisations. The difference between KBS and conventional databases is the level of interrogation and control which is placed within the systems remit. As opposed to merely storing data the system will be called upon to trawl through the data to identify trends and patterns of behaviour or it may use its knowledge to instigate some form of action. For example if a bill became overdue the system could issue a reminder without the need for an operator to intervene. This is possible because the system knows the date, the date the last payment was made, the difference between this date and todays and the companys policy on debtor days. This example also indicates the level of understanding possible - knowledge, in this instance, can in no way be said to be in the same sense as a human would know what it was to have an overdue bill. It becomes apparent that many modern databases are capable of achieving similar results to knowledge based systems. The difference between the conventional Conventional as opposed to ANNs knowledge based system and databases is becoming increasingly subtle and is more an emphases on use as opposed to structure. Most data bases (Microsofts Access for example) are capable of interrogating data and also of issuing notification should this be required.The difference between Artificial Neural Networks and Conventional Knowledge Based Systems:As previously discussed ANNs are part of the broad heading of KBS, however it is important to recognise that there are fundamental differences between ANNs and other KBSs. Whilst a KBS has the rules and relationships concerning its knowledge programmed into the system (albeit kept separate from the knowledge) ANNs develop their own rules and relationships through a process of self learning.The self-learning abilities of ANNs are most simply explained by example:Suppose the relationship between the following set of data was desired:Advertising Spend s1001505010200Sales s30045015030600Table 1 - Sample ProblemFrom the above table, by dividing sales by advertising spend (or by drawing a graph), it is quite possible to estimate that sales are three times advertising spend. It is possible to estimate this figure because, a) we appreciate and could prove a relationship between the variables, b) there are relatively few variables which c) enables a simplistic approach to the formulation of a equation (relationship). It can be appreciated that a more complex relationship may exist, which is beyond the simplistic approach used so far. To solve a multivariable and non-linear Non-linear - a relationship which would create a the graph of a curve as opposed to a straight line, the equation of which would contain powers x2etc.. relationship would require the use of statistical techniques which are often complicated and/or rely on a degree of approximation. ANNs take a different route to establishing the relationship between variables - by adjusting the values of numerical weights within a equation (function). The weights will act upon the data to alter its value with the intention of producing the desired result. To enable this process to take place the system must be exposed to the data a set at a time (e.g. Advertising Spend of 100 and sales of 300 is the first set of data in Table 1). The computer will, in the first instance, apply a guess as to the value of the weights to be used (although this starting value may well be pre-programmed or random (Hopgood, 1993)). This guess will, inevitably, prove to be wrong and the system will alter the weights and retry.The first set of data will be treated as below:Advertising Spend sWeightFunctionResultDesired Result s1001Spend * Weight100300

2Spend * Weight200300

3Spend * Weight300300 Table 2 - Simplified weight method It can be seen from the above that after a series of iterative steps the system was able to produce the desired result, and in our previous example this weight would be acceptable for all of the data sets. The function used in the above example is linear as opposed to the non-linear functions used within ANNs, also the number and relationship of the variables is more simplistic than would normally be encountered (for an example of the more complicated OR problem see Appendix 1). It is possible to imagine that if the relationship was more complicated and our weight of 3 proved unsuitable for the next data set it could be adjusted again and then re-used on both sets until a satisfactory relationship was obtained. Most ANNs have an adjustable degree of tolerance (between ANN output and training sets expected result), for example WinNN has adjustable target error to determine the acceptable Root Mean Square error RMS - the square root of the mean of a set of squared numbers, once target and RMS match training of that net is said to be complete - note; the lower the acceptable error the more refined, and less generalised the net becomes. The procedure described in this simplified model could be said to represent a single neuron (processing unit, cell). To enable more complicated relationships to be developed ANNs have more than one neuron and it is not uncommon for the results of one neuron to be the input of another. If these connections were viewed pictorially they would form a network of interconnected neurons, and hence; Artificial (non human) Neural (processing units) Network (interconnection of neurons). Explanation of the operation of ANNs:First Principles:Knowledge Based Systems:As discussed in the introduction, ANNs are a form of software that has the ability to self learn. Unlike more conventional (rule based) forms of knowledge-based systems the algorithms used to enable the inference engine (rule interpreter) to work are not hard programmed or explicit rules based along the IF...THEN...ELSE pattern. Instead the program uses a series of mathematical weights to establish data relationships. To enable an understanding of the difference it is first necessary to explain the basic components within knowledge based systems.Knowledge based systems contain 3 core components. An interface with the user (outside world) to enable both data input (keyboard, sensors, etc.) and output (monitor, servos, printout, etc.), a knowledge base (data base) and an inference engine (rule interpreter, instructions, main program). There are two other components often found within knowledge based systems; an explanation module ANN have great difficulty in satisfying this requirement and your attention is drawn to the discussion in Chapter 4 to enable the reasoning behind the decision made to be shown, and a knowledge acquisition module to enable the knowledge base to be built by use of one or more of the acquisition techniques possible (Hopgood, 1993). Diagram 3 illustrates the relationship between these components:

Explanation ModuleKnowledge BaseInference Engine

Knowledge Acquisition Input(Keyboard, Sensor, etc.)Output(Monitor, Printout etc.)Adapted from Hopgood, 1993

Diagram 3 - Knowledge Based SystemAs shown in diagram 3 the relationship between the components within a KBS is relatively straightforward. Information is gathered from the outside world, stored within a data base and, upon a query being made, accessed to provide an answer. Rule Based System: A rule based system is based, fundamentally, on the IF...THEN...ELSE structure (propositional logic/calculus). The following illustrates this point:IF credit level is greater than pre-agreed limitTHEN stop credit and issue reminderELSE do nothing

Where the credit level is computed from inputs and the pre-agreed limit is contained within the knowledge base. It is both common and desirable that the information required to process the rule is contained explicitly within the knowledge base as opposed to implicitly within the program to enable a more simplistic and robust method of updating to be used (e.g. as opposed to altering the programs source code entries in a data base are changed)(Hopgood, 1993). Whilst it is can be appreciated that this is a simplistic view of the workings of a rule based system further developments serve only to improve and compound this basic methodology (see for example; Appendix 2 - Bayesian Updating). Artificial Neural Networks:Overview:The key difference between ANNs and KBS lies with the inference engine. As opposed to having a logic imposed on it, the network is allowed to develop its own logic by means of training, either supervised or unsupervised. Weights are used to determine the strength of relationships and there is no IF...THEN...ELSE. Instead the network decides the relevance of inputs and their interconnections based on its own experience (e.g. it has been trained). Input Values

x1,x2,x3, etc.Input Value * Weightx1*w1+x2*w2+etc.fnonlinear(sum)Is Step 3 Output acceptable ?YESNOAdjust weightsStep 1Step 2Step 3Step 4

Adapted from Patterson, 1996The network consists of a selection of nodes or cells arranged structurally in a predetermined topology. The nodes are grouped in layers. This takes the form of an input layer, one or more hidden layers and an output layer. Each node accepts various inputs, adjusts them via weights, adds all inputs together them, uses them to calculate a non-linear function, outputs them for passing to another cell, or if last cell uses the output layer to compare the result with the expected answer and then passes the difference back through the network to allow weight adjustment to correct errors (backpropagation). A simplified single neuron calculation appears thus:Input Values

x1,x2,x3, etc.Input Value * Weighte.g. x1*w1+x2*w2+etc.fnonlinear(Step 2 result)Is Step 3 Output acceptable ?YESNOAdjust weightsStep 1Step 2Step 3Step 4

Adapted from Patterson, 1996

Diagram 4 - Single Neuron Calculation

Pictorially this can be represented thus:

Inputw1w2w3w4x1x2x3x4

OutputFnonlinear(wixi)y1

A simplified neuron

4 input variables (x)4 weights (w) 1 node with non-linear activator function1 output variable (y)

Source - The Author

Diagram 5 - Representation of a Neuron

This processes is explained, in detail, below and would normally be performed by numerous neurons/cells/nodes within one or more layers at the same time e.g. in parallel.Components: It is important to appreciate that ANNs gain their ability not from a predetermined layout or selection of weights but from the networks ability to adjust weights and alter (strengthen/weaken) connections between nodes. Before attempting to explain the mathematics behind these interconnections an explanation of the key components of the network is required. Nodes: Medsker, Turban and Trippi (1996) comment that most commercial ANNs have between 10 and 1,000 nodes arranged in three layers, and that although 4,5 or more layers is not unheard of, it is not deemed necessary for business applicationsHopgood (1993) describes a nodes role as to sum each of its inputs, subtract a bias term, , and pass the result through a non-linear function, fnon-linear, known as the activation function. Hopgoods emphasis on the bias term is discussed below. ANNs have sets of these calculating functions and a description is given by Patterson (1996) as Every ANN is composed of a set n of simple neural computing elements (neurons, units, processing elements or PEs, cells) and where this set of cells can be given as: C={ci } i=1,2,...,n.Patterson goes on to comment that cells can be grouped into three distinct categories; input, hidden (or interior) and output.

The interior layer of cells are the nodes which perform the majority of the calculation process and are discussed under various headings below (Weights and Bias Terms, Generalisation, Choice of Function). Input cells are the cells which take the initial input of stimuli (discrete keyed values or continuous sensor data) whilst output cells enable the display of results or the control of effectors. The inputs and outputs are usually represented by the vector x of n dimension and the output y of m dimensions (simply put; x1, x2,...,xn and y1, y2,...ym). .The input data often takes the form of a text file in PC based neural nets:

Diagram 6 - Screen dump of a text file for use in WinNN

The above input file demonstrates the relatively simplified form of data which may be used in ANN training and operation. The above example does not feature scaling of the variables as this is not required in this instance, however it does provide a representation of the form input files often take. The file represents 4 training sets, each with 2 inputs and 1 output (4,2,1). In the first training set (case) x1 would be 0, x2 would be 0, and the expected result (y1) would be 0. This would be followed by the second set which would be 0,1,1 respectively and the third etc. This data represents the commonly used XOR example/problem and gives the result 1 for an even number of inputs and 0 for an odd (Patterson, 1996). The trained network could be used to solve simple yes/no problems for example:Account Customer?Purchased Over 200 Units?Arrange visit by sales staffReasonnnnProbably not trade customer nyyOffer trade accountynyTry to increase sales to trade customeryynCredit limit probably reached

Table 5 - Input file explanationThe above example is highly simplified. It does, however, represent the style of business control system which uses yes/no responses. It is important to note that the reason for the decision would not be given by the ANN.Weights and bias terms:Once the data is entered into the network its connection from input layer to calculation node is used to facilitate the addition of weights. Patterson (1996) uses the following notation:

net=x1w1+x2w2+x3w3=xiwi where x is input variable and w is weight. Equation 1

Hopgood (1996) makes the point of subtracting a bias weight to give:

net=xiwi-Equation 2

whereas Patterson (1996) prefers the use of a bias fixed value of 1*w0 on one of the input links where w0=-. The use of either method is considered acceptable. The weights remain independent of the variables (x) so as to facilitate their adjustment during backpropagation. It is helpful (Patterson, 1996) to view the relationship between the weights, class membership and the bias value in terms of a two-dimensional plot. In more complicated example the weight value vector (wi) would define a hyperplane in n-space where n is equal to i- the number of variables. In this example n=2 and so it is two-dimensional.

net=w0+x1w1+x2w2=0x2x1Class 1net>0Class 2net Parameter, 1, 0) If(logical test, value if true, value if false)

s= Z - Y

Note: The initial weights in iteration 1 are a random choice.

Adapted from Medsker, Turban and Trippi. (1996) Page 16-18

Bryan Mills 1997 Appendix 3 - Instructions for Running The Computer ProgramBryan Mills 1997 Appendix 2 - Bayesian UpdatingAppendix 2 - Bayesian Updating:Bayesian updating allows knowledge to be updated based on a hypothesis weighting technique. In Bayesian updating estimations of probability are obtained from human experts (e.g. if profits are low in 20% of cases it is due to poor.....), the system is given an hypothesis based on this, it is then able to update the probability of this being true by use of evidence from inputs. This new information is used to strengthen (AFFIRMS) or weaken (DENIES) the value the system puts on that rule. The mathematics which allows this calculation to take place is derived from Bayess theorem as found in Collins Dictionary of Artificial Intelligence (Smith, 1990):

P(H|E)=P(E) / P(E|H)*P(H) Equation 4

Where H is event hypothesis and E is event evidence.

In words:The probability of the hypothesis being correct given the evidence = the probability of the evidence divided by the probability of the evidence given the hypothesis multiplied by the probability of the hypothesis being correct. (For a more complete explanation of Bayesian updating see Hopgood (1993) pages 88-111).The important concept to note is that whilst the system has become more dynamic it is still based on a logic or reasoning which was conceived before the system became active. Theoretically the system will improve with experience, but it is the connection of events (variables) made by the programmer which maintains the link with what is termed the IF...THEN...ELSE structure.Bryan Mills 1997 Appendix 3 - Instructions for Running The Computer ProgramAppendix 3 - Instructions for Running The Computer Program:To run the computer program which complements this dissertation requires a PC, capable of running Windows 95 or NT (e.g. a 32 Bit operating environment) with the ability to read from a 3 inch 1.44 Mb diskette (as attached to the back cover of this thesis).

From the Windows 95/NT desktop click the START button.

From the subsequent menu press RUN

In the dialogue box which appears type the following command line:A:\setup.exeInsert the disk labelled Net Solver Disk 1 into the A (diskette) drive.Press the OK button in the dialogue box.Follow the instructions on the screen.Net Solver will be installed in its own directory.To run Net Solver press the START button again and select the PROGRAMS group.Within this group the words Net Solver will be visible

- click on this to run. Follow the instructions on the screen, noting the availability of help screens for each questions (simply point at the question and click the left mouse button).

Bryan Mills 1997 Appendix 4 - Computer Code-listAppendix 4 - Computer Code-listIntroductionThe following program was written using Microsoft Visual Basic Version 4 Professional (VB4). Due to the fact that this is a visual language much of the code concerning button positions, label positions and form colour/size/style is written by Visual Basic itself and does not appear below. All text in the form - abc is additional notes, not part of the program.

Each form has numerous subroutines/procedures. These are activated when the form is Loaded, Re-Sized, when a button is pressed (Click) or when the form is revisited (Paint). Other /subroutines procedures are called from within the program, by the program, whilst it is running (Function).

In most instances the subroutine/procedure can be identified by the fact that it begins with the words Private, Sub or Function.

Each new form can be identified by bold larger font lettering at its beginning, this does not form part of the program and is included here to aid readability.

Each command can be defined in terms of Object.Property.Method. This program uses predominantly Object.Property. Where an object is a Form, Button, Label, Textbox etc. and the property is condition of that object.e.g. frmAbout.Show means - the form called frmAbout is visible

All forms begin frmAll (command) buttons begin cmdAll menu commands begin mnuAll text boxes begin txt All labels are referred to as labelfrmQ1.Q1Y refers to an option button called Q1Y on form Q1(author notation - not a requirement of VB4)

Chr$(13) is the equivalent of pressing return e.g. starts new lineMsgBox is a on screen message box (e.g. the sort that tells you that something has been sent to the printer)

Midi Form (parent form)

Private Sub MDIForm_Resize()frmWelcome.Move 0, 0, ScaleWidth, ScaleHeightfull screen End Sub

Private Sub mnuAbout_Click()frmAbout.Showexecute menu commandEnd Sub

Private Sub mnuExit_Click()Endexecute menu commandEnd Sub

Private Sub mnuHelpfile_Click()frmHelp.Showexecute menu commandEnd Sub

Answer Form

' Declare variables.

Dim Ans As String ' a string of textDim res As Integer ' a whole numberDim nam As StringDim des As StringDim books As StringDim rhsnum As Single ' a number to numerous decimal pointsDim casenum As Single

Private Sub Command2_Click()End ' exit programEnd Sub

Private Sub Form_Resize()Width = Screen.Width * 1 ' Set width of form.Height = Screen.Height * 1 ' Set height of form.Left = (Screen.Width - Width) / 2 ' Centre form horizontally.Top = (Screen.Height - Height) / 2 ' Centre form verticallyEnd Sub

Private Sub Print_Click() Dim Msg, nam ' Declare variables. On Error GoTo ErrorHandler ' Set up error handler. nam = " ************** ABC ANNs on (0110)111222 **************"

toprinter = "Project: " & Text2.Text & Chr$(13) & Chr$(13) & Ans & Chr$(13) & Chr$(13) & des & Chr$(13) & Chr$(13) & nam & Chr$(13) & Chr$(13) & "Net Solver by Bryan Mills" ' what is to be printed Msg = toprinter Call PrintLongText(Msg) 'call this procedure. Printer.NewPage ' Send new page. Printer.EndDoc' Printing is finished. Msg = "1 page has been sent to your printer." MsgBox Msg ' Display message. Exit SubErrorHandler: MsgBox "There was a problem printing to your printer." Exit SubEnd Sub

Private Sub cmdBack_Click()If frmQ1.Q1Y = False Then 'if the user has been forced frmQ1.Show 'to the end return to point frmAnswer.Hide 'of departure not form 9 frmQ1.Q1Y = True 'and reset formElseIf frmQ2b.Q2bY = False Then frmQ2.Show frmAnswer.Hide frmQ2.Q2Y = True frmQ2b.Q2bY = TrueElsefrmQ9.ShowfrmAnswer.HideEnd IfEnd Sub

Function Token$(tmp$, search$) x = InStr(1, tmp$, search$) 'determines start of strings If x Then Token$ = Mid$(tmp$, 1, x - 1) 'Mid(is there a string, start counting from here, this long) tmp$ = Mid$(tmp$, x + 1) Else Token$ = tmp$ tmp$ = "" End IfEnd Function

Sub PrintLongText(ByVal LongText As String)

' This procedure prints a text stream to a printer and' ensures that words are not split between lines and' that they wrap as needed.

Do Until LongText = "" ' do until end of text Word$ = Token$(LongText, " ") If Printer.TextWidth(Word$) + Printer.CurrentX > Printer.Width - Printer.TextWidth("ZZZZZZZZ") Then Printer.Print End If Printer.Print " " + Word$; LoopEnd Sub

Private Sub Form_Paint()

'This procedure checks all previous forms for responses and creates a'series of bullet points, displayed on the form, based on the results

Text2.Text = frmQ1.txtName 'display project name from question 1ann = 0 'this will eventually determine compatibilitycasenum = Val(frmQ6.txtCase.Text) 'number of cases, if usedrhsnum = Val(frmQ7.txtRhs.Text) 'number of RHS, if used

books = "The following books cover conventional techniques:" & Chr$(13) & "Quantitative Techniques, 4th Ed., T. Lucey 1992 (ISBN 1 873981 26 0), Business Finance for Decision Makers, 2nd Ed., E.J. McLaney, 1994, (ISBN 0 273 60421 X) and The Economist Numbers Guide, 1993, (ISBN 0 241 00180 3)" & Chr$(13) & Chr$(13) & "For more information contact:"

'-------------------------------------------------If frmQ1.Q1Y = True Then Q1 = "* The problem is quantifiable." & Chr$(13) ann = ann + 1Else: Q1 = "* As the problem you are attempting to solve is un-quantifiable the use of Neural Networks is not appropriate, perhaps more research into what goals are being sought is required." & Chr$(13)GoTo showtextEnd If'--------------------------------------------------If frmQ2.Q2Y = True Then Q2 = "* There is a theoretically/empirically justifiable relationship between variables." & Chr$(13) ann = ann + 1End If'--------------------------------------------------If frmQ2.Q2N = True And frmQ2b.Q2bY = True Then Q2 = "* As the results are to be used as part of an experimental exercise the lack of theoretical/empirical justification for variable choice is not a problem." & Chr$(13) ann = ann + 1ElseIf frmQ2.Q2N = True And frmQ2b.Q2bN = True Then Q2 = "* There is no justifiable relationship, you may wish to reconsider your choice of variables." & Chr$(13)GoTo showtextEnd If

'--------------------------------------------------If frmQ3.Q3Y = True Then Q3 = "* Adequate PC facilities are in place." & Chr$(13) ann = ann + 1Else: Q3 = "* You will need to purchase a minimum of 1 PC with a 486/66 processor and 16MB of RAM." & Chr$(13)End If'--------------------------------------------------If frmQ4.Q4Y = True Then Q4 = "* The cost of gathering and processing information has been allowed for." & Chr$(13) ann = ann + 1ElseIf frmQ4.Q4N = True Then Q4 = "* The cost of gathering and processing suitable information needs to be calculated" & Chr$(13)End If'-------------------------------------------------If frmQ5.Q5Y = True Then Q5 = "* The cost of the decision proving inaccurate could seriously affect the company's survival." & Chr$(13)ElseIf frmQ5.Q5DK = True Then Q5 = "* The cost, to the company's overall financial survival, of the decision proving inaccurate should be calculated." & Chr$(13)ElseIf frmQ5.Q5N = True Then Q5 = "* The cost of the decision proving inaccurate is not such as to seriously affect the company's survival." & Chr$(13) ann = ann + 1End If'-------------------------------------------------If frmQ6.Q6B = True Then q6 = "* There is not sufficient data available for training an ANN ( < 30 cases), perhaps conventional decision support techniques could be considered." & Chr$(13) ann = ann - 5ElseIf frmQ6.Q6A = True Then q6 = "* There is not sufficient data available for training an ANN ( < 17 cases), perhaps conventional decision support techniques could be considered (e.g. graphical methods)." & Chr$(13) ann = ann - 5ElseIf frmQ6.Q6C = True Then q6 = "* There is sufficient data available for training an ANN, however the amount would be regarded as on the lower end of the scale ( < 200 cases), conventional decision support techniques may prove cheaper/more accurate." & Chr$(13) ann = ann + 1ElseIf frmQ6.Q6D = True Then q6 = "* There appears to be sufficient data for training purposes (200+ cases)." & Chr$(13) ann = ann + 2End If'-------------------------------------------------If frmQ8.Q8Y = True And frmQ7.q7a = True Then Q7 = "* Due to the fact that there are only two variables, and there is strong correlation between them, the use of conventional decision support techniques would prove cheaper than ANNs." & Chr$(13) ann = ann + 1ElseIf frmQ7.Q7C = True And frmQ8.Q8N = True Then Q7 = "* The large number of variables (more than 10) and the lack of correlation may bring the relationship of the variables into question - reconsider variable selection discarding variables with low correlation." & Chr$(13) ann = ann + 1ElseIf frmQ7.Q7B = True And frmQ8.Q8N = True Then Q7 = "* The number of variables (3 - 9) and the lack of correlation may bring the relationship of the variables into question - reconsider variable selection discarding variables with low correlation." & Chr$(13) ann = ann + 1ElseIf frmQ7.Q7C = True And frmQ8.Q8Y = True Then Q7 = "* The large number of variables (more than 10) may bring the relationship of the variables into question - be prepared to justify choice of variables." & Chr$(13) ann = ann + 1.5ElseIf frmQ7.Q7B = True And frmQ8.Q8Y = True Then Q7 = "* The number of variables (3 - 9) is suitable." & Chr$(13) ann = ann + 2ElseIf frmQ7.q7a = True Then Q7 = "* Due to the fact that there are only two variables the use of conventional decision support techniques could prove cheaper than ANNs." & Chr$(13) ann = ann + 1Else Q7 = "* Whilst the number of variables is appropriate (3 - 9) concern is to be expressed regarding the lack of correlation - reconsider variable selection discarding variables with low correlation." & Chr$(13) ann = ann + 1End If

'---------------------------------------------------If frmQ8.Q8Y = True Then q8 = "* There is suitable correlation." & Chr$(13) ann = ann + 1 Else: q8 = "* There is low correlation - reconsider variable choice." & Chr$(13) ann = ann - 1End If

'---------------------------------------------------'If numbers have been entered this procedure will override Q6,Q7 and Q8'If casenum >= 1 ThenIf (rhsnum / casenum) = 1 ThenQ6A = Falseif a number has been entered set all option buttonsQ6B = Falseto falseQ6C = FalseQ6D = FalseEnd If

If Val(txtCase.Text) = 1 Thenif a number has been entered set all option buttons q7a = Falseto false Q7B = False Q7C = FalseEnd If

If Val(frmQ6.txtCase.Text) >= 1 And Val(txtRhs.Text) < 1 Thenif q6 has number and q7does not If Val(frmQ6.txtCase.Text) = 17 And Val(frmQ6.txtCase.Text) = 31 And Val(frmQ6.txtCase.Text) = 200 Then frmQ6.Q6D = True End IfEnd If

If Val(txtRhs.Text) < 1 And q7a = False And Q7B = False And Q7C = False ThenQ7B = True if there is a silly number or a letter return to defaultEnd If

If Val(frmQ6.txtCase.Text) = 1 Then If Val(frmQ7.txtRhs.Text) = 3 And Val(frmQ6.txtCase.Text) = 10 Then frmQ7.Q7C = True End If End If

frmQ8.ShowfrmQ7.HideEnd Sub

Private Sub Form_Load()frmQ7.Left = 1355frmQ7.Top = 1300Label1.Caption = "How many Right Hand Side variables are there?" & Chr$(13) & Chr$(13) & "(e.g. a=b+c+d has 3 RHS)"End Sub

Private Sub Form_Paint()cmdNext.SetFocusEnd Sub

Private Sub Label1_Click()frmQ7Help.ShowEnd Sub

Private Sub q7a_Click()If q7a = True ThentxtRhs.Text = ""clear text box if option button usedEnd IfEnd Sub

Private Sub Q7B_Click()If Q7B = True ThentxtRhs.Text = ""clear text box if option button usedEnd IfEnd Sub

Private Sub Q7C_Click()If Q7C = True ThentxtRhs.Text = ""clear text box if option button usedEnd IfEnd Sub

Private Sub txtRhs_Click()If Val(frmQ6.txtCase.Text) = 0 Thenif no number in Q6 do not allow number in Q7 txtRhs.Enabled = FalseElse: txtRhs.Enabled = TrueEnd IfEnd Sub

Question 7 Help Form

Private Sub cmdClose_Click()frmQ7Help.HideEnd Sub

Private Sub Form_Load()frmQ7Help.Left = 1355frmQ7Help.Top = 1200Label1.Caption = "A Right Hand Side variable is a variable on the side of the equation (function) which could be considered as the input. By convention the output is always placed on the Left Hand Side of the equation." & Chr$(13) & Chr$(13) & "Thus:" & Chr$(13) & Chr$(13) & "Output =function (input)" & Chr$(13) & Chr$(13) & "y = mx+c" & Chr$(13) & Chr$(13) & "circumference = 2*pi* radius" & Chr$(13) & Chr$(13) & "Too many RHS variables and the validity of their inclusion could be called into question. Consider data selection or scaling to reduce number."End Sub

Question 8 Form

Private Sub cmdBack_Click()frmQ7.ShowfrmQ8.HideEnd Sub

Private Sub cmdClose_Click()EndEnd Sub

Private Sub cmdNext_Click()If Q8Y = True And frmQ7.q7a = True Thenshow advice screen frmQ8b.ShowElsefrmQ9.ShowfrmQ8.HideEnd IfEnd Sub

Private Sub Form_Load()Q8N = TruefrmQ8.Left = 1355frmQ8.Top = 1300Label1.Caption = "By comparing RHS variables with LHS variables, one at a time, does the data show strong correlation?"End Sub

Private Sub Label1_Click()frmQ8Help.ShowEnd Sub

Question 8 Help Form

Private Sub cmdClose_Click()frmQ8Help.HideEnd Sub

Private Sub Form_Load()frmQ8Help.Left = 1355frmQ8Help.Top = 1200Label1.Caption = "If it is possible to plot the data, one RHS variable against one LHS variable, does it form a line or plane which is either near straight, straight or cyclical - see below." & Chr$(13) & Chr$(13)Label2.Caption = "eg in the case of A = B+C+D plot A against B, A against C, A against D" & Chr$(13) & Chr$(13)Label3.Caption = "If it is not possible to plot the data does it show strong correlation using statistical measures (Pearsons r, Kendalls rank coefficient etc.)."End Sub

Question 8b form

Private Sub cmdNext_Click()frmQ8b.HidefrmQ9.ShowEnd Sub

Private Sub Form_Load()frmQ8b.Left = 1355frmQ8b.Top = 1300Label1.Caption = "Due to the fact that there are only two variables, and there is strong correlation between them, it is almost certain that conventional decision support techniques will prove a cheaper alternative to ANNs."End Sub

Question 8b Help FormNot required

Question 9 Form

Private Sub cmdBack_Click()frmQ8.ShowfrmQ9.HideEnd Sub

Private Sub cmdClose_Click()EndEnd Sub

Private Sub cmdNext_Click()frmAnswer.ShowfrmQ2b.HidefrmQ9.HideEnd Sub

Private Sub Form_Load()Q9N = TruefrmQ9.Left = 1355frmQ9.Top = 1300Label1.Caption = "Would the outcome of the model dictate a decision or be just one of a number of tools?"End Sub

Private Sub Form_Paint()cmdNext.SetFocusEnd Sub

Private Sub Label1_Click()frmQ9Help.ShowEnd Sub

Question 9 Help Form

Private Sub cmdClose_Click()frmQ9Help.HideEnd Sub

Private Sub Form_Load()frmQ9Help.Left = 1355frmQ9Help.Top = 1200Label1.Caption = "It is important to establish what emphasis will be placed on the output of the ANN. In any decision making process more than one method of appraisal should be adopted." & Chr$(13) & Chr$(13) & "For example a combination of:" & Chr$(13) & Chr$(13) & " ANNs, conventional knowledge based systems, regression analysis and Delphi method may be used - with equal or differing weight placed on each method's decision."End SubBryan Mills 1997 Appendix 5 - Sample OutputAppendix 5 - Sample Output:The following is a sample printout from the Net Solver program:

Project Name: Test1*The problem is quantifiable.

*There is a theoretically/empirically justifiable relationship between variables.

*Adequate PC facilities are in place.

*The cost of gathering and processing information has been allowed for.

*The cost of the decision proving inaccurate is not such as to seriously affect the companys survival.

*There appears to be sufficient data for training purposes (200+ cases).

*The large number of variables (more than 10) and the lack of correlation may bring the relationship of the variables into question - reconsider variable selection discarding variables with low correlation.

*There is low correlation - reconsider variable choice.

70% ANN compatibilityLevel of compatibility acceptable proceed with ANN by contacting:************** ABC ANNs on (0110)111222**************Net Solver by Bryan Mills

Bryan Mills 1997 Appendix 6 - Visual Basic as a Programming Language

Appendix 6 - Visual Basic as a Programming Language:VB4 Microsoft Visual Basic Version 4 Professional is a Trade Mark of the Microsoft Corporation uses an enhanced version of the traditional BASIC (Beginners All-purpose Symbolic Instruction Code) language. BASIC is regarded as a high level language in that it is procedure (reusable sequenced steps) orientated and more closely resembles the English language than lower-level machine orientated languages (e.g. Machine code, FORTRAN, etc.). The visual aspect of VB4 refers to the ability to view the form (the window the end user will see) during design time, enabling the programmer to see more easily the affects of his/her alterations to the program. For example; to provide a form with a close button the command button icon is pressed (via the mouse) on VB4s toolbox. This then enables a button to be drawn on the form using the mouse. The position and size of the button can be adjusted using the mouse, also various other properties can be altered (name, caption etc.) using the Properties dialogue box. The button can then be programmed by viewing its code and entering the word End between the buttons name and the words End Sub. This button will now end the program when pressed during run time (e.g. when the main program being written is run). The key difference between this and non visual languages is the fact that the buttons existence need not be programmed by the developer (the programming of which would occupy many pages of code). Instead the button, and other controls, exist within a library and can be called upon by the programmer, either via VB4s toolbars or called from within the programs code in response to a users actions (e.g. there is a high level of automation within theVB4). VB4 is a relatively straight forward language for the novice programmer to use and comes complete with a generous help file containing many copy-able examples. VB4 cannot be compiled to machine code (unlike C or Pascal) and therefore requires certain DLL files to be loaded onto the host PC before a executable VB4 program can run. However VB4 comes complete with a Wizard (automated series of steps) which enables the programmer to bundle the executable file and any DLL files required into a distributable package, which can then be transferred to diskette allowing the end user to install and run the executable file. Bryan Mills 1997 Bibliography

page 99

Bibliography: Attrasoft Users Guide and Reference Manual, 1996, Attrasoft ([email protected]).Brett, M. (1991). How to Read the Financial Pages, 3rd Edition, Century Business.Clifton, H. D. and Sutcliffe, A. G. (1994). Business Information Systems, 5th Edition, Prentice HallCoit, D. W. (1996). Solving of Redundancy Problems Using a Combined Neural Network/Genetic Algorithm Approach, Computers and Operations Research(UK), 23, June (pp 515-526).In: International Abstracts in Operational Research, Aug. 1996, Vol. 47, No. 6, IFORS, Stockton.Cuthbertson, K. and Gripaios, P. (1996). The Macroeconomy: A Business Perspective, The University of Plymouth Davalo, E. Nam, P. (1991). Neural Networks, Macmillan Education .Davidson, C. (1996). Robotrader, Wired (magazine), Sept. 1996, Vol. 2, Issue 9, Wired UK, (pp 50-55).Donaldson, R. G. (1996). Forecast combing with neural networks, Journal of Forecasting (UK), 15 Jan. (pp46-61). In: International Abstracts in Operational Research, Aug. 1996, Vol. 47, No. 6, IFORS, Stockton.The Economist (magazine), (1995), More in a cockroach's brain than your computers dream of, April 15, v335 n7910 pp75(3).Eysenck, M. W. and Keane, M. T. (1995). Cognitive Psychology, 3rd Edition, ErlbaumFarrar, S., Tucker, J., and Bugmann, G. (1997). Modelling the Marginal Capital Structure Decision Using Logistic Regression and Neural Networks, British Accounting Association National Conference 1997.Gleick, J. (1993), Chaos - Making a New Science, 2nd Edition, AbacusHawley, D., Johnson, J., and Raina, D. (1990). Artificial Neural Systems: A New Tool for financial Decision Making. In: Neural Networks in Finance and Investing, (ed.: Trippi, R., and Turban, E. (1996). IRWIN, (pp25-45).Hopgood, A. (1993). Knowledge Based Systems for Engineers and Scientists, 1st Edition, CRC Press.Horridge, A. (1997). Neural Networks; Controlling the Quality and Cost of Manufacturing, Management Accounting, April 1997 Jenson, H. L. (1992). Using Neural Networks for Credit Scoring, Managerial Finance, Vol. 18, No.6. In: Tucker and Farrar (1996), Neural Networks in Corporate Finance Decision Making, University of Plymouth.Klimasauskas, C. C. (1991). Applying Neural Networks. In: Neural Networks in Finance and Investing,(ed.: Trippi, R. and Turban, E.(1996). IRWIN, (pp45-69)).Kosko, B. (1993). Fuzzy Thinking, Flamingo.Levy, S. (1992). Artificial Life: The Quest for a New Creation, Jonathan Cape London.Lund, H. H. and Parisi, D. (1995). Preadaptation in Populations of Neural Networks Evolving in a Changing Environment, Artificial Life, MIT Press, Vol. 2 No. 2 (pp179-197). Madu, C. N. (1995). Optimisation and Neural Networks in New Product Development, ITOR (UK),2, Oct., (pp 321-329). In: International Abstracts in Operational Research, Aug. 1996, Vol. 47, No. 5, IFORS, Stockton.Marose, R. A. (1990). A Financial Neural Network Application, AI expert, May, (pp 50-53). In: Tucker and Farrar (1996). Neural Networks in Corporate Finance Decision Making, University of Plymouth.McCulloch and Pitts, (1943). In: Patterson, D. (1996). Artificial Neural Networks - Theory and Applications, 1st Edition, Prentice Hall (pp 9-13).McLaney, E.J. (1994) Business Finance for Decision Makers, 2nd edition, Pitman Publishing.Medsker, L., Turban, E., and Trippi, R. (1996). Neural Network Fundamentals for Financial Analysts. In:, Neural Networks in Finance and Investing, (ed.: Trippi, R., and Turban, E., (1996), IRWIN (pp 3-25)). Millar, S. (1996). Scientists offer computer with mind of its own, The Guardian Newspaper(UK), 17/12/96. Patterson, D. (1996). Artificial Neural Networks - Theory and Applications, 1st Edition, Prentice Hall.Perry, W. G.(1994). What is neural network software? (Cutting Edge), Journal of Systems Management, Sept 1994 v45 n9 p12(4).Recker, W. W. (1995). Markovian Real Time Adaptive Control of Signal Systems, Mathematical and Computer Modelling (US), No. 22, Apr./June, (pp 355-376). In: International Abstracts in Operational Research, Aug. 1996, Vol. 47, No. 6 , IFORS, Stockton.Rogers, S. K., Kabrisky, M., Ruck, D. W., and Oxely, M. E. (1994). Neural Networks For Fighting Crime. In: Zurada, J., Marks, R., and Robinson, C. (1994). Computational Intelligence -Imitating Life, IEEE Press (pp 406-413).Rosenbalt (1958, 1961), In Patterson, D. (1996). Artificial Neural Networks - Theory and Applications, 1st Edition, Prentice Hall (pp 9-13).Rudestam, K., and Newton, R. (1992). Surviving Your Dissertation - A comprehensive guide to content and process, Sage.Scocken, S. (1994). NN for decision support: problems and opportunities, Decision support systems, (Netherlands) 11, June, (pp 393-414). In: International Abstracts in Operational Research, Aug. 1996, Vol. 47, No. 6 , IFORS, Stockton.Scholfeild, J. (1996). A tiny sliver not to be sneezed at, Online Section, The Guardian Newspaper(UK), 31/10/96.Sharp, J., and Howard, K. (1996). The Management of a Student Research Project, 2nd Edition, Gower .Smith, R. (1990). Collins Dictionary of Artificial Intelligence, 1st Edition, Collins.Trippi, R., and Turban, E. (1996). Neural Networks in Finance and Investing, IRWIN.Tucker, J. (1996). Neural Networks Versus Logistic Regression in Financial Modelling. A Methodology Comparison, Proceedings of the 1995 World First Online Workshop on Soft Computing, Nagoya University. Tucker, J. (1997). Neural Networks, Nonlinearities and Noise in Financial Modelling, University of PlymouthTucker, J., and Farrar, S. (1996). Neural Networks in Corporate Finance Decision Making, Applications of Artificial Intelligence to Technology and Business processes Conference, University of Plymouth Vol.2, (pp 64-75).Wassermann (1989). Neural Computing: Theory and Practice, New York.Wiggins, R. A. (1994). Neural Computing Awareness and Technology Transfer - A UK Government Programme. In: Zurada, J., Marks, R., and Robinson, C. (1994), Computational Intelligence -Imitating Life, IEEE Press (pp 427-433).Zurada, J., Marks, R., and Robinson, C. (1994). Computational Intelligence - Imitating Life, IEEE Press.Waldrop, M. M. (1992), Complexity - The Emerging Science on the Edge of Chaos, Penguin Books

WinNN is PC based neural network software written by Yaron Danon, 14 Beman Lane,Troy, NY 12180, ([email protected])Attrasoft Boltzmann Machine for Windows 95 Version 2.0 is PC based neural network software written by Attrasoft, P. O. Box 13051, Savannah, GA. 31406, ([email protected])