20100420

some math related to odor binding

the hill equation for simple binding
b=x/(x+K)

can be inverted
x/K=b/(1-b)

if x/K is computed for a bound odor, you can classify it by taking the correlation with a stored odor.

assuming perfect noiseless conditions and perfect inversion of the binding equations, different presentations of the same odor at different concentrations will be perfectly (1.0) correlated

in practice, the range of representable values is limited by the range of firing rates.

in transmitting a vector x/K one can normalize it. any multiplication or mean shifting will not change the correlation.

I would like a way of computing a normalized x/K vector which correctly as possible preserves the correlation without actually computing an un-normalized value.

I will consider the similar problem of computing a correlation value using only unsigned 8 bit integer values. These also have limited range and precision.

attempt to define an optimal range scaling for a given odor at a given concentration. start with known values, and assume magic infinite information template to mach against. can we define a scaling to 256 values.

the general scaling of the x/K=M vector then is M*s+d or (M+d)*s (these are equivalent), followed by a rounding and clipping : byteclip((int)(M*s+d))

so I suppose we want to maximize the correlation between
M and
min(255,max(0,(int)(M*s+d)))

elementwise square error :
(Mi - min(255,max(0,(int)Mi*s+d)))**2

how do we characterize it ? there is
- quantization error for the scaled value
- error caused by clipping outlier values

expected error in quantization of uniform(0,1) values to 0,1 rounded values

integral 0 1 (x-round(x))**2 dx
symmetry
integral 0 1/2 x**2 dx
1/3x**3[0,1/2]
1/3(1/2)**3
1/3*1/8=1/24
if you use squared error
1/2(1/2)**2=1/8 for absolute deviation

now estimate the clipped values :
we need to define the distribution :

normal distributed pKd
passed through hill equation at concentration x

low clipped values : value squared
high clipped values : (valuse-255)**2

basically let your error be the squared deviation of the correlation from 1

a=(a-m(a))/s(a)
b=(b-m(b))/s(b)
correlation=dot(a,b)

or something
is there some way of skipping this analysis ?

is there some way of describing the family of distributions formed by the bound odors ?
parameterize on X, the fraction bound, as well as a normal distribution of pKd

B=X/(X+10**-pKd) is the new random variable, where I guess pKd is a normally distributed random variable. WLOG assume standard normal.

can we ignore the quantization error ? this depends,

so, what do we actually need to know from this distribution ?

meh, hard, lets just guess something? assume there exist a choice of parameters that minimize quantization errors.

so, we have the
s,b scaling data,
and we want to transform the computation of the inverse binding into that space

tools at our disposal :
ORN nonlinearity
ORN heterogeneity ( increase resolution )
these transmit a basic transformed version of binding to the glomeruli

then, at the glomeruli, we can access the whole vector. each transmission channel can only transmit 8 bit scalar.

the output of the glomeruli should be filtered vectors

matter programming

the ORN nonlinearity is slightly frustrating since it limits the bandwidth of information transfer to the glomerular layer where some sort of intelligent normalization might take place.

operations on b which result in linear or near linear operation on x/K ( or demonstrably nearly linear for a given vector, in a way that doesn't cause too many errors ? )
x/K = b/(1-b)
umm
ax/K=b/(1-b)
ax-axb=bK
ax=(K+ax)b
ax/(K+ax)=b
fine.. f.. solves for x/K, scale-shifts it, then solves for b
(ab/(1-b)+d)=b'/(1-b')
ab/(1-b)(1-b')+d-db'=b'
(ab-abb')+d-db+db'b-db'=b'-bb'
solve for b' in terms of b
ab-abb'+d-db+db'b-db'=b'-bb'
ab+d-db=b'-bb'+abb'+db'-db'b
(ab+d-db)=b'(1-b+ab+d-db)
b'=(d+ab-db)/(1+d-b+ab-db)
b'=(d+(a-d)b)/((1-b)+d+(a-d)b)
b'=1/(a(1-b)/b+1)
b'=1/(a(1-b)/b+1)