Binary One Hot Encoding For Dimension Reduction
Introduction:

I've been studying machine learning this last couple of months, more specifically neural networks. I found out that categorical data, such as cities, could be transformed to integer data, but shouldn't because there's no linearity. What I mean by this is: there is no reason why New York should be 1 or 100. A better solution to this is one hot encoding. However, it greatly increases the dimensionality of the problem (Picture a network input with the number of cities as input nodes).

Example:

New York = [1, 0, 0]

Buenos Aires = [0, 1, 0]

Tokio = [0, 0, 1]

You need N inputs, N being the number of cities.

Possible Solution:

I don't really know if this already exists or if it could work, I haven't tested it yet. That being said, in the example above, I'm using decimal inputs. Could you use binary inputs, in order to reduce the dimensionality of the problem?

Example using binary inputs

New York = [0, 1]

Buenos Aires = [1, 0]

Tokio = [1, 1]

In this way, you only need ≈ log(N) (base 2) number of inputs which greatly increases, specially if there are a great number of features. For example: if you have 1000 categorical data inputs, it would only result in 10 inputs for a neural network.

Thank you in advance. Remember I'm only learning.

I do not think that you can translate One Hot Encoding (OHE) to binary inputs.
The meaning of One Hot Encoding is that you have as many features as you have cities. No two cities share value for any feature, as they are distinct. After you translation to binary inputs, various cities randomly share values for the same feature. 

E.g. both Buenos Aires and Tokio would have 1 as the first feature. The neural network would think that they really have this feature in common. Yet it is not the case, depending on your ordering, New York could easily share value of the first feature with Tokio: 

Buenos Aires = [0, 1]
Tokio = [1, 0]
New York = [1, 1]


Now, Tokio and New York seem more similar to each other.
