## 3 Proposed Solution  
In an optimal environment, traditional indoor positioning solutions can achieve very high accuracy, particularly when the reflected channel is ignored. However, besides the noises due to sunlight and other electric lights, reflection light always exists, and its intensity may vary according to the current position of the receiver. These reflected signals produce a detrimental effect on positioning accuracy [21]. This is clearly shown in Figure 5 when we use a Trilateration algorithm for indoor positioning composed of two completely opposing environments, one side is the environment that only exists as a directed channel (Figure 5a), and one side is the environment including the highest reflection (Figure 5b). Under the negative impact of multipath reflections, the SNR decreases at the corners and the edges, thus the positioning errors are substantially worse when the PD moves away from the room's center (see Figure 4) [26]. With the maximum error of approximately 1.5 m occurring at the corners, Figure 5b is a vivid illustration of the negative impact of multipath reflections on positioning accuracy. Therefore, VLC-based indoor positioning techniques must take into consideration all types of noise and reflected signals.  
In recent years, ML has made great leaps and has achieved outstanding successes in many fields of science, especially in the field of image processing. However, the application of ML for VLC-based IPS has been quite limited. Challenges when using ML for this application, including sensitivity to noise and high computational times [27], can be considered underlying causes.  
Figure 4: Signal-To-Noise Ratio (SNR) by: (**a**) line-of-sight (LOS) channel, (**b**) diffuse channel, and (**c**) overall channel.  
From the above discussion, we propose an effective solution for VLC-based indoor positioning that improves not only the positioning accuracy but also the execution time (Figure 6). To deal with those two parameters, we combine signal pre-processing techniques and two popular functions of ML-based algorithms (the classification function and the regression function). Signal pre-processing helps filter the noise and eliminates low-intensity reflective signals, thereby reducing the sensitivity to noise. This creates a basis for more accurate positioning later. Then, the two classification and regression functions, in turn, are carried out. The classification process plays a key role in reducing the computational time by dividing the floor surface into two isolated areas, and the regression process helps determine the estimated location of the PD. The whole process is divided into two distinct modes: offline mode and online mode. The main tasks of the offline mode are to collect the RSS from all fingerprints, then in turn conduct noise reduction, area division, and training process. While the online mode gathers online data from the current location of the PD, then the same processes of noise reduction and area division are taken place. However, the difference happens in the final step, when the online mode uses training data in the offline mode to predict the current location of the PD. Further details are discussed in the following Sections.  
Figure 5: Positioning error using a Trilateration algorithm: (**a**) without multipath reflections and (**b**) with multipath reflections.  
Figure 6: Proposed study method.