pátek 17. října 2014
pátek 3. října 2014
Comparison of MATLAB and R
Advantage of R:
- Easy setting of default parameters (inheritance from functional languages). Not that it is incredibly difficult to set a default value in MATLAB, but it's verbose and error prone.
- Named parameters (again, inheritance from functional languages). In MATLAB, when you pass many parameters with string values to a function, it's unclear at glance, what is parameter name and what is parameter value. In R, it's immediately clear.
- Mixed tables (combination of string and numerical columns). Incredibly useful for real world messy data sets. A partial remedy to this problem is 'Tables' in the late versions of MATLAB.
- Possibility to name rows and columns.This is awesome because you don't have to remember that you want column 181, all you have to remember is the name of the column. Also, it has the advantage that metadata are together with the data. Hence if you perform selection, projection or transformation of the data, the metadata are automatically in sync with the data. No work is left on the user. In MATLAB, you have to use 'Struct'. Or 'Tables' in the late versions of MATLAB.
- Negative indexes for dropping of particular columns/rows.
- There is a fewer competing packages for MATLAB than for R. Hence in MATLAB you are spared of deciding, which library is the best.
- Spare matrices are integral part of MATLAB. Hence all algorithms benefiting from spare matrices are using the same representation of spare matrices. In R, each library is using it's own representation.
neděle 28. září 2014
Difference between Machine Learning and Artificial Inteligence
In my biased opinion, the difference between Machine Learning (ML) and Artificial Intelligence (AI) is in the way, how do they solve problems. AI seeks an optimal solution, while ML seeks a usable solution.
And this difference reflects in used tool sets. A typical tool for AI is logic, which is traditionally binary. On the other end probability, a common tool in ML, allows any value between 0 and 1.
The difference reflects in individual algorithms as well. A* is a representative algorithm from AI. It is an elegant algorithm that guaranties, that the returned is optimal. In contrast, neuron network, an algorithm from ML, doesn’t guaranty optimality of the solution at all. But it can tackle much wider range of problems than A*. And that is the reason, why ML is currently more popular and successful than AI. Despite all the hopes, it turned out we are unable to optimally solve many problems like voice or object recognition. All we can hope for is a good enough solution. And that is exactly the thing, where ML beats AI. ML is all about “how to get a usable solution”, while AI is about “how to get an optimal solution”. And when this optimal solution is unreachable, AI just gives up, while ML gives at least something.
And this difference reflects in used tool sets. A typical tool for AI is logic, which is traditionally binary. On the other end probability, a common tool in ML, allows any value between 0 and 1.
The difference reflects in individual algorithms as well. A* is a representative algorithm from AI. It is an elegant algorithm that guaranties, that the returned is optimal. In contrast, neuron network, an algorithm from ML, doesn’t guaranty optimality of the solution at all. But it can tackle much wider range of problems than A*. And that is the reason, why ML is currently more popular and successful than AI. Despite all the hopes, it turned out we are unable to optimally solve many problems like voice or object recognition. All we can hope for is a good enough solution. And that is exactly the thing, where ML beats AI. ML is all about “how to get a usable solution”, while AI is about “how to get an optimal solution”. And when this optimal solution is unreachable, AI just gives up, while ML gives at least something.
úterý 9. září 2014
Comparison of SAS data step and SQL
The default tool for ETL in SAS is data step. However, SAS also offers support for SQL. When to use which?
The main advantages of data step are:
The main advantages of data step are:
- Drop keyword. Let's imagine that you want to remove one column from a table with 2000 columns. In SQL you would have to name all columns you want to keep. But in data step it is enough to just name the column you don't want to include. Awesome.
- Wildcards. If you want to select all columns beginning with "pred_", all you have to do in data step is to write "pred_:" (note the column). In SQL you would have to write name of each predictor.
- Speed. SQL in SAS is not implemented overly effectively.
- LAG command. In SQL you have to perform a slow and cumbersome join to get the corresponding functionality.
The main advantages of SQL:
- Group by command. Simply because data step doesn't offer such functionality.
- Order by command. Again you can't sort directly in data step.
- Metadata. Queries on the metadata are so addictive!
středa 28. května 2014
Náboženství
Proč existují náboženství? Protože cílem každého náboženství je se rozšířit. A pokud to náhodou nebylo jeho cílem, tak takové náboženství v konkurenci ostatních zaniklo - mezi náboženstvími totiž existuje seleční tlak, podobně jako u živoucích organismů. Jak se náboženství šíři? Existují tři hlavní strategie:
A protože se objevili náboženství, která jsou životaschopnější, než ateismus, máme náboženství.
- válka (například křížové výpravy, spanilé jízdy nebo džihád mečem),
- populační exploze (odpor katolické církve k antikoncepci),
- atraktivita (slib posmrtného života, či znovuzrození).
A protože se objevili náboženství, která jsou životaschopnější, než ateismus, máme náboženství.
neděle 11. května 2014
Proč analytici jsou tak často horlezci?
- Když člověk celý den tráví v sedě, má potřebu protáhnout si svaly. Asi nejlepší sport na protažení všech svalů v těle je plavání. Pokud jste ale hubení, rychle ve vodě prochládáte. A tak hubení analytici často řeší bolesti zad druhým nejlepším sportem na protažení, horolezectvím.
- Pokud pracujete na dlouhodobých projektech, kde trvá léta, než se vyhodnotí vaše výsledky, schází vám (včasný) pocit euforie z dobře odvedené práce. U horolezectví ale máte okamžitý feedback - buď cestu vylezete, nebo ne.
- Jestliže jste analytik konzultant, jste děvka prodejná - pokaždé pracujete pro někoho jiného, někde jinde. A je tedy pro vás obtížné se pravidelně setkávat ke kolektivnímu sportu. Naštěstí ale, bouldering je individuální sport.
- V horách je nízká hustota zalidnění, a tak pokud jste přeučenými introverty, stává se z horolezectví vítaná záminka k útěku od civilizace.
- Lidi se dají rozdělit do dvou skupin - někteří preferují optimalizovat správnost odpovědi, jiní rychlost. Analytici obvykle inklinují k přesnosti a horolezectví je nejdřív o optimalizaci výběru cesty a až později o akčnosti. Naproti tomu squash, ten je nejdřívo akčnosti a až později o strategii. Proto obchodníci spíše preferují běh a squash.
neděle 20. dubna 2014
Hacker in the browser and other hacking ideas
If I was a hacker with the ability to modify web pages in the browser, I would modify the top of Wikipedia and ask people to donate. People accustomed to donations would donate again. But this time to my pocket. If it was synced with the real campaign it would be awesome.
Or if I was Microsoft and detected that two people communication over Skype (or other messenger) are in a relationship, I would suggest the male counterpart to send roses to his fiancé. It would be just a small bunch of roses. But the delivery would be guaranteed in the next 30 minutes for the current estimated location of the fiancé.
And to be even more devilish I would use the fiancé as the vector. I would show a pop-up to the fiancé saying: “Do you want to test your boyfriend? Show him an advertisement with one of the following buckets!” She would be presented with three simple options like snowdrops, violas and sunflowers. She would be thinking about the ad while chatting with the boyfriend and in the end she would click on one of the buckets because who would not like to test the love of the beloved one? And to make sure that the boyfriend is not going to disappoint her (man are notoriously unreliable) she would hinge the boyfriend to buy the flowers until she actually gets the bucket (women can get really persistent when they decide to get something). The poor boyfriend would be then forced to buy the overprized bucket because who the hell should bear all that morning of the fiancé about some stupid inedible vegetable? Sooner he gets over this the better.
The boyfriend would be stressed to buy the specific bucket. But for men it’s hard to multitask (search for a cheaper delivery while chatting with his fiancé). And it would be ridiculously hard to find a delivery with that specific flower (Why the hell didn’t she want roses?!) and even harder to find deliver able to deliver the bucket in less than 30 minutes. Simply Machiavellous.
Or if I was Microsoft and detected that two people communication over Skype (or other messenger) are in a relationship, I would suggest the male counterpart to send roses to his fiancé. It would be just a small bunch of roses. But the delivery would be guaranteed in the next 30 minutes for the current estimated location of the fiancé.
And to be even more devilish I would use the fiancé as the vector. I would show a pop-up to the fiancé saying: “Do you want to test your boyfriend? Show him an advertisement with one of the following buckets!” She would be presented with three simple options like snowdrops, violas and sunflowers. She would be thinking about the ad while chatting with the boyfriend and in the end she would click on one of the buckets because who would not like to test the love of the beloved one? And to make sure that the boyfriend is not going to disappoint her (man are notoriously unreliable) she would hinge the boyfriend to buy the flowers until she actually gets the bucket (women can get really persistent when they decide to get something). The poor boyfriend would be then forced to buy the overprized bucket because who the hell should bear all that morning of the fiancé about some stupid inedible vegetable? Sooner he gets over this the better.
The boyfriend would be stressed to buy the specific bucket. But for men it’s hard to multitask (search for a cheaper delivery while chatting with his fiancé). And it would be ridiculously hard to find a delivery with that specific flower (Why the hell didn’t she want roses?!) and even harder to find deliver able to deliver the bucket in less than 30 minutes. Simply Machiavellous.
Přihlásit se k odběru:
Příspěvky (Atom)