Shared posts

29 Oct 14:38

tl;dr

by noreply@blogger.com (Jay Ackroyd (@jayackroyd))
Glennzilla gives good interview.

But if you want a highlight:

So, for the top national security official in the United States to go to the Senate and lie to their faces and deny that the NSA is doing exactly that which our reporting proved that the NSA was in fact doing is plainly a crime, and of course he should be prosecuted, and would be prosecuted if we lived under anything resembling the rule of law, where everybody is held and treated equally under the law, regardless of position or prestige. Of course, we don’t have that kind of system, which is why no Wall Street executives have been prosecuted, no top-level Bush officials were prosecuted for torture or warrantless eavesdropping, and why James Clapper hasn’t been prosecuted despite telling an overt lie to Congress. And what’s even more amazing, though, Amy, is that not only has James Clapper not been prosecuted, he hasn’t even lost his job. He’s still the director of national intelligence many months after his lie was revealed, because there is no accountability for the top-level people in Washington.
And the final thing to say about that is, there’s all kinds of American journalists who love to go on television and accuse Edward Snowden of committing all these grave and horrible crimes. They’re so brave when it comes to declaring Edward Snowden to be a criminal and calling for [inaudible]. Not one of them has ever gone on television and said, "James Clapper committed crimes, and he ought to be prosecuted." The question that you just asked journalistically is such an important and obvious one, yet not—none of the David Gregorys or Jeffrey Toobins or all these American journalists who fancy themselves as aggressive, tough reporters, would ever dare utter the idea that James Clapper ought to be arrested or prosecuted for the crimes that he committed, because they’re there to serve those interests and not to challenge or be adversarial to them.

Update: Commenters said if the Amy Goodman interview wasn't too longer enough for  you, see the email exchange with Keller.
23 Oct 20:09

Things Change

by noreply@blogger.com (Atrios)
In 20 years no one will admit to have ever opposed legal gay marriage. The pace of change amazes me. I do wonder how many people still admit to ever opposing interracial marriage. A majority did, until 1997.
23 Oct 20:01

Uruguay Plans to Impose Price Cap on Legal Marijuana at $1/Gram

by Jess Remington

Uruguay is on its way to becoming the first country in the world to legalize marijuana and it’s taking a unique approach. The country’s drug czar, Jose Calzada, told a local newspaper on Sunday the national government plans to set up a regulatory agency for overseeing the sale and distribution of marijuana at roughly $1/gram.

According to Calzada, marijuana sales will likely start in the middle of 2014. Unlike Colorado and Washington’s approach of taxing the drug for revenue, Calzada said the state will impose a price cap in order to undercut the black market, where pot sells for roughly $1.40 (30 pesos) per gram.

"The illegal market is very risky and of poor quality," Calzada said. The state "is going to offer a safe place to buy a quality product.”

As the AP reports: That's an eighth or less of what marijuana costs at legal medical dispensaries in some U.S. states.

However, before Uruguay’s pot distributors can (legally) sell anything, the Senate first needs to approve a legalization bill that is coming up to vote later this year. The bill is expected to pass, as Uruguay’s lawmakers generally support drug policy reform. President José Mujica has campaigned for legalization on the grounds that it will dramatically cut cartel violence. And Senate leaders have said they have a “comfortable majority” willing to vote in favor.

The legislators’ main hurdle is the public, 64% of whom oppose the bill. Many are worried that legalization could open the door for harder drug use and that it could turn the country into a hub for marijuana tourism.  

If the bill does pass, Uruguay will set up an Institute for the Regulation and Control of Cannabis and implement provisions regulating the purchase and production of recreational marijuana. A few of the provisions, according to RT:

Uruguayan citizens will be required to register in a private database… and will be restricted to 40 grams each per month.

Citizens will legally be allowed to cultivate six marijuana plants per head or band together and organize a club of up to 45 members with the possibility of growing 99 plants. 

The law will also limit sales to residents, which should be a boon for Uruguayans concerned about pot tourism and a disappointing drawback for said potential pot tourists.  

22 Oct 20:35

Minecraft gets quantum blocks in Google mod

Google's quantum lab has released a version of the computer game designed to teach players about the weird principles of quantum mechanics
    






22 Oct 17:17

Henhouse

by noreply@blogger.com (Jay Ackroyd (@jayackroyd))
One of the hallmarks of the technocratic centrists is the belief that industry regulation is passé--that policy makers must rely on private enterprises because that is where you find the real experts. Which leads to stuff like this:
Quality Software Services Inc., or Q.S.S.I., a unit of the UnitedHealth Group, developed the identity management system, another major component that allowed consumers to register and establish accounts.
I suppose it's too way too late to bring this up again, but the bill was called the Patient Protection and Affordable Care Act. "Protection" largely referring to the insurance companies.
17 Oct 06:31

Law of Urination: all mammals empty their bladders over the same duration. (arXiv:1310.3737v3 [physics.flu-dyn] UPDATED)

by Patricia J. Yang, Jonathan C. Pham, Jerome Choo, David L. Hu

Many urological studies rely upon animal models such as rats and pigs whose urination physics and correlation to humans are poorly understood. Here we elucidate the hydrodynamics of urination across five orders of magnitude in animal mass. Using high-speed videography and flow rate measurement at Zoo Atlanta, we discover the "Law of Urination," which states animals empty their bladders over nearly constant duration of average 21 seconds (standard deviation 13 seconds). This feat is made possible by larger animals having longer urethras, thus higher gravitational force and flow speed. Smaller mammals are challenged during urination due to high viscous and surface tension forces that limit their urine to single drops. Our findings reveal the urethra constitutes as a flow enhancing device, enabling the urinary system to be scaled up without compromising its function. This study may help in the diagnosis of urinary problems in animals and in inspiring the design of scalable hydrodynamic systems based on those in nature.

16 Oct 04:40

Holding a country to ransom

by gowers

Here is a quick thought about the mathematics of the US shutdown, not to be taken too seriously (the thought I mean — the shutdown obviously is to be taken seriously). It’s for the benefit of anyone who is puzzled that the Tea Party can have such a large influence, and more generally how a political system can be stable when almost nobody likes it. I’m going to prove that in a country of n people, it is possible to devise a democratic system in which n^\alpha of those people control the decisions, where \alpha=\log 2/\log 3. For example, in a population of 100,000,000, all you need is a band of fanatics with about 112,000 people — or approximately 0.1% of the population. Although we do not have such a system and the distribution is unlikely, the systems and distributions we do have still allow a minority to have undue influence, and for similar reasons. What I’m about to describe is the extreme case.

The system I have in mind works as follows. It’s a multilevel representative democracy. Suppose for convenience that n=3^k for some positive integer k. (It is easy, but slightly tedious, to modify what I am about to write to take care of more general n.) Suppose that the country is divided into three “super-constituencies”, each of which gets a vote in the top-level decision-making body (known as the triumvirate). Suppose that decisions in that body are passed by a majority vote. A group of people that wants to control the country can do so as long as it can control at least two votes in the triumvirate.

How are the members of the triumvirate chosen? They are elected by another triumvirate one level down. The representative in the top-level triumvirate is representing the views of the three people in the triumvirate one level down, and is worried about stepping out of line, since then he/she risks being deselected by the three people in the level-2 body.

So if a merry band of fanatics wants to control a representative in the top-level triumvirate, it is enough to control at least two of the representatives in the second-level triumvirate that selects the top-level representative.

Of course, we can iterate this argument. So how many people do we need to control the country? We need two at the top level, and therefore four at the second level, and so on. Therefore, we need 2^k at the bottom level. (Note that the representatives do not have to be fanatics themselves — if they don’t vote in the way that the fanatics want, then they get deselected by the people one level down, losing all those lovely perks that go with a high-level job in politics.) If n=3^k, then 2^k=n^{\log 2/\log 3}, so we’re done.

One might want to make small adjustments to the bound to allow all the different levels of influence to be disjoint. So then n=1+3+3^2+\dots+3^k. But this is within a constant of 3^k. Similarly, if we start with some n that is not of that precise form, that again affects the estimate by just a constant factor.

So the conclusion is that in principle Cn^{\log 2/\log 3} people can mess up a country with population n. If you have more people than that, then the main thing you want is a system with a few levels of groups within groups — not necessarily formal at every level — and a distribution that is not too concentrated and not too diffuse. (If it is too concentrated, then you’ll end up wasting a lot of votes on controlling representatives who are already controlled, but if it is too diffuse, then you won’t control anybody except at very low levels. In the extreme case, what you want is to be arranged in what can be viewed as a discrete approximation to the Cantor set: in less extreme cases you still want to be somewhat “fractal” and “Cantor-like”.)


16 Oct 04:36

Is the NSA Blackmailing Officials Into Supporting Snooping?

by J.D. Tuccille

Restricted dataWhy are the likes of Sen. Dianne Feinstein so supportive of wide-reaching National Security Agency surveillance even as polls show a majority of Americans horrified by such intrusions? At the risk of venturing into paranoid territory, could it be that the NSA has gone all J. Edgar and compiled compromising information about officials who might otherwise be a bit less enthusiastic about snooping? That's what Jay Stanley, senior policy analyst for the American Civil Liberties Union wonders, and he has some evidence to support his theory.

Writes Stanley:

Sometimes when I hear public officials speaking out in defense of NSA spying, I can’t help thinking, even if just for a moment, “what if the NSA has something on that person and that’s why he or she is saying this?”

Of course it’s natural, when people disagree with you, to at least briefly think, “they couldn’t possibly really believe that, there must be some outside power forcing them to take that position.” Mostly I do not believe that anything like that is now going on.

But I cannot be 100% sure, and therein lies the problem. The breadth of the NSA’s newly revealed capabilities makes the emergence of such suspicions in our society inevitable. Especially given that we are far, far away from having the kinds of oversight mechanisms in place that would provide ironclad assurance that these vast powers won’t be abused. And that highlights the highly corrosive nature of allowing the NSA such powers. Everyone has dark suspicions about their political opponents from time to time, and Americans are highly distrustful of government in general. When there is any opening at all for members of the public to suspect that officials from the legislative and judicial branches could be vulnerable to leverage from secretive agencies within the executive branch—and when those officials can even suspect they might be subject to leverage—that is a serious problem for our democracy.

Stanley has more than speculation to go on. He points to an interview with former NSA analyst and whistleblower Russ Tice, who claims the Bush administration unleashed the NSA on Barack Obama back in 2004. He also told an interviewer just this summer that surveillance of high-ranking officials was a common procedure for his former employers.

From Washington's Blog:

Tice: Okay. They went after–and I know this because I had my hands literally on the paperwork for these sort of things–they went after high-ranking military officers; they went after members of Congress, both Senate and the House, especially on the intelligence committees and on the armed services committees and some of the–and judicial. But they went after other ones, too. They went after lawyers and law firms. All kinds of–heaps of lawyers and law firms. They went after judges. One of the judges is now sitting on the Supreme Court that I had his wiretap information in my hand. Two are former FISA court judges. They went after State Department officials. They went after people in the executive service that were part of the White House–their own people. They went after antiwar groups. They went after U.S. international–U.S. companies that that do international business, you know, business around the world. They went after U.S. banking firms and financial firms that do international business. They went after NGOs that–like the Red Cross, people like that that go overseas and do humanitarian work.

Tice explicitly says such scrutiny made subjects susceptible to blackmail. And while his experience is some years old, other whistleblowers suggest the practice continues.

William Binney, another former NSA officer, told frequent spy-documenter James Bamford that he and J. Kirk Wiebe approached the Obama administration about putting safeguards on data collection and were brushed off. “We are, like, that far from a turnkey totalitarian state,” Binney told Bamford.

That's a soothing thought on the day that the Washington Post reveals that the NSA harvests personal contact lists from around the world, building roadmaps of our connections and relationships that can be very revealing about our lives. Our contacts and connections are just the sort of information that can become part of an awkward dossier. The sort of awkward dossier that elicits cooperative behavior from officials who'd rather their lives be kept under wraps.

It's not like blackmail has never been used by government officials before. The FBI's J. Edgar Hoover was said to be quite the master of turning inconvenient secrets into cooperative behavior.

14 Oct 20:05

Dominic Steinitz: Backpropogation is Just Steepest Descent with Automatic Differentiation

Preface

The intended audience of this article is someone who knows something about Machine Learning and Artifical Neural Networks (ANNs) in particular and who recalls that fitting an ANN required a technique called backpropagation. The goal of this post is to refresh the reader’s knowledge of ANNs and backpropagation and to show that the latter is merely a specialised version of automatic differentiation, a tool that all Machine Learning practitioners should know about and have in their toolkit.

Introduction

The problem is simple to state: we have a (highly) non-linear function, the cost function of an Artificial Neural Network (ANN), and we wish to minimize this so as to estimate the parameters / weights of the function.

In order to minimise the function, one obvious approach is to use steepest descent: start with random values for the parameters to be estimated, find the direction in which the the function decreases most quickly, step a small amount in that direction and repeat until close enough.

But we have two problems:

  • We have an algorithm or a computer program that calculates the non-linear function rather than the function itself.

  • The function has a very large number of parameters, hundreds if not thousands.

One thing we could try is bumping each parameter by a small amount to get partial derivatives numerically

\displaystyle   \frac{\partial E(\ldots, w, \ldots)}{\partial w} \approx \frac{E(\ldots, w + \epsilon, \ldots) - E(\ldots, w, \ldots)}{\epsilon}

But this would mean evaluating our function many times and moreover we could easily get numerical errors as a result of the vagaries of floating point arithmetic.

As an alternative we could turn our algorithm or computer program into a function more recognisable as a mathematical function and then compute the differential itself as a function either by hand or by using a symbolic differentiation package. For the complicated expression which is our mathematical function, the former would be error prone and the latter could easily generate something which would be even more complex and costly to evaluate than the original expression.

The standard approach is to use a technique called backpropagation and the understanding and application of this technique forms a large part of many machine learning lecture courses.

Since at least the 1960s techniques for automatically differentiating computer programs have been discovered and re-discovered. Anyone who knows about these techniques and reads about backpropagation quickly realises that backpropagation is just automatic differentiation and steepest descent.

This article is divided into

  • Refresher on neural networks and backpropagation;

  • Methods for differentiation;

  • Backward and forward automatic differentiation and

  • Concluding thoughts.

The only thing important to remember throughout is the chain rule

\displaystyle   (g \circ f)'(a) = g'(f(a))\cdot f'(a)

in alternative notation

\displaystyle   \frac{\mathrm{d} (g \circ f)}{\mathrm{d} x}(a) =  \frac{\mathrm{d} g}{\mathrm{d} y}(f(a)) \frac{\mathrm{d} f}{\mathrm{d} x}(a)

where y = f(x). More suggestively we can write

\displaystyle   \frac{\mathrm{d} g}{\mathrm{d} x} =  \frac{\mathrm{d} g}{\mathrm{d} y} \frac{\mathrm{d} y}{\mathrm{d} x}

where it is understood that \mathrm{d} g / \mathrm{d} x and \mathrm{d} y / \mathrm{d} x are evaluated at a and \mathrm{d} g / \mathrm{d} y is evaluated at f(a).

For example,

\displaystyle   \frac{\mathrm{d}}{\mathrm{d} x} \sqrt{3 \sin(x)} =  \frac{\mathrm{d}}{\mathrm{d} x} (3 \sin(x)) \cdot \frac{\mathrm{d}}{\mathrm{d} y} \sqrt{y} =  3 \cos(x) \cdot \frac{1}{2\sqrt{y}} =  \frac{3\cos(x)}{2\sqrt{3\sin(x)}}

Acknowledgements

Sadly I cannot recall all the sources I looked at in order to produce this article but I have made heavy use of the following.

Neural Network Refresher

Here is our model, with \boldsymbol{x} the input, \hat{\boldsymbol{y}} the predicted output and \boldsymbol{y} the actual output and w^{(k)} the weights in the k-th layer. We have concretised the transfer function as \tanh but it is quite popular to use the \text{logit} function.

\displaystyle   \begin{aligned}  a_i^{(1)} &= \sum_{j=0}^{N^{(1)}} w_{ij}^{(1)} x_j \\  z_i^{(1)} &= \tanh(a_i^{(1)}) \\  a_i^{(2)} &= \sum_{j=0}^{N^{(2)}} w_{ij}^{(2)} z_j^{(1)} \\  \dots     &= \ldots \\  a_i^{(L-1)} &= \sum_{j=0}^{N^{(L-1)}} w_{ij}^{(L-1)} z_j^{(L-2)} \\  z_j^{(L-1)} &= \tanh(a_j^{(L-1)}) \\  \hat{y}_i &= \sum_{j=0}^{N^{(L)}} w_{ij}^{(L)} z_j^{(L-1)} \\  \end{aligned}

with the loss or cost function

\displaystyle   E(\boldsymbol{w}; \boldsymbol{x}, \boldsymbol{y}) = \frac{1}{2}\|(\hat{\boldsymbol{y}} - \boldsymbol{y})\|^2

The diagram below depicts a neural network with a single hidden layer.

In order to apply the steepest descent algorithm we need to calculate the differentials of this latter function with respect to the weights, that is, we need to calculate

\displaystyle   \Delta w_{ij} = \frac{\partial E}{\partial w_{ij}}

Applying the chain rule

\displaystyle   \Delta w_{ij} =  \frac{\partial E}{\partial w_{ij}} =  \frac{\partial E}{\partial a_i}\frac{\partial a_i}{\partial w_{ij}}

Since

\displaystyle   a_j^{(l)} = \sum_{i=0}^N w_{ij}^{(l)}z_i^{(l-1)}

we have

\displaystyle   \frac{\partial a_i^{(l)}}{\partial w_{ij}^{(l)}} =  \frac{\sum_{k=0}^M w_{kj}^{(l)}z_k^{(l-1)}}{\partial w_{ij}^{(l)}} =  z_i^{(l-1)}

Defining

\displaystyle   \delta_j^{(l)} \equiv  \frac{\partial E}{\partial a_j^{(l)}}

we obtain

\displaystyle   \Delta w_{ij}^{(l)} =  \frac{\partial E}{\partial w_{ij}^{(l)}} =  \delta_j^{(l)} z_i^{(l-1)}

Finding the z_i for each layer is straightforward: we start with the inputs and propagate forward. In order to find the \delta_j we need to start with the outputs a propagate backwards:

For the output layer we have (since \hat{y}_j = a_j)

\displaystyle   \delta_j = \frac{\partial E}{\partial a_j} = \frac{\partial E}{\partial y_j} = \frac{\partial}{\partial y_j}\bigg(\frac{1}{2}\sum_{i=0}^M (\hat{y}_i - y_i)^2\bigg) = \hat{y}_j - y_j

For a hidden layer using the chain rule

\displaystyle   \delta_j^{(l-1)} = \frac{\partial E}{\partial a_j^{(l-1)}} =  \sum_k \frac{\partial E}{\partial a_k^{(l)}}\frac{\partial a_k^{(l)}}{\partial a_j^{(l-1)}}

Now

\displaystyle   a_k^{(l)} = \sum_i w_{ki}^{(l)}z_i^{(l-1)} = \sum_i w_{ki}^{(l)} f(a_i^{(l-1)})

so that

\displaystyle   \frac{\partial a_k^{(l)}}{\partial a_j^{(l-1)}} =  \frac{\sum_i w_{ki}^{(l)} f(a_i^{(l-1)})}{\partial a_j^{(l-1)}} =  w_{kj}^{(l)}\,f'(a_j^{(l-1)})

and thus

\displaystyle   \delta_j^{(l-1)} =  \sum_k \frac{\partial E}{\partial a_k^{(l)}}\frac{\partial a_k^{(l)}}{\partial a_j^{(l-1)}} =  \sum_k \delta_k^{(l)} w_{kj}^{(l)}\, f'(a_j^{(l-1)}) =  f'(a_j^{(l-1)}) \sum_k \delta_k^{(l)} w_{kj}^{(l)}

Summarising

  1. We calculate all a_j and z_j for each layer starting with the input layer and propagating forward.

  2. We evaluate \delta_j^{(L)} in the output layer using \delta_j = \hat{y}_j - y_j.

  3. We evaluate \delta_j in each layer using \delta_j^{(l-1)} = f'(a_j^{(l-1)})\sum_k \delta_k^{(l)} w_{kj}^{(l)} starting with the output layer and propagating backwards.

  4. Use \partial E / \partial w_{ij}^{(l)} = \delta_j^{(l)} z_i^{(l-1)} to obtain the required derivatives in each layer.

For the particular activation function \tanh we have f'(a) = \tanh' (a) = 1 - \tanh^2(a). And finally we can use the partial derivatives to step in the right direction using steepest descent

\displaystyle   w' = w - \gamma\nabla E(w)

where \gamma is the step size aka the learning rate.

Differentiation

So now we have an efficient algorithm for differentiating the cost function for an ANN and thus estimating its parameters but it seems quite complex. In the introduction we alluded to other methods of differentiation. Let us examine those in a bit more detail before moving on to a general technique for differentiating programs of which backpropagation turns out to be a specialisation.

Numerical Differentiation

Consider the function f(x) = e^x then its differential f'(x) = e^x and we can easily compare a numerical approximation of this with the exact result. The numeric approximation is given by

\displaystyle   f'(x) \approx \frac{f(x + \epsilon) - f(x)}{\epsilon}

In theory we should get a closer and closer approximation as epsilon decreases but as the chart below shows at some point (with \epsilon \approx 2^{-26}) the approximation worsens as a result of the fact that we are using floating point arithmetic. For a complex function such as one which calculates the cost function of an ANN, there is a risk that we may end up getting a poor approximation for the derivative and thus a poor estimate for the parameters of the model.

Symbolic Differentiation

Suppose we have the following program (written in Python)

import numpy as np

def many_sines(x):
    y = x
    for i in range(1,7):
        y = np.sin(x+y)
    return y

When we unroll the loop we are actually evaluating

\displaystyle   f(x) = \sin(x + \sin(x + \sin(x + \sin(x + \sin(x + \sin(x + x))))))

Now suppose we want to get the differential of this function. Symbolically this would be

\displaystyle   \begin{aligned}  f'(x) &=           (((((2\cdot \cos(2x)+1)\cdot \\        &\phantom{=} \cos(\sin(2x)+x)+1)\cdot \\        &\phantom{=} \cos(\sin(\sin(2x)+x)+x)+1)\cdot \\        &\phantom{=} \cos(\sin(\sin(\sin(2x)+x)+x)+x)+1)\cdot \\        &\phantom{=} \cos(\sin(\sin(\sin(\sin(2x)+x)+x)+x)+x)+1)\cdot \\        &\phantom{=} \cos(\sin(\sin(\sin(\sin(\sin(2x)+x)+x)+x)+x)+x)  \end{aligned}

Typically the non-linear function that an ANN gives is much more complex than the simple function given above. Thus its derivative will correspondingly more complex and therefore expensive to compute. Moreover calculating this derivative by hand could easily introduce errors. And in order to have a computer perform the symbolic calculation we would have to encode our cost function somehow so that it is amenable to this form of manipulation.

Automatic Differentiation

Reverse Mode

Traditionally, forward mode is introduced first as this is considered easier to understand. We introduce reverse mode first as it can be seen to be a generalization of backpropagation.

Consider the function

\displaystyle   f(x) = \exp(\exp(x) + (\exp(x))^2) + \sin(\exp(x) + (\exp(x))^2)

Let us write this a data flow graph.

We can thus re-write our function as a sequence of simpler functions in which each function only depends on variables earlier in the sequence.

\displaystyle   \begin{aligned}  u_7    &= f_7(u_6, u_5, u_4, u_3, u_2, u_1) \\  u_6    &= f_6(u_5, u_4, u_3, u_2, u_1) \\  \ldots &= \ldots \\  u_1    &= f_1(u_1)  \end{aligned}

\displaystyle   \begin{aligned}  \mathrm{d}u_7    &= \frac{\partial f_7}{\partial u_6} \mathrm{d} u_6 +                      \frac{\partial f_7}{\partial u_5} \mathrm{d} u_5 +                      \frac{\partial f_7}{\partial u_4} \mathrm{d} u_4 +                      \frac{\partial f_7}{\partial u_3} \mathrm{d} u_3 +                      \frac{\partial f_7}{\partial u_2} \mathrm{d} u_2 +                      \frac{\partial f_7}{\partial u_1} \mathrm{d} u_1 \\  \mathrm{d}u_6    &= \frac{\partial f_6}{\partial u_5} \mathrm{d} u_5 +                      \frac{\partial f_6}{\partial u_4} \mathrm{d} u_4 +                      \frac{\partial f_6}{\partial u_3} \mathrm{d} u_3 +                      \frac{\partial f_6}{\partial u_2} \mathrm{d} u_2 +                      \frac{\partial f_6}{\partial u_1} \mathrm{d} u_1 \\  \ldots           &= \ldots \\  \mathrm{d}u_1    &= \frac{\partial f_1}{\partial u_1} \mathrm{d} u_1  \end{aligned}

In our particular example, since u_1, \dots, u_5 do not depend on u_6

\displaystyle   \begin{aligned}  \frac{\mathrm{d}u_7}{\mathrm{d}u_6} &= 1  \end{aligned}

Further u_6 does not depend on u_5 so we also have

\displaystyle   \begin{aligned}  \frac{\mathrm{d}u_7}{\mathrm{d}u_5} &= 1 \\  \end{aligned}

Now things become more interesting as u_6 and u_5 both depend on u_4 and so the chain rule makes an explicit appearance

\displaystyle   \begin{aligned}  \frac{\mathrm{d}u_7}{\mathrm{d}u_4} &=   \frac{\mathrm{d}u_7}{\mathrm{d}u_6}\frac{\mathrm{d}u_6}{\mathrm{d}u_4} +   \frac{\mathrm{d}u_7}{\mathrm{d}u_5}\frac{\mathrm{d}u_5}{\mathrm{d}u_4} \\  &= \frac{\mathrm{d}u_7}{\mathrm{d}u_6}\exp{u_4} +     \frac{\mathrm{d}u_7}{\mathrm{d}u_5}\cos{u_5}  \end{aligned}

Carrying on

\displaystyle   \begin{aligned}  \frac{\mathrm{d}u_7}{\mathrm{d}u_3} &=   \frac{\mathrm{d}u_7}{\mathrm{d}u_4}\frac{\mathrm{d}u_4}{\mathrm{d}u_3} \\  &= \frac{\mathrm{d}u_7}{\mathrm{d}u_4} \\  \frac{\mathrm{d}u_7}{\mathrm{d}u_2} &=   \frac{\mathrm{d}u_7}{\mathrm{d}u_4}\frac{\mathrm{d}u_4}{\mathrm{d}u_2} +   \frac{\mathrm{d}u_7}{\mathrm{d}u_3}\frac{\mathrm{d}u_3}{\mathrm{d}u_2} \\  &= \frac{\mathrm{d}u_7}{\mathrm{d}u_4} + 2u_2\frac{\mathrm{d}u_7}{\mathrm{d}u_4} \\  \frac{\mathrm{d}u_7}{\mathrm{d}u_1} &=   \frac{\mathrm{d}u_7}{\mathrm{d}u_2}\frac{\mathrm{d}u_2}{\mathrm{d}u_1} \\  &=\frac{\mathrm{d}u_7}{\mathrm{d}u_2}\exp{u_2}  \end{aligned}

Note that having worked from top to bottom (the forward sweep) in the graph to calculate the function itself, we have to work backwards from bottom to top (the backward sweep) to calculate the derivative.

So provided we can translate our program into a call graph, we can apply this procedure to calculate the differential with the same complexity as the original program.

The pictorial representation of an ANN is effectively the data flow graph of the cost function (without the final cost calculation itself) and its differential can be calculated as just being identical to backpropagation.

Forward Mode

An alternative method for automatic differentiation is called forward mode and has a simple implementation. Let us illustrate this using Haskell 98. The actual implementation is about 20 lines of code.

First some boilerplate declarations that need not concern us further.

> {-# LANGUAGE NoMonomorphismRestriction #-}
> 
> module AD (
>     Dual(..)
>   , f
>   , idD
>   , cost
>   , zs
>   ) where
> 
> default ()

Let us define dual numbers

> data Dual = Dual Double Double
>   deriving (Eq, Show)

We can think of these pairs as first order polynomials in the indeterminate \epsilon, x + \epsilon x' such that \epsilon^2 = 0

Thus, for example, we have

\displaystyle   \begin{aligned}  (x + \epsilon x') + (y + \epsilon y') &= ((x + y) + \epsilon (x' + y')) \\  (x + \epsilon x')(y + \epsilon y') &= xy + \epsilon (xy' + x'y) \\  \log (x + \epsilon x') &=  \log x (1 + \epsilon \frac {x'}{x}) =  \log x + \epsilon\frac{x'}{x} \\  \sqrt{(x + \epsilon x')} &=  \sqrt{x(1 + \epsilon\frac{x'}{x})} =  \sqrt{x}(1 + \epsilon\frac{1}{2}\frac{x'}{x}) =  \sqrt{x} + \epsilon\frac{1}{2}\frac{x'}{\sqrt{x}} \\  \ldots &= \ldots  \end{aligned}

Notice that these equations implicitly encode the chain rule. For example, we know, using the chain rule, that

\displaystyle   \frac{\mathrm{d}}{\mathrm{d} x}\log(\sqrt x) =  \frac{1}{\sqrt x}\frac{1}{2}x^{-1/2} =  \frac{1}{2x}

And using the example equations above we have

\displaystyle   \begin{aligned}  \log(\sqrt {x + \epsilon x'}) &= \log (\sqrt{x} + \epsilon\frac{1}{2}\frac{x'}{\sqrt{x}}) \\                                &= \log (\sqrt{x}) + \epsilon\frac{\frac{1}{2}\frac{x'}{\sqrt{x}}}{\sqrt{x}} \\                                &= \log (\sqrt{x}) + \epsilon x'\frac{1}{2x}  \end{aligned}

Notice that dual numbers carry around the calculation and the derivative of the calculation. To actually evaluate \log(\sqrt{x}) at a particular value, say 2, we plug in 2 for x and 1 for x'

\displaystyle   \log (\sqrt(2 + \epsilon 1) = \log(\sqrt{2}) + \epsilon\frac{1}{4}

Thus the derivative of \log(\sqrt{x}) at 2 is 1/4.

With a couple of helper functions we can implement this rule (\epsilon^2 = 0) by making Dual an instance of Num, Fractional and Floating.

> constD :: Double -> Dual
> constD x = Dual x 0
> 
> idD :: Double -> Dual
> idD x = Dual x 1.0

Let us implement the rules above by declaring Dual to be an instance of Num. A Haskell class such as Num simply states that it is possible to perform a (usually) related collection of operations on any type which is declared as an instance of that class. For example, Integer and Double are both types which are instances on Num and thus one can add, multiply, etc. values of these types (but note one cannot add an Integer to a Double without first converting a value of the former to a value of the latter).

As an aside, we will never need the functions signum and abs and declare them as undefined; in a robust implementation we would specify an error if they were ever accidentally used.

> instance Num Dual where
>   fromInteger n             = constD $ fromInteger n
>   (Dual x x') + (Dual y y') = Dual (x + y) (x' + y')
>   (Dual x x') * (Dual y y') = Dual (x * y) (x * y' + y * x')
>   negate (Dual x x')        = Dual (negate x) (negate x')
>   signum _                  = undefined
>   abs _                     = undefined

We need to be able to perform division on Dual so we further declare it to be an instance of Fractional.

> instance Fractional Dual where
>   fromRational p = constD $ fromRational p
>   recip (Dual x x') = Dual (1.0 / x) (-x' / (x * x))

We want to be able to perform the same operations on Dual as we can on Float and Double. Thus we make Dual an instance of Floating which means we can now operate on values of this type as though, in some sense, they are the same as values of Float or Double (in Haskell 98 only instances for Float and Double are defined for the class Floating).

> instance Floating Dual where
>   pi = constD pi
>   exp   (Dual x x') = Dual (exp x)   (x' * exp x)
>   log   (Dual x x') = Dual (log x)   (x' / x)
>   sqrt  (Dual x x') = Dual (sqrt x)  (x' / (2 * sqrt x))
>   sin   (Dual x x') = Dual (sin x)   (x' * cos x)
>   cos   (Dual x x') = Dual (cos x)   (x' * (- sin x))
>   sinh  (Dual x x') = Dual (sinh x)  (x' * cosh x)
>   cosh  (Dual x x') = Dual (cosh x)  (x' * sinh x)
>   asin  (Dual x x') = Dual (asin x)  (x' / sqrt (1 - x*x))
>   acos  (Dual x x') = Dual (acos x)  (x' / (-sqrt (1 - x*x)))
>   atan  (Dual x x') = Dual (atan x)  (x' / (1 + x*x))
>   asinh (Dual x x') = Dual (asinh x) (x' / sqrt (1 + x*x))
>   acosh (Dual x x') = Dual (acosh x) (x' / (sqrt (x*x - 1)))
>   atanh (Dual x x') = Dual (atanh x) (x' / (1 - x*x))

That’s all we need to do. Let us implement the function we considered earlier.

> f =  sqrt . (* 3) . sin

The compiler can infer its type

ghci> :t f
  f :: Floating c => c -> c

We know the derivative of the function and can also implement it directly in Haskell.

> f' x = 3 * cos x / (2 * sqrt (3 * sin x))

Now we can evaluate the function along with its automatically calculated derivative and compare that with the derivative we calculated symbolically by hand.

ghci> f $ idD 2
  Dual 1.6516332160855343 (-0.3779412091869595)

ghci> f' 2
  -0.3779412091869595

To see that we are not doing symbolic differentiation (it’s easy to see we are not doing numerical differentiation) let us step through the actual evaluation.

\displaystyle   \begin{aligned}  f\,\$\,\mathrm{idD}\,2 &\longrightarrow \mathrm{sqrt} \cdot \lambda x \rightarrow 3x \cdot \sin \$\,\mathrm{idD}\,2 \\  &\longrightarrow \mathrm{sqrt} \cdot \lambda x \rightarrow 3x \cdot \sin \$\,\mathrm{Dual}\,2\,1 \\  &\longrightarrow \mathrm{sqrt} \cdot \lambda x \rightarrow 3x\,\$\, \mathrm{Dual}\,\sin(2)\,\cos(2) \\  &\longrightarrow \mathrm{sqrt} \,\$\, \mathrm{Dual}\,3\,0 \times \mathrm{Dual}\,\sin(2)\,\cos(2) \\  &\longrightarrow \mathrm{sqrt} \,\$\, \mathrm{Dual}\,(3\sin(2))\, (3\cos(2) + 0\sin(2)) \\  &\longrightarrow \mathrm{sqrt} \,\$\, \mathrm{Dual}\,(3\sin(2))\, (3\cos(2)) \\  &\longrightarrow \mathrm{Dual}\,(\mathrm{sqrt} (3\sin(2)))\, (3\cos(2)) / (2\,\mathrm{sqrt}(3\sin(2))) \\  &\longrightarrow 1.6516332160855343 -0.3779412091869595  \end{aligned}

A Simple Application

In order not to make this blog post too long let us apply AD to finding parameters for a simple regression. The application to ANNs is described in a previous blog post. Note that in a real application we would use the the Haskell AD and furthermore use reverse AD as in this case it would be more efficient.

First our cost function

\displaystyle   L(\boldsymbol{x}, \boldsymbol{y}, m, c) = \frac{1}{2n}\sum_{i=1}^n (y - (mx + c))^2

> cost m c xs ys = (/ (2 * (fromIntegral $ length xs))) $
>                  sum $
>                  zipWith errSq xs ys
>   where
>     errSq x y = z * z
>       where
>         z = y - (m * x + c)
ghci> :t cost
  cost :: Fractional a => a -> a -> [a] -> [a] -> a

Some test data

> xs = [1,2,3,4,5,6,7,8,9,10]
> ys = [3,5,7,9,11,13,15,17,19,21]

and a learning rate

> gamma = 0.04

Now we create a function of the two parameters in our model by applying the cost function to the data. We need the (partial) derivatives of both the slope and the offset.

> g m c = cost m c xs ys

Now we can take use our Dual numbers to calculate the required partial derivatives and update our estimates of the parameter. We create a stream of estimates.

> zs = (0.1, 0.1) : map f zs
>   where
> 
>     deriv (Dual _ x') = x'
> 
>     f (c, m) = (c - gamma * cDeriv, m - gamma * mDeriv)
>       where
>         cDeriv = deriv $ g (constD m) $ idD c
>         mDeriv = deriv $ flip g (constD c) $ idD m

And we can calculate the cost of each estimate to check our algorithm converges and then take the the estimated parameters when the change in cost per iteration has reached an acceptable level.

ghci> take 2 $ drop 1000 $ map (\(c, m) -> cost m c xs ys) zs
  [1.9088215184565296e-9,1.876891490619424e-9]

ghci> take 2 $ drop 1000 zs
  [(0.9998665320141327,2.0000191714150106),(0.999867653022265,2.0000190103927853)]

Concluding Thoughts

Efficiency

Perhaps AD is underused because of efficiency?

It seems that the Financial Services industry is aware that AD is more efficient than current practice albeit the technique is only slowly permeating. Order of magnitude improvements have been reported.

Perhaps AD is slowly permeating into Machine Learning as well but there seem to be no easy to find benchmarks.

Automatic Differentiation Tools

If it were only possible to implement automatic differentiation in Haskell then its applicability would be somewhat limited. Fortunately this is not the case and it can be used in many languages.

In general, there are three different approaches:

  • Operator overloading: available for Haskell and C++. See the Haskell ad package and the C++ FADBAD approach using templates.

  • Source to source translators: available for Fortran, C and other languages e.g., ADIFOR, TAPENADE and see the wikipedia entry for a more comprehensive list.

  • New languages with built-in AD primitives. I have not listed any as it seems unlikely that anyone practicing Machine Learning would want to transfer their existing code to a research language. Maybe AD researchers could invest time in understanding what language feature improvements are needed to support AD natively in existing languages.


05 Oct 11:59

Simulation of the dynamics of many-body quantum spin systems using phase-space techniques

by Ray Ng, Erik S. Sørensen, and Piotr Deuar

Author(s): Ray Ng, Erik S. Sørensen, and Piotr Deuar

We reformulate the full quantum dynamics of spin systems using a phase-space representation based on SU(2) coherent states which generates an exact mapping of the dynamics of any spin system onto a set of stochastic differential equations. This representation is superior in practice to an earlier ph...

[Phys. Rev. B 88, 144304] Published Fri Oct 04, 2013

02 Oct 16:08

Hierarchical topology in olfactory cortex [Neuroscience]

by McGinley, M. J., Westbrook, G. L.
Nosimpler

Doubtful. They apply a bunch of models and then claim a hierarchical model works best. Not only that, but they use slices as comparison. Did they slice their model too?

Topological motifs in synaptic connectivity—such as the cortical column—are fundamental to processing of information in cortical structures. However, the mesoscale topology of cortical networks beyond columns remains largely unknown. In the olfactory cortex, which lacks an obvious columnar structure, sensory-evoked patterns of activity have failed to reveal organizational principles of...
01 Oct 23:27

Universality in network dynamics

by Baruch Barzel

Nature Physics 9, 673 (2013). doi:10.1038/nphys2741

Authors: Baruch Barzel & Albert-László Barabási

01 Oct 19:43

When does a physical system compute?. (arXiv:1309.7979v3 [cs.ET] UPDATED)

by Clare Horsman, Susan Stepney, Rob C. Wagner, Viv Kendon

Computing is a high-level process of a physical system. Recent interest in non-standard computing systems, including quantum and biological computers, has brought this physical basis of computing to the forefront. There has been, however, no consensus on how to tell if a given physical system is acting as a computer or not; leading to confusion over novel computational devices, and even claims that every physical event is a computation. In this paper we introduce a formal framework that can be used to determine whether or not a physical system is performing a computation. We demonstrate how the abstract computational level interacts with the physical device level, drawing the comparison with the use of mathematical models to represent physical objects in experimental science. This powerful formulation allows a precise description of the similarities between experiments, computation, simulation, and technology, leading to our central conclusion: physical computing is the use of a physical system to predict the outcome of an abstract evolution. We give conditions that must be satisfied in order for computation to be occurring, and illustrate these with a range of non-standard computing scenarios. The framework also covers broader computing contexts, where there is no obvious human computer user. We define the critical notion of a 'computational entity', and show the role this plays in defining when computing is taking place in physical systems.

01 Oct 16:01

Testing Conspiracy Theories

by Sabine Hossenfelder
I'm about to fly to Vienna where I'll be attending a conference on Emergent Quantum Mechanics. I'm not entirely sure why I was invited to this event, but I suspect it's got something to do with me being one of the three people on the planet who like superdeterministic hidden variables theories, more commonly known as "conspiracy theories".

Leaving aside some loopholes that are about to be closed, tests of Bell's theorem rule out local hidden variables theories. But any theorem is only as good as the assumptions that go into it, and one of these assumptions is that the experimenter can freely chose the detector settings. As you know, I don't believe in free will, so I have an issue with this. You can see though why theories in which this assumption does not hold are known as "conspiracy theories". While they are not strictly speaking ruled out, it seems that the universe must be deliberately mean to prevent the experimentalists from doing what they want, and this option is thus often not taken seriously.

But really, this is a very misleading interpretation of superdeterminism. All that superdeterminism means is that a state cannot be prepared independently of the detector settings. That's non-local of course, but it's non-local in a soft way, in the sense that it's a correlation but doesn't necessarily imply a 'spooky' action at a distance because the backwards lightcones of the detector and state (in a reasonable universe) intersect anyway.

That having been said, you might like or not like superdeterministic hidden variables theories, the real question is if there is some way to test if that's how nature works, because one can't use Bell's theorem here. After some failed attempts, I finally came up with a possible test that is almost model-independent, and it was published in my paper "Testing super-deterministic hidden variables theories".

I actually wrote this paper in the hospital when I was pregnant. The nurses kept asking me if I'm writing a book. They were quite disappointed to be drowned in elaborations on the foundations of quantum mechanics rather than hearing a vampire story. In any case, in the expectation that the readers on this blog are somewhat more sympathetic to the question whether the universe is fundamentally deterministic or not, here a brief summary of the idea.

The central difference between standard quantum mechanics and superdeterministic hidden variables theories is that in the former case two identically prepared states can give two different measurement outcomes, while in the latter case that's not possible. Unfortunately, "identically prepared" includes the hidden variables and it's difficult to identically prepare something that you can't measure. That is after all the reason why it looks indeterministic.

However, rather than trying to prepare identical states we can try to make repeated measurements on the same state. For that, take two non-commuting variables (for example the spin or polarization in two different directions) and measure them alternately. In standard quantum mechanics the measurement outcomes will be non-correlated. In a superdeterministric hidden variables theory, they'll be correlated - provided you can make a case that the hidden variables don't change in between the measurements. The figure below shows an example for an experimental setup.

A particle (electron/photon) is bounced back and forth between
two mirrors (grey bars). The blue and red bars indicate measurements
of two non-commuting variables, only one eigenvalue passes, the
other leaves the system. The quantity to measure is the average time
it takes until the particle leaves. In a superdeterministic theory,
it can be significantly longer than in standard quantum mechanics.


The provision that the hidden variables don't change is the reason why the test is only 'almost' model independent, because I made the assumptions that the hidden variables are due to the environment (the experimental setup) down to the relevant scales of the interactions taking place. This means basically if you make the system small and cool and measure quickly enough you have a chance to see the correlation between subsequent measurements. I made some estimates (see paper) and it seems possible with today's technology to make this test.

Interestingly, after I had finished a draft of the paper, Chris Fuchs sent me a reference to a 1970 article by Eugene Wigner where, in a footnote, Wigner mentions Von Neumann discussing exactly this type of experiment:
“Von Neumann often discussed the measurement of the spin component of a spin-1/2 particle in various directions. Clearly, the possibilities for the two possible outcomes of a single such measurement can be easily accounted for by hidden variables [...] However, Von Neumann felt that this is not the case for many consecutive measurements of the spin component in various different directions. The outcome of the first such measurement restricts the range of values which the hidden parameters must have had before that first measurement was undertaken. The restriction will be present also after the measurement so that the probability distribution of the hidden variables characterizing the spin will be different for particles for which the measurement gave a positive result from that of the particles for which the measurement gave a negative result. The range of the hidden variables will be further restricted in the particles for which a second measurement of the spin component, in a different direction, also gave a positive result...”
Apparently there was a longer discussion with Schrödinger following this proposal, which could be summarized with saying that the experiment cannot test generic superdeterminism, but only certain types as I already said above. If you think about it for a moment, you can never rule out generic superdeterminism anyway, so why even bother.

I'm quite looking forward to this conference, to begin with because Vienna is a beautiful city and I haven't been there for a while, but also because I'm hoping to meet some experimentalists who can tell me if I'm nuts :p

Update: Slides of my talk are here.

25 Sep 01:59

The Definition of Graph is Classified

by leinster
MathML-enabled post (click for more details).

Amid the (to me, highly disturbing) news that the state apparatuses of the US and UK have been secretly and systematically keeping records of our emails, our web browsing, our phone calls, our letters, our financial transactions and our physical location, here’s one half-smile’s-worth of light relief: the definition of graph is classified as “Top Secret”. (Update: or maybe not. See Tod’s comment below.)

The definition of graph, in an NSA slide marked Top Secret

(Click to see the news article this comes from, and to expand the tiny writing along the top and bottom which specifies the precise degree of top-secretness.)

This NSA slide uses the category theorists’ word object for a vertex of a graph. I’m relieved they don’t call the edges morphisms.

MathML-enabled post (click for more details).

This is a deadly serious subject, but this blog isn’t the place for discussing it, and I’m not up for moderating that kind of discussion. So please keep comments light ‘n’ fluffy.

25 Sep 01:55

See if you could pass this "literacy" test

by Minnesotastan

In the 1960s literacy tests were used in some states in the United States to suppress voting.  The Civil Rights Movement Veterans website has collected a number of these.
In addition to completing the application and swearing the oaths, you had to pass the actual "Literacy Test" itself. Because the Freedom Movement was running "Citizenship Schools" to help people learn how to fill out the forms and pass the test, Alabama changed the test 4 times in less than two years (1964-1965). At the time of the Selma Voting Rights campaign there were actually 100 different tests in use across the state...

Most of the tests collected here are a battery of trivia questions related to civic procedure and citizenship. (Two from the Alabama test: “Name the attorney general of the United States” and “Can you be imprisoned, under Alabama law, for a debt?”).

But this Louisiana “literacy” test, singular among its fellows, has nothing to do with citizenship. Designed to put the applicant through mental contortions, the test's questions are often confusingly worded. If some of them seem unanswerable, that effect was intentional. The (white) registrar would be the ultimate judge of whether an answer was correct.

Try this one: “Write every other word in this first line and print every third word in same line (original type smaller and first line ended at comma) but capitalize the fifth word that you write.” 
Done with page one (above)?  Here are pages 2 and 3:

  

Oh, BTW...
The test was to be taken in 10 minutes flat, and a single wrong answer meant a failing grade.
Did you fail?  You can't vote.

Via Slate and BoingBoing.
19 Sep 18:48

Dopamine, rewards, and the brain

by mdbownds@wisc.edu (Deric Bownds)
The neurotransmitter dopamine is one we all seem to have heard about, claimed to be central to love, gambling, reward, addiction, etc. A recent article by Howe et al. shows a bit more nuance than previously assumed in what dopamine levels are signaling. They ramp up during navigation towards an expected reward. I thought I would pass on a clip from Niv's summary of their findings, followed by the Howe et al. abstract


a, Dopaminergic neurons in the midbrain project to all brain areas, most prominently to the striatum (black arrows). These cells fire at a constant rate of 3–5 spikes per second, with occasional phasic bursts or pauses on the occurrence of positive reward prediction errors (discovering that the local supermarket now supplies your favourite coffee beans, b) or negative reward prediction errors (sipping your coffee and finding that the milk has gone sour, c), respectively. The background (tonic) level of dopamine fluctuates slowly, possibly tracking the average rate of rewards (not shown). d, By measuring dopamine concentrations in the striatum of rats navigating mazes, Howe et al.1 reveal a third mode of dopaminergic signalling: when a prolonged series of actions must be completed to obtain a reward (for instance, all the steps it takes to make a cup of coffee), dopamine concentration ramps up gradually, at each point in time signalling the predicted distance from the goal.
The abstract:
Predictions about future rewarding events have a powerful influence on behaviour. The phasic spike activity of dopamine-containing neurons, and corresponding dopamine transients in the striatum, are thought to underlie these predictions, encoding positive and negative reward prediction errors. However, many behaviours are directed towards distant goals, for which transient signals may fail to provide sustained drive. Here we report an extended mode of reward-predictive dopamine signalling in the striatum that emerged as rats moved towards distant goals. These dopamine signals, which were detected with fast-scan cyclic voltammetry (FSCV), gradually increased or—in rare instances—decreased as the animals navigated mazes to reach remote rewards, rather than having phasic or steady tonic profiles. These dopamine increases (ramps) scaled flexibly with both the distance and size of the rewards. During learning, these dopamine signals showed spatial preferences for goals in different locations and readily changed in magnitude to reflect changing values of the distant rewards. Such prolonged dopamine signalling could provide sustained motivational drive, a control mechanism that may be important for normal behaviour and that can be impaired in a range of neurologic and neuropsychiatric disorders.
19 Sep 18:46

Bombing's Easy

by noreply@blogger.com (Atrios)
"What would you do, hippie?" is the other shorter Kristof. Violence escalation is always the only answer, despite having had a couple of lessons in the past decade about why that really isn't such a good idea.

I don't have the knowledge to plan the logistics for a massive refugee resettlement program (for example) and fit it neatly into a 700 word column. But someone should be thinking of ways to help the people we claim to care about.
19 Sep 14:22

How addictive is morphine?

by Minnesotastan
Research previously conducted on rats did not adequately control for the environment in which the rats were studied:
Alexander's hypothesis was that drugs do not cause addiction, and that the apparent addiction to opiate drugs commonly observed in laboratory rats exposed to it is attributable to their living conditions, and not to any addictive property of the drug itself. He told the Canadian Senate in 2001 that prior experiments in which laboratory rats were kept isolated in cramped metal cages, tethered to a self-injection apparatus, show only that "severely distressed animals, like severely distressed people, will relieve their distress pharmacologically if they can."

To test his hypothesis, Alexander built Rat Park, an 8.8 m2 (95 sq ft) housing colony, 200 times the square footage of a standard laboratory cage. There were 16–20 rats of both sexes in residence, an abundance of food, balls and wheels for play, and enough space for mating and raising litters. The results of the experiment appeared to support his hypothesis. Rats who had been forced to consume morphine hydrochloride for 57 consecutive days were brought to Rat Park and given a choice between plain tap water and water laced with morphine. For the most part, they chose the plain water. "Nothing that we tried," Alexander wrote, "... produced anything that looked like addiction in rats that were housed in a reasonably normal environment." Control groups of rats isolated in small cages consumed much more morphine in this and several subsequent experiments. 
Via garry's subposthaven.  There is a relevant discussion at Reddit.

Addendum:   A hat tip to Fletcher in Portugal for noting that the research described above has been summarized in a well-illustrated 40-page cartoon.
17 Sep 19:35

Movie Review: Network

by Cathy O'Neil, mathbabe

I watched Network last night on the advice of my friends in Occupy. More like insistence than advice, actually: they claimed I absolutely needed to see it, that it would blow me away with its prescience and wisdom.

Turns out they were absolutely right.

Here’s the thing, though. Given that Network was released in 1977, I’m hesitant to even suggest to young people today (defined as: younger than me) that they watch it because they it’s so true, its predictions are so spot-on accurate, that anyone who wasn’t alive in 1977 might not – probably cannot – appreciate how incredible it must have seemed back then. It might even seem boring to someone who is used to a world of Fox News and the internet’s filter bubble.

Then again, that’s not entirely true. It’s not just an amazing prediction about what TV and society would turn into. The other strength of the movie is that it keeps changing, in a mostly painful but sometimes hilarious way, from scene to scene, subplot to subplot, and that keeps it from being about just one idea or just one person.

A particularly powerful scene of a jilted wife really got to me, and even though the movie isn’t particularly about that relationship, the movie manages to make it work.

And the most ridiculous scene, which involves two revolutionary groups reading over a contract with a crowd of network lawyers, might also be the most convincingly depressing: we might have our own particular emotional and political issues and rebellions, but we are all cowed by the power of money.

If you wanted to force Network to be about one thing in particular, it would have to be an argument concerning the role of the individual in the modern world. Here’s the protagonist, Howard Beale, preaching to his television audience from this YouTube clip of Network:

… when the twelfth largest company in the world controls the most awesome goddamned propaganda force in the whole godless world, who knows what shit will be peddled for truth on this tube?

So, listen to me! Television is not the truth!  Television is a goddamned amusement park, that’s what television is! Television is a circus, a carnival, a travelling troupe of acrobats and story-tellers, singers and dancers, jugglers, side-show freaks, lion-tamers and football players.  We’re in the boredom-killing business!

If you want truth, go to God, go to your guru, go to yourself because that’s the only place you’ll ever find any real truth!  But, man, you’re never going to get any truth from us.

We’ll tell you anything you want to hear.  We lie like hell! We’ll tell you Kojack always gets the killer, and nobody ever gets cancer in Archie Bunker’s house. And no matter how much trouble the hero is in, don’t worry:  just look at your watch — at the end of the hour, he’s going to win.  We’ll tell you any shit you want to hear!

We deal in illusion, man! None of it’s true! But you people sit there — all of you — day after day, night after night, all ages, colors, creeds — we’re all you know. You’re beginning to believe this illusion we’re spinning here. You’re beginning to think the tube is reality and your own lives are unreal.

You do whatever the tube tells you.  You dress like the tube, you eat like the tube, you raise your children like the tube, you think like the tube. This is mass madness, you maniacs!

In God’s name, you people are the real thing!  We’re the illusions!  So turn off this goddam set! Turn it off right now!  Turn it off and leave it off.  Turn it off right now, right in the middle of this very sentence I’m speaking now.”

After a while, the head of the news corporation decides he’s had enough of Beale’s message and decides to give him the corporation’s perspective on the discussion. From this YouTube clip:

You get up on your little twenty-one inch screen, and howl about America and democracy.

There is no America. There is no democracy. There is only IBM and ITT and AT&T and Dupont, Dow, Union Carbide and Exxon. Those are the nations of the world today.

What do you think the Russians talk about in their councils of state — Karl Marx? They pull out their linear programming charts, statistical decision theories and minimax solutions and compute the price-cost probabilities of their transactions and investments just like we do.

We no longer live in a world of nations and ideologies, Mr. Beale.  The world is a college of corporations, inexorably determined by the immutable by-laws of business.

The world is a business, Mr. Beale!

It has been since man crawled out of the slime, and our children, Mr. Beale, will live to see that perfect world in which there is no war and famine, oppression and brutality — one vast and ecumenical holding company, for whom all men will work to serve a common profit, in which all men will hold a share of stock, all necessities provided, all anxieties tranquilized, all boredom amused.  And I have chosen you to preach this evangel, Mr. Beale.

What’s incredible about Network is that, until possibly the last 2 minutes, none of it seems particularly unrealistic. It’s satire that rings so true that it manages to avoid the standard skeptical or baffled response. And although it is not uplifting, Network is incredibly thought-provoking and current.

Finally, the movie also has some show-biz advice for anyone trying to communicate a message. Namely, being consistently depressing and apocalyptic gets old, even if there’s an element of truth to it. It’s critical to balance that with hope about the power of individual action, sprinkled with outrage and impulsive energy.


17 Sep 18:54

Computing matrix inversion with optical networks. (arXiv:1309.3820v1 [physics.optics])

by Kan Wu, Cesare Soci, Perry Ping Shum, Nikolay I. Zheludev

With this paper we bring about a discussion on the computing potential of complex optical networks and provide experimental demonstration that an optical fiber network can be used as an analog processor to calculate matrix inversion. A 3x3 matrix is inverted as a proof-of-concept demonstration using a fiber network containing three nodes and operating at telecomm wavelength. For an NxN matrix, the overall solving time (including setting time of the matrix elements and calculation time of inversion) scales as O(N^2), whereas matrix inversion by most advanced computer algorithms requires ~O(N^2.37) computational time. For well-conditioned matrices, the error of the inversion performed optically is found to be less than 3%, limited by the accuracy of measurement equipment.

16 Sep 18:19

History: Science luminaries are often religious

by Robert White
Nosimpler

Yohan, you might appreciate this.

History: Science luminaries are often religious

Nature 501, 7465 (2013). doi:10.1038/501033c

Authors: Robert White, George Ellis & Denis Alexander

Young Earth creationists are easy to lampoon (see G.BranchNature500, 149; 2013). However, using reasoned arguments might hold more sway with the US creationist movement.PZ Myers, author of The Happy Atheist (which Branch reviewed), should remember that the

16 Sep 18:16

"God is the Third Rail of Rock Music" - Billy Corgan

by Nick Gillespie
Nosimpler

Not convinced, but interesting anyway.

As a longtime believer that Christian rock is neither, I was interested in this snippet of an interview with Smashing Pumpkins and Zwan frontman Billy Corgan. I saw it on Matt Lewis' Twitter feed (subscribe here) and Daily Caller blog.

Corgan notes that the Romantic notion of the suffering artist - a staple of rock and roll, which may well be where 19th-century aesthetic imperatives have gone to die - is only worth a couple of albums' worth of music.

He also talks about how "God is the third rail of rock music" and that that's a shame, given how many people believe in god.

He also advises Christian bands to "make better music" if they want to succeed and notes that U2, which soft-pedals its religious bona fides these days, created the template for much of contemporary Christian rock. That's true, though all pop music fans always do well to remember Bob Dylan's absolutely awesome, fire-and-brimstone-huffing masterpiece, Slow Train Coming (1979), which among other things, asked "so-called friends...to imagine  the darkness that will fall from on high/when they will beg God to kill them and they won't be able to die."

Anyhoo, Corgan is an interesting character and it's worth listening to his thoughts on rock/pop.

For those interested in the often-tormented relationship between rock music and Christian theology, make a point to read Peter Bagge's great 2002 cartoon essay on the matter.

And if you're in DC on Friday, September 13, come to Reason's HQ to have lunch with Bagge.

13 Sep 00:27

Availability of marijuana in the United States

by Minnesotastan

Found at imgur.
13 Sep 00:13

Classical Dualities and Formal Concept Analysis

by willerton
MathML-enabled post (click for more details).

What do the algebraic varieties, convex sets, linear subspaces, real numbers, logical theories and extension fields have in common with the formal concepts that I was discussing last time? Well, they can all be constructed in the same way.

Last time I described how if you start of with two sets together with a relation between them then you can turn a handle on a machine and out will pop a partially ordered set of ‘concepts’. Each concept is a pair (A,B) consisting of a subset of each of the two original sets. This results in a duality, or more precisely a Galois correspondence, between certain subsets (the ‘closed’ ones) of the the original sets.

I didn’t realise that many standard dualites in mathematics arise in this way, just starting with two sets and a relation between them. This struck me when John was questioning me about my previous post.

See if you can guess which concepts or dualities emerge from the following relations. The answers are below the fold.

Algebraic geometry Take (the underlying set of) ℂn and the set of complex polynomials in n-variables with the relation that the polynomial vanishes at the point.

G=ℂn,M=ℂ[x1,…,xn],xIp⇔p(x)=0

Number theory Take the set of points in a field L where L is a finite Galois extension L⊃K, and the set of field automorphisms of L which fix K, with the relation that the automorphism fixes the point. G=L,M=Aut(L;K),xIϕ⇔ϕ(x)=x.

Linear algebra Take a vector space and the dual vector space with the relation that the function vanishes at the point.

G=V,M=V∨,vIf⇔f(v)=0.

Logic Fix a formal language L. Take the set of L-structures and the set of L-sentences with the relation expressing the truth of a sentence with respect to a structure. G={L-structures},M={L-sentences},sIϕ⇔s⊨α.

Convex geometry Take the set of points of an affine space 𝔸 (e.g. ℝn) and the set of closed halfspaces in 𝔸 with the relation that the point is in the halfspace. G=𝔸,M={halfspaces in𝔸},xIH⇔x∈H.

Analysis Take the set of rational numbers and the set of rational numbers again, with the relation being ≤.

G=ℚ,M=ℚ,qIq′⇔q≤q.

[This isn’t what I said I’d talk about this time, but I got distracted!]

MathML-enabled post (click for more details).

Recap

Let’s just run through what the machine does. Start with sets G and M with a relation I between them. This gives rise to a Galois connection between the partially ordered sets of subsets of G and M:

I*:𝒫(G)⇄𝒫(M)op:I*.

We then get closure operations on both powersets:

I*I*:𝒫(G)→𝒫(G),I*I*:𝒫(M)→𝒫(M).

The closed subsets of G are those that are invariant under the closure operation, and the set of closed subsets is denoted 𝒫cl(G) — in formal concept analysis these are the extents. Similarly, we have 𝒫cl(M) — in formal concept analysis these are called the intents.

The Galois connection restricts to a Galois correspondence, i.e. a duality, between the closed subsets of G and the closed subsets of M.

I*:𝒫cl(G)≅𝒫cl(M)op:I*.

The concepts are then pairs (A,B) consisting of a closed subset of G and the corresponding closed subset of M. So the set of concepts is isomorphic to both the set of closed subsets of G and the set of closed subsets of M.

The answers

Algebraic geometry Here the concepts are affine varieties. A concept consists of the pair (X,A) where X⊆ℂn is the set of points of the variety and A⊆ℂ[x1,…xn] is the ideal of functions vanishing on X. This gives the classic duality between affine varieties and radical ideals.

Number theory This is, of course, ‘the’ Galois correspondence. The one in Galois theory. The closed subsets of L are the intermediate field extensions between K and L and the closed subsets of the set of automorphisms are the subgroups.

Linear algebra The closed sets of V are precisely the linear subsets and the concepts are of the form (W,W∘), where W∘ is the annihilator of W.

Logic Here concepts are theories. A concept (S,α) consists of α a set of sentences which is closed under logical consequence and S the set of models of the theory. The duality in this case is Lawvere’s adjunction between semantics and syntax.

Convex geometry The closed subsets of 𝔸 are the closed convex sets, the closure of a set is (the closure of) its convex hull.

Analysis The concepts here are Dedekind cuts, i.e. real numbers (together with ±∞)! A concept consists of a pair (A,B) of sets of rational numbers, where A is everything less than or equal to everything in B and B is everything greater than or equal to everything in A.

There are undoubtably, other interesting examples.

10 Sep 20:55

Jellyfish And World Domination | Tim Flannery | New York Review Of Books | 5th September 2013

by Tim Flannery
In form, a review of Stung! On Jellyfish Blooms and the Future of the Ocean, by Lisa-ann Gershwin. In substance, a compendium of amazing and mostly horrifying facts about jellyfish, which are, apparently, taking over the world, or at least the marine portion of it. They can halt battleships, overturn trawlers, shut down power stations, wipe out fisheries, blockade continents. The Black Sea has become “effectively jellified”
08 Sep 22:22

A response to the crisis in Syria

by Minnesotastan
Source.

Addendum:  In response to a comment that was written and later deleted, I should clarify that I posted this item not to minimize or make fun of the suffering of the people of Syria, but as a reflection of a prevailing (and increasing) attitude of Americans toward their elected "leadership."  The people of the country have been lied to - repeatedly and almost systematically - by a long series of Presidents and Congresses on countless matters relating to foreign policy.  Invariably the lies and deceptions have led to increased military aggressiveness abroad and an insane funding of the military-industrial complex to a degree that has depleted the resources of this country for domestic purposes and resulted in a deterioration of our infrastructure and degradation of our environment.  This has to stop.  I hope a similar sentiment is what motivated the staff at The Onion.
06 Sep 20:44

Three images of "Up North"

by Minnesotastan

I presume the backyard rink must be intended only for peewee hockey, because I wouldn't want to be checked against those low sideboards.

Found at Izismile - unfortunately without credits re sources.
03 Sep 15:37

Formal Concept Analysis

by willerton
MathML-enabled post (click for more details).

Last time I posted about the nucleus of enriched functors. This time I will post about something a bit (!) less abstract — formal concept analysis — something which has applications in data-mining, software engineering and, possibly, catching terrorists. Next time I’ll post about how these two things come together and can give rise to fuzzy concept analysis.

Formal concept analysis is about extracting the relationships and hierarchies available from the common attributes shared by objects. Let’s try to break up this abstract definition with a concrete example.

In the most basic form of formal concept analysis, the input consists of a set of objects G (from the German ‘Gegenstände’), a set of attributes M (from the German ‘Merkmale’) and a relation I (from the German ‘Inzidenzrelation’) between the objects and the attributes expressing which objects have which attributes. This triple (G,M,I) is called the formal context and is often expressed as a table. I don’t feel witty enough today to think up a pertinent Café-based example, so instead I will steal a standard example from the formal concept analysis literature. Here is the table.

A concept lattice

[For non-native English speakers, bream is a kind of fish.]

The output of the analysis is the concept lattice ℬ(G,M,I) (from the German ‘Begriffsverband’). This is a lattice, which means it is a poset in which each pair of elements have a greatest lower bound and a least upper bound. The concept lattice expresses relationships between the objects and the attributes. Here is the concept lattice for the above example.

A concept lattice

I will explain how you go from the formal context to the concept lattice in the main body below. The relation with my last post is contained in the following slogan.

The concept lattice is the nucleus N(I) of the relation I.

This comes about by thinking about everything here as being done in the realm of categories enriched over truth values. I’ll explain that next time, but many of you will be able to see that in what you read here.

MathML-enabled post (click for more details).

Formal concept analysis

I don’t know anything about the philosophical roots of the subject but the mathematics of formal concept analysis was fomented in a seminal paper of Rudolf Wille in the 80s.

Wille, Rudolf, “Restructuring Lattice Theory: An Approach Based on Hierarchies of Concepts” Ordered Sets. Springer, 1982. 445-470.

The theory was based on Garrett Birkoff’s work on lattice theory of the 30s and developed with Wille’s colleague’s Peter Burmeister and Bernard Ganter in Darmstadt.

I got to meet Bernard Ganter briefly recently by a strange coincidence. Nora Ganter was visiting Sheffield last month from Melbourne. I was talking to her about categorical traces and categorical representations. Over coffee it came out that her father was a mathematician and I realised that it was the Bernard Ganter whose name I had first come across the week before when chasing up some references for my Isbell completion paper. However, not only was he her father, but he was also in Sheffield in the role as baby-sitting grandfather to Nora’s daughter. We managed to have a quick chat before I disappeared off on holiday.

Objects and attributes

Anyway, getting back to the mathematical story, we start with a set of objects G and a set of attributes M, in our example these are G={fish leech,bream,frog,…,corn}M={needs water to live,lives in water,…,breast feeds} Given a set of objects A⊆G we can form a set of attributes I*(A)⊆M which is the set of attributes shared by all objects in A: I*(A)≔{b∈M∣aIbfor alla∈A} So for instance I*({dog,bream})={needs water to live,can move,has limbs}.

This gives us a function – the shared attributes function – between power sets I*:𝒫(G)→𝒫(M). Power sets come with a natural partial order on them, namely that of being a subset. With respect to this, the shared attributes function I* is order reversing:

A⊆A′⇒I*(A)⊇I*(A′).

In words, if you increase the set of objects then you will decrease the set of attributes that they share.

This means we can think of the shared attributes function as an order-preserving function

I*:𝒫(G)→𝒫(M)op.

Similarly we have an order preserving function going the other way

I*:𝒫(M)op→𝒫(G)

which is the objects-with-those-attributes function. So for instance I*({needs water to live,can move,has limbs})={dog,bream,frog}.

Galois connections and closure operations

The functions I* and I* form what is known as a Galois connection. This means that for all subsets of objects A∈𝒫(G) and sets of attributes B⊆𝒫(M) we have

I*(A)⊇B⇔A⊆I*(B).

This is clear, because both expressions are just saying that all the objects in A have all the attributes in B.

A Galois connection gives rise to two closure operations. The closure operations here are I*I*:𝒫(G)→𝒫(G) and I*I*:𝒫(M)→𝒫(M). The closure operation on sets of objects is to take all objects which share all the attributes that the objects in the original set share. So I*I*({dog,bream})={dog,bream,frog}.

Similarly, the closure operation for attributes takes a set of attributes and adds in all other attributes which are shared by the objects with the original attributes. So for example I*I*({has limbs})={needs water to live,can move,has limbs}. It should be reasonably clear that these deserve the name closure operations as they are idempotent, so doing the operation twice doesn’t add anything new.

A closed set of objects is one which is equal to its closure, i.e. A⊆G such that I*I*(A)=A. So {dog,bream} is not closed, but {dog,bream,frog} is. A closed set of objects is a maximal set of objects which share some attributes. There is the analogous notion for attributes, so {has limbs} is not closed but {needs water to live,can move,has limbs} is.

The concept of a concept

We now reach the fundamental notion of a concept. A concept (A,B)∈𝒫(G)×𝒫(M) consists of a set of objects A and a set of attributes B such that I*(A)=B and A=I*(B). It is immediate that both A and B are closed. In our example we would have the concept ({dog,bream,frog},{needs water to live,can move,has limbs}), we might call this concept ‘limbed animals’. For a concept (A,B) the set of objects A is called the extent of the concept and the set of attributes B is called the intent of the concept.

You can imagine rather bigger examples than our baby example here, such as G being the set of all species of animal on the planet and M being some suitable set of attributes. I would expect (subject to picking a good set of attributes) that there would be a concept of ‘bird’, with the extent of the concept of bird being the set of all bird species and the intent including attributes such as ‘lays eggs’, ‘has feathers’ and ‘has wings’, but not including ‘can fly’ as we know of bird species such as penguins which can’t fly.

It’s not hard to see that the set of concepts ℬ(G,M,I) is in bijective correspondence with the set 𝒫cl(G) of closed sets of objects. In one direction you just take the extent of the concept, (A,B)↦A, and in the other direction you take the closed set with its shared attributes, A↦(A,I*(A)). Similarly we have a bijection with the set 𝒫cl(M) of closed sets of attributes. So as sets we have bijections

𝒫cl(G)≅ℬ(G,M,I)≅𝒫cl(M).

The ordering on concepts

The set of all concepts ℬ(G,M,I) has a natural partial order on it given by the notion of a subconcept. For instance, ‘limbed, water-dwelling animal’ is a subconcept of ‘limbed animal’, and it consists of the following ({bream,frog},{needs water to live,lives in water,can move,has limbs}). Clearly, a subconcept has a reduced extent (set of objects) and an increased intent (set of attributes). Formally, for concepts (A,B),(A′,B′)∈ℬ(G,M,I) write (A,B)≤(A′,B′) if A⊆A′, or equivalently if B⊇B′. This gives the set of concepts ℬ(G,M,I) the structure of a poset.

You can look back to the top to see a picture of the poset structure on our example.

In fact, the set of concepts ℬ(G,M,I) is a lattice meaning that each pair of concepts has a greatest lower bound and a least upper bound. Given two concepts (A,B) and (A′,B′) we want to find the least upper bound (or supremum). We know that any upper bound must be a superconcept of both (A,B) and (A′,B′), so the extent must contain A∪A′, and the closure I*I*(A∪A′) is the smallest closed set containing the union so must be the extent of the least upper bound thus

sup((A,B),(A′,B′))=(I*I*(A∪A′),I*(A∪A′)).

However, I*(A∪A′) is the set of attributes shared by everything in the union, and this is the intersection of the set of attributes shared by the objects in A and those shared by the objects in A′. In other words

sup((A,B),(A′,B′))=(I*I*(A∪A′),B∩B′).

Similarly, the greatest lower bound, or infimum, is given by taking the closure of the union of the intents.

inf((A,B),(A′,B′))=(A∩A′,I*I*(B∪B′)).

What has this to do with the nucleus of a profunctor?

Several of you will have realised that the relation I can be viewed as a profunctor enriched in truth values, that the Galois connection is an adjunction between presheaf-type enriched categories and the concept lattice is the centre of the adjunction, i.e. the nucleus of the profunctor. I’ll explain this in more detail next time and go on to say how this point of view can be used to generalize to fuzzy concept analysis.

03 Sep 15:27

Short your kids, go long your neighbor: betting on people is coming soon

by Cathy O'Neil, mathbabe

Yet another aspect of Gary Shteyngart’s dystopian fiction novel Super Sad True Love Story is coming true for reals this week.

Besides anticipating Occupy Wall Street, as well as Bloomberg’s sweep of Zuccotti Park (although getting it wrong on how utterly successful such sweeping would be), Shteyngart proposed the idea of instant, real-time and broadcast credit ratings.

Anyone walking around the streets of New York, as they’d pass a certain type of telephone pole – the kind that identifies you via your cell phone and communicates with data warehousing services and databases – would have their credit rating flashed onto a screen. If you went to a party, depending on how you impressed the other party go-ers, your score could plummet or rise in real time, and everyone would be able to keep track and treat you accordingly.

I mean, there were other things about the novel too, but as a data person these details certainly stuck with me since they are both extremely gross and utterly plausible.

And why do I say they are coming true now? I base my claim on two news stories I’ve been sent by my various blog readers recently.

[Aside: if you read my blog and find an awesome article that you want to send me, by all means do! My email address is available on my "About" page.]

First, coming via Suresh and Marcos, we learn that data broker Acxiom is letting people see their warehoused data. A few caveats, bien sûr:

  1. You get to see your own profile, here, starting in 2 days, but only your own.
  2. And actually, you only get to see some of your data. So they won’t tell you if you’re a suspected gambling addict, for example. It’s a curated view, and they want your help curating it more. You know, for your own good.
  3. And they’re doing it so that people have clarity on their business.
  4. Haha! Just kidding. They’re doing it because they’re trying to avoid regulations and they feel like this gesture of transparency might make people less suspicious of them.
  5. And they’re counting on people’s laziness. They’re allowing people to opt out, but of course the people who should opt out would likely never even know about that possibility.
  6. Just keep in mind that, as an individual, you won’t know what they really think they know about you, but as a corporation you can buy complete information about anyone who hasn’t opted out.

In any case those credit scores that Shteyngart talks about are already happening. The only issue is who gets flashed those numbers and when. Instead of the answers being “anyone walking down the street” and “when you walk by a pole” it’s “any corporation on the interweb” and “whenever you browse”.

After all, why would they give something away for free? Where’s the profit in showing the credit scores of anyone to everyone? Hmmmm….

That brings me to my second news story of the morning coming to me via Constantine, namely this TechCrunch story which explains how a startup called Fantex is planning to allow individuals to invest in celebrity athletes’ stocks. Yes, you too can own a tiny little piece of someone famous, for a price. From the article:

People can then buy shares of that player’s brand, like a stock, in the Fantex-consumer market. Presumably, if San Francisco 49ers tight end Vernon Davis has a monster year and looks like he’s going to get a bigger endorsement deal or a larger contract in a few years, his stock would rise and a fan could sell their Davis stock and cash out with a real, monetary profit. People would own tracking or targeted stocks in Fantex that would depend on the specific brand that they choose; these stocks would then rise and fall based on their own performance, not on the overall performance of Fantex.

Let’s put these two things together. I think it’s not too much of a stretch to acknowledge a reason for everyone to know everyone else’s credit score! Namely, we can can bet on each other’s futures!

I can’t think of any set-up more exhilarating to the community of hedge fund assholes than a huge, new open market – containing profit potentials for every single citizen of earth – where you get to make money when someone goes to the wrong college, or when someone enters into an unfortunate marriage and needs a divorce, or when someone gets predictably sick. An orgy in the exact center of tech and finance.

Are you with me peoples?!

I don’t know what your Labor Day plans are, but I’m getting ready my list of people to short in this spanking new market.