Section II
Algorithms and Data Processing
6 | Framework for Biomedical Algorithm Designs Su-Shin Ang and Miguel Hernandez-Silveira |
CONTENTS
6.1 Introduction
6.2 Formulating a Problem Mathematically
6.2.1 Generic Optimization Problems (Type 1)
6.2.2 Static Classification Problems (Type 2)
6.2.3 Prediction Problems (Type 3)
6.3 Characteristics of Biomedical Problems
6.3.1 Data Types
6.3.2 Training Frameworks
6.3.3 Case Study 1: Compression of Physiological Signals (Type 1)
6.3.4 Case Study 2: Estimating Calorie Energy Expenditure (Type 1)
6.3.5 Case Study 3: Arrhythmia Detection (Type 2)
6.3.6 Case Study 4: Vital Signs Prediction (Type 3)
6.4 Discussion
6.5 Conclusion.
References
6.1 INTRODUCTION
Designing effective engineering solutions or algorithms to solve biomedical problems in the healthcare monitoring context is a challenging task, to say the least. The initial objectives and specifications are typically vague. In addition to this lack of clarity, the designer has to take into account many factors, including the algorithmic complexity that can be tolerated by the target platform as well as the type and amount of data that are available to calibrate and properly evaluate the algorithm. For example, the physiological condition of a subject might adversely affect the signals, which might have unpredictable consequences on the algorithm used to process them. Therefore, limitations and issues with the algorithm might not be adequately exposed at design time, which could lead to substantial costs and loss of credibility when they are discovered by the client during or after field deployment.
Accurate assumptions are crucial during the design stages of the algorithm. While assumptions stated in prose are necessary and easily communicated across engineering and nonengineering staff, it is often imprecise and provides substantial scope for misinterpretation. Consequently, it is of the opinion of the authors that there should be a framework to formulate the problem and its constraints mathematically. The advantages of such an approach are twofoldâfirst, it affords a level of clarity and precision that cannot be achieved by prose; second, it allows the performance of the candidate algorithm set to be quantified and objectively compared.
From actual problems that we encountered in the field, biomedical problems can be broadly divided into three typesâoptimization of a predefined objective function (Type 1), static classification problems (Type 2), and predictive models (Type 3). The first type of problems consists of trade-offs between different algorithmic factors that are reasonably well defined. Consequently, the objective function can be accurately stated. While rather rare, these types of problems do occur in the biomedical field, such as the compression algorithms for physiological algorithms. The second type of algorithms is extremely typicalâthe function used for classification purposes is unknown, but the data and the expected discrete outcomes (discrete decisions are required) are known, and the objective is to determine a classification function that would accurately map the initial data set to those observations. Finally, the last type of problems involves the prediction of the value of random variable/s, based on a set of observed features. There are substantial overlaps between each problem type, and an algorithm can frequently be used to solve multiple types of problems. However, they differ in terms of how the initial problem is formulated and consequently the design decisions that are taken.
In this chapter, we first provide an overview in terms of the problem types and how each can be practically formulated (Section 6.2). Since data are frequently crucial in the design process, we talk about how they can be acquired, and how the data can be used during the training and evaluation process, followed by a series of case studies, where the biomedical problem in question is formulated and solved (Section 6.3). Downstream of the design and prototyping process, the algorithm has to be ported to the target platform. We present such a design flow in Section 6.4. Finally, we conclude in Section 6.5.
6.2 FORMULATING A PROBLEM MATHEMATICALLY
From actual problems encountered in the field, we believe that they can be broadly divided into three types. The first type is the generic optimization problem (Type 1), which is used across multiple application domains. In this case, the objective or cost function and constraints are well defined. We discuss this at length in Section 6.2.1.
The second type of problem is the static classification problem (Type 2) involving discrete decisions, where the classification function is unknown, but the data set involving the original measurements and the discrete and expected outcomes are available (Section 6.2.2). The last type is prediction problems (Type 3), which require the prediction of random variables on the basis of the statistical distribution of related features (Section 6.2.3).
6.2.1 GENERIC OPTIMIZATION PROBLEMS (TYPE 1)
The problem that one is trying to solve is usually ill-defined in the initial stages. Examples include the derivation of optimum parameters for a compression algorithm, or the derivation of a hyperplane for accurate classification in the feature space. To elucidate the problem, the following steps can be followed:
1. Identify effective metrics used in quantifying how effectively a problem has been solved. This could mean the compression ratio and the quality of the reconstructed signal.
2. ...