I have been going through the catboost algorithm and it is hard for me to see the point of using symmetric trees. On this regard, i found in their github:
An important part of the algorithm is that it uses symmetric trees and builds them level by level. Symmetric tree is a tree where nodes of each level use the same split. This allows to encode path to leaf with an idex. For example, there is a tree with depth 2. Split on the first level is f1<2, split on the second level is f2<4. Then the object with f1=5, f2=0 will have leaf with number 01b.
They say it helps to be less prone to overfitting and to have a much quicker inference but, intuitively for me, it is like you need twice the depth to explore the same amount of splits.
So, can anybody explain which is actually the advantage of using this types of trees??
Many thanks.