Scaling expression for better data range?

  • Context: Undergrad 
  • Thread starter Thread starter pamparana
  • Start date Start date
  • Tags Tags
    Expression Scale
Click For Summary

Discussion Overview

The discussion revolves around the scaling of a confidence value derived from an optimization routine, specifically focusing on the expression C = exp(-A)/(exp(-A) + exp(-B)). Participants explore methods to normalize and scale this expression to better capture variations in data range, particularly when A and B are large values.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • One participant, Luca, describes the original expression for confidence and notes issues with large values leading to limited variation in C.
  • Luca proposes a normalization approach by dividing by A, but finds that it still results in limited variation when B/A is close to 1.
  • Another participant suggests that the formula resembles concepts from Statistical Mechanics, particularly the Partition Function, and encourages exploring related techniques.
  • Luca clarifies that the expression is coincidentally similar to the partition function and seeks a non-linear scaling method to exaggerate differences in C as B diverges from A.
  • Luca considers using an exponential function to achieve the desired scaling but expresses uncertainty about deriving a suitable "factor" term from A and B values.
  • A later reply proposes using derivative information to empirically determine the "factor" variable, suggesting a method to model the scaling based on specific derivative behavior.

Areas of Agreement / Disagreement

Participants express varying approaches to the problem, with no consensus on a specific scaling method or the derivation of the "factor" term. Multiple competing views and suggestions remain present in the discussion.

Contextual Notes

The discussion includes assumptions about the relationships between A and B, and the proposed scaling methods are not fully resolved, leaving open questions about their effectiveness and applicability.

pamparana
Messages
123
Reaction score
0
Hello everyone,

I have a bit of an issue regarding scaling of an expression. So, the scenario is as follows.

I have a confidence value that can be associated with the solution given by an optimization routine and it is as follows:

C = exp(-A)/(exp(-A) + exp(-B))

where A, B and C are some energy values returned by the optimization routine and C represents the confidence or the probability assigned to the solution A. Also, B is always greater than A.

After some simple manipulation, the expression becomes:

C = 1.0 / (1 + exp(A-B))

Now, in the beginning my issue was that the values A, B and C were usually quite large (in tens of thousands). So this expression was giving values of 0.5 when A and B were very close and when the difference was something a bit larger (in absolute numbers), then the expression would basically become 1.

So, I realized I needed to do some normalization and the first thing I tried was divide everything by A. So, now the expression becomes:

C = 1.0 / (1 + exp(1-B/A))

Now typically B/A is something from 1 to 1.01. So, now I have a similar problem: As exp(1-B/A) will basically be 0.5.

So, what I would like to do is introduce some scaling, normalization on this expression that would help me basically capture the changes in my data range. I would be grateful for any suggestions that anyone might have.

Thanks,
Luca
 
Physics news on Phys.org
For some reason, for me this formula resembles Statistical Mechanics, more exactly the Partition Function.

If this formula didnt come directly from it, maybe you could read about it, see if it applies to your problem, and see if there is already some technique for doing what you want.
 
Hello,

it is sort of derived from the Ising model but actually it is just a coincidence that it looks like the partition function.

My problem is actually much simpler:

So, ok.

C= 1 / (1 + e^(B/A)) for the moment assume B >= A, So C can range from 0.5 to 1.

Typically, B/A ranges from 1 to 1.01. What I would like to do is have some sort of scaling so when B/A is "close" to 1, then C is close to 0.5 but when it starts to diverge, then C starts to get closer to 1. However, I do not want a linear scale as I want to exaggerate the differences.

I can now a priori what the maximum B and A values will be. I was wondering what suitable function can I use. One thing that comes to mind is to actually use the exponential:

So,

C = 1 / (1 + e^(e^(factor)*B/A)).

However, I am not sure how I can derive this "factor" term in a suitable way from B and A values that would make sense.

Thanks,

Luca
 
Hey pamparana.

Have you considered modelling your variables on derivative information?

Basically what I am getting at is using derivative information to work backwards to get an empirical value for your 'factor' variable. So if you specify specific derivative behaviour at some given point, then you can use that to get equations for 'factor' and hence evaluate it for those given conditions.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 6 ·
Replies
6
Views
1K
  • · Replies 20 ·
Replies
20
Views
3K