Slide deck from US Workshop on Superconducting Electronics November 4, 2009
Posted by Geordie in D-Wave Science & Technology.add a comment
Long-time readers of this blog may recall that I gave the keynote at this workshop in 2007. Here is one of the presentations we gave at this year’s US Workshop on Superconducting Electronics.
Yes… I laughed. Yes… it is like this at D-Wave. October 29, 2009
Posted by Geordie in World Domination.3 comments
A new section: What we are trying to build October 20, 2009
Posted by Geordie in D-Wave Science & Technology.3 comments
Hi everyone, you may have noticed that there is another tab available to click on above called “What we are trying to build”. Over the next 2 days I will be porting a rather large set of documents and links into it. I will post another message when this port is complete.
UPDATE: Done! I hope you find the content interesting.
AQUA@home version 4 online! October 9, 2009
Posted by Geordie in D-Wave Science & Technology.4 comments
The new AQUA@home application (version 4) is now ready. The algorithm has been improved to better measure the size and place of the minimum gap in the evolution of a quantum system. There is also better load-balancing for multi-core CPUs. AQUA will be performing full-scale runs starting today.
Sweet!!!
A question about matrices October 5, 2009
Posted by Geordie in General.11 comments
I have been thinking about ways to construct interesting adiabatic algorithms for tasks other than optimization. One of the areas I have been looking is in quantum simulation and in particular in calculating energy eigenvalues & eigenvectors of quantum systems.
Here is a question I was looking at earlier today that I don’t know the answer to, maybe you can help. Here is my question.
Assume you are given two Hermitian matrices
and
. What are the resource costs for determining if all the eigenvalues of
and
are the same, ie. they both have the same spectrum? Note that we don’t need to know what the eigenvalues actually are, just whether the two matrices have the same eigenvalues. One way to do it is to (a) diagonalize
and
, (b) sort each list of eigenvalues, and (c) compare them one by one. This is exponential in
. I’m sure there must be a much better way to do this. Anyone have any helpful hints?
Here is a thought. If there exists an invertible matrix such that
then
and
have the same eigenvalues. I think the phrase commonly used for these are similar matrices. So given two matrices is there an efficient way to check whether such a
exists?
Something every human should have to read October 1, 2009
Posted by Geordie in General.4 comments
This should be required reading for humans.
[via the quantum pontiff]
Experimental Demonstration of a Robust and Scalable Flux Qubit September 23, 2009
Posted by Geordie in D-Wave Science & Technology.8 comments
A novel rf-SQUID flux qubit that is robust against fabrication variations in Josephson junction critical currents and device inductance has been implemented. Measurements of the persistent current and of the tunneling energy between the two lowest lying states, both in the coherent and incoherent regime, are presented. These experimental results are shown to be in agreement with predictions of a quantum mechanical Hamiltonian whose parameters were independently calibrated, thus justifying the identification of this device as a flux qubit. In addition, measurements of the flux and critical current noise spectral densities are presented that indicate that these devices with Nb wiring are comparable to the best Al wiring rf-SQUIDs reported in the literature thusfar, with a 1/f flux noise spectral density at 1Hz of . An explicit formula for converting the observed flux noise spectral density into a free induction decay time for a flux qubit biased to its optimal point and operated in the energy eigenbasis is presented.
Cool talk on quantum computing and artificial intelligence September 15, 2009
Posted by Geordie in Superconducting Electronics, Superconducting Processors, World Domination.7 comments
This is super excellent. Very nice introduction to quantum computation and superconducting electronics.
Classifying the Iris data set August 15, 2009
Posted by Geordie in D-Wave Science & Technology.5 comments
The Iris data set from the UC Irvine machine learning repository is
… perhaps the best known database to be found in the pattern recognition literature. Fisher’s paper is a classic in the field and is referenced frequently to this day. (See Duda & Hart, for example.) The data set contains 3 classes of 50 instances each, where each class refers to a type of iris plant. One class is linearly separable from the other 2; the latter are NOT linearly separable from each other.
Here are the three different types of Iris (setosa, versicolor, virginica respectively):
I ran GloboBoost using the following prescription:
- First we try to classify using only the first two types of Iris, setosa and versicolor
- Randomly choose 25 instances of Iris-setosa and 25 instances of Iris-versicolor to be the training set; the other 25 from each are the testing set
- Run GloboBoost on these, recording the performance of the trained classifier on the testing set
- Do this 1000 times and average the results
The results:
Average classification performance of GloboBoost: 100%
Doing the same with the other data sets:
Average classification performance of GloboBoost, Iris_1 vs. Iris_3: 100%
Average classification performance of GloboBoost, Iris_2 vs. Iris_3: 87.4%
Here is the matlab code I used to do this. There are two functions: prep_Iris and crunch_Iris. Note that I had to save them as .doc files as wordpress won’t let me upload .m files, so if you want to use them just change the extension to .m. You will have to do a little pre-processing of the raw Iris data (what I did: strip the text describing the Iris category, use Import Data on the resulting 150×4 data set, save the first 50 as Iris_1, the second fifty as Iris_2 and the third 50 as Iris_3). It turns out that it depends which data file you load as positives for a reason that I’m going to track down and fix, so try reversing which data set is positive vs. negative if you’re not getting the performance above.
Converting to ISING and truncating to finite precision
Converting the optimization problem to spin variables gives problems of the form
If we truncate the to 2 bits of precision (ie
can only be set to
GloboBoost still does as well as with the exact values. Here is the performance of GloboBoost using ISING with 2 bits of precision:
Average classification performance, ISING 2BOP, Iris_1 vs. Iris_2: 100%
Average classification performance, ISING 2BOP, Iris_1 vs. Iris_3: 100%
Average classification performance, ISING 2BOP, Iris_2 vs. Iris_3: 90.5%
Interesting that the classifier is actually performing better with the truncation on the classifier where the data is not 100% separable. This data set is a good one to use for a real hardware test…
Trying out GloboBoost (we have to find a better name, any suggestions?) on a benchmark dataset August 14, 2009
Posted by Geordie in D-Wave Science & Technology.2 comments
The UC Irvine machine learning repository is a wonderful source of all kinds of benchmark data sets for trying out machine learning algorithms. It is a really great site, easy to navigate and browse through.
From the data sets on this site, I wanted one that had a small number of dimensions, so I picked the Haberman Survival data set to try.
The dataset contains cases from a study that was conducted between 1958 and 1970 at the University of Chicago’s Billings Hospital on the survival of patients who had undergone surgery for breast cancer.
The class attribute (the thing we’re trying to predict) is:
Survival status (class attribute)
– 1 = the patient survived 5 years or longer (positive examples)
– 2 = the patient died within 5 years (negative examples)
This data set has three dimensions of data:
- Age of patient at time of operation (numerical)
- Patient’s year of operation (year – 1900, numerical)
- Number of positive axillary nodes detected (numerical)
From these the classifier tries to predict the survival status of the people receiving the surgery.
Here is a scatter plot of the data:
Here is another view showing each data point labeled positive (blue) and negative (red).
So to see how well GloboBoost does, we first have to modify the code a bit to accept training data that has unequal numbers of positive and negative examples. Here the data set has 225 positives and 81 negatives in total. What we’ll do is randomly pick 1/2 of the points to be the training set and the other half the testing set.
Hmm, interesting. It turns out that this data set is not linearly separable. What this means is that with only linear weak classifiers (as we have in the current implementation), the theoretical best that you can do is the same as always guessing positive, ie. 73.5%. I ran my new modified GloboBoost code on the Haberman data set and it returned the theoretical best classifier accuracy, which is good, but not being able to do better than always guessing positive regardless of the input data is not so good! This is a symptom of our currently limited dictionary of (first order) weak classifiers. We’ll have to come back to this one when we have a better dictionary! Let’s try a different data set in the next post.





