Google Trends: What difference of the buttons "Top" and "Rising" - google-trends

https://www.google.com/trends/explore#cmpt=q
I can't understand, what is:
What difference of the buttons "Top" and "Rising". What queries in this pages?
What do the numbers(100, 40) mean?

top: what has been at top overall. Rising: what is becoming popular. Example:
desktop usage has been on top.
however, cell phone use is rising and is popular (rising more than everything else even computers)
top is average of some long time...where recent acceleration is what recently popular or rising means.

Related

Gensim: Word2Vec Recommender accuracy Improvement

I am trying to implement something similar in https://arxiv.org/pdf/1603.04259.pdf using awesome gensim library however I am having trouble improving quality of results when I compare to Collaborative Filtering.
I have two models one built on Apache Spark and other one using gensim Word2Vec on grouplens 20 million ratings dataset. My apache spark model is hosted on AWS http://sparkmovierecommender.us-east-1.elasticbeanstalk.com
and I am running gensim model on my local. However when I compare the results I see superior results with CF model 9 out of 10 times(like below example more similar to searched movie - affinity towards Marvel movies)
e.g.:- If I search for Thor movie I get below results
Gensim
Captain America: The First Avenger (2011)
X-Men: First Class (2011)
Rise of the Planet of the Apes (2011)
Iron Man 2 (2010)
X-Men Origins: Wolverine (2009)
Green Lantern (2011)
Super 8 (2011)
Tron:Legacy (2010)
Transformers: Dark of the Moon (2011)
CF
Captain America: The First Avenger
Iron Man 2
Thor: The Dark World
Iron Man
The Avengers
X-Men: First Class
Iron Man 3
Star Trek
Captain America: The Winter Soldier
Below is my model configuration, so far I have tried playing with window, min_count and size parameter but not much improvement.
word2vec_model = gensim.models.Word2Vec(
seed=1,
size=100,
min_count=50,
window=30)
word2vec_model.train(movie_list, total_examples=len(movie_list), epochs=10)
Any help in this regard is appreciated.
You don't mention what Collaborative Filtering algorithm you're trying, but maybe it's just better than Word2Vec for this purpose. (Word2Vec is not doing awful; why do you expect it to be better?)
Alternate meta-parameters might do better.
For example, the window is the max-distance between tokens that might affect each other, but the effective windows used in each target-token training randomly chosen from 1 to window, as a way to give nearby tokens more weight. Thus when some training-texts are much larger than the window (as in your example row), some of the correlations will be ignored (or underweighted). Unless ordering is very significant, a giant window (MAX_INT?) might do better, or even a related method where ordering is irrelevant (such as Doc2Vec in pure PV-DBOW dm=0 mode, with every token used as a doc-tag).
Depending on how much data you have, your size might be too large or small. Different min_count, negative count, greater 'iter'/'epochs', or sample level might work much better. (And perhaps even things you've already tinkered with would only help after other changes are in place.)

how to get txPower to calculate distance from RSSI

I got this code from google code :
void QBluetoothDeviceDiscoveryAgent::deviceDiscovered(const QBluetoothDeviceInfo &info)
QBluetoothDeviceInfo::rssi().
But how to get rssi distance from `QBluetoothServiceDiscoveryAgent ?
I tried with
QBluetoothServiceDiscoveryAgent serviceInfo;
quint i =serviceInfo.device().rssi();
here i = -43
how to convert it to distance?
I got the link
Understanding ibeacon distancing
but how to get the transmitter power? to calculate the distance according to formula?
Make sure you understood the implications of QBluetoothDeviceInfo::rssi(). Calling this functions returns immediately with the last stored value when the device was scanned last. If you only receive one advertisement-packet, which happens to be at e.x. -90dB, and then immediately connect, this function will keep returning -90 until you disconnect from it and scan it again. Connected devices usually don't send advertisement-packets so the RSSI you can read via Qt won't be updated during the connection.
As for proximity, it's not so easy to get good values. To accurately convert from RSSI to geometric distance you must know the sender's original/intended signal-strength (or TX-power-level == RSSI at 1m distance). This value will differ between devices. To make things worse, in practice it can also vary by a huge margin depending on things like the sender's battery-level, physical orientations of sender/receiver to eachother, quality of individual parts, random interference from other RF devices....
The BLE-folk has a blog explaining how you should do it. You can read it up here. The linked article doesn't read or assume the theoretical maximum RSSI of the sender but instead it propoposes to gather multiple RSSI-values over time (+ do some mean/mode filtering), and use the current mean-value in comparison with the previous value to determine if you are approaching or moving away from the sender. Paired with some fine-tuning using real-world data you gotta collect, plus documentation-reading and common-sense, you could probably develop a proximity calculation for many or even most sender-devices which would be accurate to about one meter or even less at close proximity. In the end it's a tradeoff between how many devices you wish to 'calibrate' for and those you are okay with having shifted values due to higher or lower TX-power-levels.
The downside being - you can't test for every possible device on the market and as I said earlier, different devices have different TX-power-levels. With this approach you can develop an algorithm to get pretty good measurements for devices which have approximately equal signal-configurations but others will seem far off. The article's author talks about creating different profiles for different vendors but that's not really gonna help (consider two identical beacons ("big/small"), one for large and one for small indoor locations - with RSSI alone you can't reliably determine if you're close to the small beacon or in medium range to the big one unless they identify themselves via GAP or otherwise (forget MAC-addresses if you plan to deploy on MacOS or iOS).
Also, prepare yourself for the joyride that is Android BLE development. Some vendors know that their BLE implementation is so terribly bad and broken, they even disabled the HCI-Logging-Feature on all their ROMs to hide it. Others can be BLE-nuked like Win98 by ethernet, back in the days.

Neural network and image classification

I have built an experimental neural network - the idea being that it can look at a JPEG image and identify which parts of the image are musical notation.
To train the network I have used various images of pages cut into 100 x 100 boxes which can either be valued at 1.0 (ie contains notation) or 0.0 (does not contain notation).
On training the network, though, it seems to have fixed itself that it - more or less - delivers a result of 0.5 every time (giving a square error of 0.25). The sigmoid (logistic) function is used for activation.
The network has 10,000 input neurons (for each pixel of the 100 x 100 image), 2000 hidden neurons (each input is attached to both a 'row' and a 'column' hidden neuron).
There is one output neuron.
Would I get better results with two output neurons? (ie one which activates for 'is music' and one which activates for 'is not music').
(You can see the C++ source for this here: https://github.com/mcmenaminadrian/musonet - though at any given time what is in the public repo may not be exactly what I am using on the machine.)
FWIW - the actual problem was because of the sign error in the code as described in the comment - so the two layers were fighting one another and, as you might expect, converged towards the middle.
But ... I based my code on a book from the 1990s - the much cited "Practical Neural Network Recipes in C++". There is nothing wrong with the book as such (though the C++ reflects that time's coding style and there is no use of STL classes and so on), but it does also come from an era where neural nets were not as well understood/engineered as today and so the basic design was quite flawed.
I'm now thinking about how best to implement a many layered convolutional network - not something discussed in the book at all (indeed it dismisses the idea of many layered networks relying instead on the fact that a single hidden layer NN is a general approximator).
I got some interesting results with the single hidden layer NN, but it's not really all that useful for image processing.

Was punch card "correction tape" for real?

I learned FORTRAN the old fashioned way, sitting at a card punch console. I was once offered the use of some punch card "correction tape" that appeared to be the correct width to cover one column of the card.
I declined the offer of "candy from a stranger" but later wondered if it was for real, or just a gag.
It's sobering to see there are no tags here for punch-card or punched card or even Hollerith!
I remember that stuff. Thin opaque Mylar.
I tried to use it once or twice, but it was always easier to remake the card.
Bad old days.
I remember having myself (year : 1979) covered wrong holes with a piece of tape and drilled right holes with a spike of compass, just because my office was far from the card punch console.
I don't remember using correction tape, but do remember hand punches where you had to manually press two or more keys for a single alpha character or punctuation mark. I also remember working with decks of cards containing binary machine codes - you wouldn't want to use correction tape with those.

Tool for creating burndown charts that does NOT assume "clock time passes" equals "progress should be made"

I am looking for a program that can make burndown charts which does not
assume that just because a day passes by, all work time for that day
automatically is assumed to have turned into progress for the current
sprint. I am thus not particularly interested in finishing a sprint at
some specific date, however I am interested in keeping track of if the
estimate is accurate.
I am only intending to use this for private programming (and
non-programming) projects, so it does not have to be a full fledged
scrum team solution (although I assume it would be).
To better explain what I am looking for, let's imagine I have a project
"Paint my house" with a single sprint consisting of nine tasks:
Buy paint, brushes and cleaning liquid.
Wash the North wall.
Wash the West wall.
Wash the South wall.
Wash the East wall.
Paint the North wall.
Paint the West wall.
Paint the South wall.
Paint the East wall.
Since this will be done in my spare time, at any day I might down-prioritize
this and do other stuff. And the painting is highly dependent
on the weather as well. Therefore a calender day passing does in
absolutely no way imply that the project will make progress for that day.
Every single application that I have found that can make burndown charts
fails utterly to fit this scenario. They all assume "calender time
passing equals progress". I want to supply the expected progress manually.
Any suggestions for a tool that is able to handle a project in this way?
(Related questions, but which does not provide me with an answer to my question.
https://stackoverflow.com/questions/829497/agile-methods-specifically-taylored-to-working-solo,
How have you implemented SCRUM for working alone?,
Using Scrum on a "Personal Time" Project)
Every single application that I have found that can make burndown charts fails utterly to fit this scenario.
That's because the whole point of a burndown chart is to predict when the sprint will finish, and to know whether you're on schedule or not. If you cannot paint because it rains, then you cannot make progress and you're then behind schedule, as the burndown chart will show. But if you make time a variable, then you have no schedule -- progress becomes independent of time -- and the trendline is completely unpredictable. So there's no point of having a burndown chart if the progression of time is unknown.
I think you are looking for something like kanban instead of scrum.
Here's an example of a chart in kanban.
http://www.targetprocess.com/blog/2010/02/cumulative-flow-chart-in-kanban-real-usage-example.html
HTH (6 months later)