I'm about to implement my first VQC for image classification and I'm trying to figure out which data encoding method could fit better the problem. From what I've understood, there are three main approaches to encode classical data into quantum circuits: basis encoding, amplitude encoding and angle encoding.
Amplitude encoding needs fewer qubits to encode a datapoint, but it needs a large number of gates to prepare the desired state vector. Angle encoding, on the other hand, requires as much qubits as features of the datapoint (half of it in dense angle encoding), but it can be encoded using few gates. In this Qiskit tutorial a fourth set of methods is defined as arbitrary encoding and I've seen there are many proposed embedding circuits as: EfficientSU2, ZZFeatureMap, PauliFeatureMap. However, I struggle to understand why do they apply the rotations they apply and what is the reason of choosing the architecture they have.
What do these encoding methods do to a state vector, is it a mixture of amplitude and angle encoding? I know the question might be quite "wide" but, which are the advantages these encodings bring and is there any criterion to choose one over the rest?