<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
	<id>http://hernan.amiune.com/</id>
	<title>Hernan Amiune Blog</title>
    <updated />
	
    
    
	<author>
		<name>Hernan Amiune</name>
		<uri>http://hernan.amiune.com/</uri>
	</author>

    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/hernan-amiune-blog" /><feedburner:info uri="hernan-amiune-blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://amiune.superfeedr.com/" /><entry>
	    <title>The Mentor's Dilemma</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/the-mentors-dilemma</id>
	    <published>2012-05-22 15:01:06.037664</published>
	    <updated>2012-05-27 15:36:40.077222</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/L26cjLXDq44/the-mentors-dilemma" />
	    <content type="html">As a teacher and entrepreneur, students and friends often ask me if they should pursuit an idea that I know it's very hard to achieve. In this situation I always have the following dilemma:&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
Should I encourage them to pursuit the idea without warning about how hard it will be, with the risk that they fail, get demotivated and never try it again?&amp;lt;br/&amp;gt;
OR&amp;lt;br/&amp;gt;
Should I warn them about how hard it will be with the risk that they won't even try something that maybe they would have achieved? &amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
After watching &amp;lt;a target="_blank" href="http://www.youtube.com/watch?v=AY4ajbu_G3k&amp;amp;t=14m3s"&amp;gt;this video of Andrew Ng&amp;lt;/a&amp;gt; I realized I was not the only one with this dilemma.&amp;lt;br/&amp;gt;&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/L26cjLXDq44" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/the-mentors-dilemma</feedburner:origLink></entry>
    
    <entry>
	    <title>The things I don't want to trade off</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/the-things-i-dont-want-to-trade-off</id>
	    <published>2012-05-22 14:28:27.371563</published>
	    <updated>2012-05-22 14:29:37.495576</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/2hmvf52fVxw/the-things-i-dont-want-to-trade-off" />
	    <content type="html">With time you gain experience and improve yourself but like everything in life there is always a trade off like the &amp;lt;a href="http://en.wikipedia.org/wiki/No_free_lunch_theorem"&amp;gt;no free lunch theorem states&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
These are the things I don't want to trade off: &amp;lt;br/&amp;gt;
While I gain patience to wait for things that take time I don't want to lose my impatience to do things as fast as I can.&amp;lt;br/&amp;gt;
While I gain knowledge about how hard things are I don't want to lose my innocence to try things that seem impossible.&amp;lt;br/&amp;gt;
While I know more about the world I don't want to lose my eager to know even more.&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/2hmvf52fVxw" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/the-things-i-dont-want-to-trade-off</feedburner:origLink></entry>
    
    <entry>
	    <title>A/B Testing, Hill Climbing and Simulated Annealing</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/ab-testing-hill-climbing-and-simulated-annealing</id>
	    <published>2012-03-04 23:35:27.711371</published>
	    <updated>2012-03-05 16:19:48.136398</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/TsvRvpendAg/ab-testing-hill-climbing-and-simulated-annealing" />
	    <content type="html">Some well known entrepreneurs like &amp;lt;a href="http://blog.asmartbear.com/local-minimum.html"&amp;gt;Jason Cohen&amp;lt;/a&amp;gt;,
&amp;lt;a href="http://www.codinghorror.com/blog/2010/07/groundhog-day-or-the-problem-with-ab-testing.html"&amp;gt;Jeff Atwood&amp;lt;/a&amp;gt;, 
&amp;lt;a href="http://www.smashingmagazine.com/2010/08/26/in-defense-of-a-b-testing/"&amp;gt;Paras Chopra&amp;lt;/a&amp;gt; and 
&amp;lt;a href="http://www.seomoz.org/blog/dont-fall-into-the-trap-of-ab-testing-minutiae"&amp;gt;Rand Fishkin&amp;lt;/a&amp;gt; have been discussing about A/B testing and local maxima and while each of these posts are interesting to read and each one have good points, they seem to miss the fact that this is a very well known problem in computer science and there are some really interesting mathematic facts that I would like to highlight:&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
&amp;lt;ol style="padding-left:20px;"&amp;gt;
&amp;lt;li&amp;gt;A local maximum is better than a local non-maximum&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The search space is exponential, so if you want to find the global maximum of n A/B tests you will need to perform 2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; tests&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;To avoid doing exhaustive search and also avoid getting stuck in a local maximum there are two well known algorithms that can help, these are &amp;lt;a href="http://en.wikipedia.org/wiki/Hill_climbing"&amp;gt;hill climbing&amp;lt;/a&amp;gt; with restart and &amp;lt;a href="http://en.wikipedia.org/wiki/Simulated_annealing"&amp;gt;simulated annealing&amp;lt;/a&amp;gt;.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;If you have an algorithm to find the global maximum in polynomial time you probably have solved the P=NP problem.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;In the case of A/B testing in web pages if you consider every possible different web design that you can imagine as a test then you can’t prove that a global maximum exists because the number of possibilities is infinite and the function is not continuous.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;br/&amp;gt;
This is the theory and now here is how to take advantage of this theory&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
Your search space is the number of different web designs you can and want to implement and not the infinite number of imaginary web designs. &amp;lt;br/&amp;gt;
Suppose you have a webpage with a Text1 an image of a Man and a Red button and you want to try a Text2 an Image of a Woman and a Green button. Then you have 2&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; = 8 possibilities. If you can try the 8 possibilities then you will find the global maximum for this search space. &amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
&amp;lt;p style="text-align:center;"&amp;gt;
These are the 8 combinations with their respective values&amp;lt;br/&amp;gt;
Text1,Man,Red = 0.4&amp;lt;br/&amp;gt;
Text1,Man,Green = 0.5&amp;lt;br/&amp;gt;
Text1,Woman,Red = 0.5&amp;lt;br/&amp;gt;
Text1,Woman,Green = 0.9&amp;lt;br/&amp;gt;
Text2,Man,Red = 0.3&amp;lt;br/&amp;gt;
Text2,Man,Green 0.4&amp;lt;br/&amp;gt;
Text2,Woman,Red = 0.8&amp;lt;br/&amp;gt;
Text2,Woman,Green = 1&amp;lt;br/&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;
If you don’t have time or resources to test them all then try hill climbing, you maybe end in local maximum but that’s better than nothing.&amp;lt;br/&amp;gt;
An example of hill climbing will be&amp;lt;br/&amp;gt;
You test Text1,Man,Red vs Text2,Man,Red and you get Text1 &amp;gt; Text2&amp;lt;br/&amp;gt;
You test Text1,Man,Red vs Text1,Woman,Red and you get Woman &amp;gt; Man&amp;lt;br/&amp;gt;
You test Text1,Woman,Red vs Text1,Woman,Green and you get Green &amp;gt; Red&amp;lt;br/&amp;gt;
So you end with Text1,Women,Green&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
You can also use the simulated annealing algorithm and sometimes stay with changes that perform slightly worst in order to try to find a global maximum especially if you have a good feeling about those changes or if they improve speed or other aspects.
&amp;lt;/p&amp;gt;

&amp;lt;b&amp;gt;Conclusion&amp;lt;/b&amp;gt;
&amp;lt;p&amp;gt;
Test as much as you can.&amp;lt;br/&amp;gt;
If you can't do exhaustive search, use known search algorithms like hill climbing or simulated annealing.&amp;lt;br/&amp;gt;
&amp;lt;/p&amp;gt;
&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/TsvRvpendAg" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/ab-testing-hill-climbing-and-simulated-annealing</feedburner:origLink></entry>
    
    <entry>
	    <title>How much is an idea worth? Between $100 and $1000 is what I got.</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/how-much-is-an-idea-worth-between-100-and-1000-is-what-i-got</id>
	    <published>2012-02-17 16:22:17.913995</published>
	    <updated>2012-02-23 16:04:00.500204</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/okbcqth3QKQ/how-much-is-an-idea-worth-between-100-and-1000-is-what-i-got" />
	    <content type="html">If you are an engineer or a programmer I’m sure people come to you with “awesome” ideas all the time, and they probably are protective of their ideas as if they have a brick of rhodium in their hands.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Now if you have some experience trying to convert an idea into a profitable business then you know that ideas aren't worth very much. And a lot &amp;lt;a href="http://sivers.org/multiply"&amp;gt;has been said&amp;lt;/a&amp;gt; &amp;lt;a href="http://www.codinghorror.com/blog/2010/01/cultivate-teams-not-ideas.html"&amp;gt;about this&amp;lt;/a&amp;gt;. 
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Here, as I always try in my posts, I would like to give you another point of view, approaching this issue in a more mathematical way of reasoning. So let’s use something similar to the beautiful logic tool of &amp;lt;a href="http://en.wikipedia.org/wiki/Proof_by_contradiction"&amp;gt;proof by contradiction&amp;lt;/a&amp;gt;.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Let’s think that you have a great idea. Let’s suppose you have an idea for a search algorithm that is ten times better than Google’s algorithm and let’s suppose that nobody will have a similar idea and nobody will be able to copy it or steal it.&amp;lt;br/&amp;gt;
Now you need to think if it is possible to implement it. Is it theoretically, technically and economically possible and you have enough money to implement it? Let’s suppose the answer is yes.&amp;lt;br/&amp;gt;
Now you need to make people use it. Do you have the money to advertise it and attract users? Let’s suppose the answer is yes.&amp;lt;br/&amp;gt;
Now you need to earn money each time people use it. You can charge them or put advertising. Let’s suppose here that you copy the advertising model of Google.&amp;lt;br/&amp;gt;
Now you need to make sure that your revenue is greater than the operating cost and taxes. Let’s suppose you can achieve this.&amp;lt;br/&amp;gt;
Now you are rich!
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Like you can see its not impossible but there are a lot of suppose between the idea and the “you are rich” and each suppose seems to be pretty hard.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
In general, and theoretically, the best idea would be something that only you can do (or you can patent), that is very simple for you to do it and that you can charge other people a lot.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
An important thing to consider is that there are a lot of people in the world and the way all think is pretty similar so probably there are a lot of people thinking about something that is very similar to your idea. In fact I’m sure that this already happened to you. You have an idea then you search on the internet and there is someone already trying to do the same thing. It probably also happened to you when studying science, you read a couple of theorems in a book and you came up with a new one just to realize that it is in the next page of the book.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Beside all of this I really like to think about new ideas. I have a lot of ideas written down and I usually sell them or give them for free if I think that I can’t implement them or I can’t get enough money or I can’t achieve any of the issues I mentioned before. Lately I’ve been participating in idea generation contests on TopCoder where you submit your idea and if the client chooses it then you get paid. I got paid between $100 and $1000 per idea and I’ve been quite successful there, some of my ideas where selected by companies like Alcatel-Lucent, PayPal, AOL, Truveo, Ribbit, BestBuy, TopCoder and others. It’s not a lot of money but I think it’s fair enough for just an idea.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
While what I have stated before is kind of disappointing about ideas this shouldn’t discourage you to pursuit your idea, it should motivate you because making that idea a reality is what it worth a lot. In fact besides that I have sold a lot of ideas I’ve been working for more than three years now on my own startup which is now profitable and growing. Maybe it’s not the coolest or innovative idea but it’s the one that I thought it was achievable considering where I am (Latin America), the money I got (almost nothing) and a lot of other aspects. And I have to say that I’m pretty happy with the choices I’ve made.
&amp;lt;br/&amp;gt;&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/okbcqth3QKQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/how-much-is-an-idea-worth-between-100-and-1000-is-what-i-got</feedburner:origLink></entry>
    
    <entry>
	    <title>Learning isn’t fun. It was never fun. And it will never be fun.</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/learning-isnt-fun-it-was-never-fun-and-it-will-never-be-fun</id>
	    <published>2012-01-27 16:02:24.400778</published>
	    <updated>2012-02-24 13:37:36.529810</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/6TrxdOgMDtM/learning-isnt-fun-it-was-never-fun-and-it-will-never-be-fun" />
	    <content type="html">If you agree with the following definition of learning:
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
&amp;lt;i&amp;gt;Learning is the process of failing repeatedly in the pursuit of achieving something until you finally succeed.&amp;lt;/i&amp;gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Then learning isn’t fun by definition. Let’s prove it:
&amp;lt;br/&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;If you don’t like failing then obviously it’s not fun because failing is part of the process of learning.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;If you do like failing then you won’t learn anything because you are already happy with the result of failing so you don’t have much incentive to succeed.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;br/&amp;gt;
But trying to make learning fun is something that everybody is trying to do these days so probably they mean something different than fun. Usually this new wave of people proposing fun learning put games as an example. So let’s create a couple more definitions in order to understand where this new wave goes:
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Benefit: is the benefit or reward that a student gets when the student achieves the task that it is supposed to learn. Examples: if she is learning to play guitar then the reward can be being able to play a song that she likes or becoming a famous guitarist.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Cost: is the cost of failing in the learning process. This can mean the cost of mental and physical effort. It can mean the cost of spending a lot of time. It can mean the cost of humiliation in front of other people. Etcetera.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Every time a person wants to learn something the person weights the Benefit versus the Cost of learning. If the benefit is zero or the cost is infinite then nobody will want to learn that.&amp;lt;br/&amp;gt;
An interesting property of learning is that the higher the cost the faster people learn because people don’t want to make the same costly mistake again, but if the cost is higher than certain threshold the person will quit learning.&amp;lt;br/&amp;gt;
Also interesting is that both the Benefit and the Cost of learning a specific activity are assigned by each person independently and it also varies in function of time for the same person. For example getting hurt can have a very low associated cost for one person and very high for another.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
In games, especially video games, in order to make people play more the Cost is reduced to nearly zero, you usually play alone or in anonymous mode so there is almost no chance of other people mocking you, the physical and mental effort is also minimal, you only need to make a couple of clicks or press a couple of buttons in order to construct an entire city or to make your character play golf even better than Tiger Woods. With the rewards, game creators try to trick the mind to make rewards look as if they were bigger, like telling you that you are the best of the world. While this doesn't fool many people, the ratio Reward/Cost is still very engaging due the low Cost.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
The problem when you want to translate this technique to the learning world is that the Costs are much much higher than in games. Learning to play an instrument, or learning to write a computer program or getting in shape take at least between 6 and 12 month and a lot of physical and mental effort in comparison with learning to play a video game which actually takes a couple of clicks and less than a day.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
While almost everything I wrote before is not very positive about game mechanics I think there are some good things in this new wave of gamification or game mechanization. A lot of people are trying to break hard and complex things to learn into smaller parts and give rewards for small progress which helps people to measure progress, keeps them motivated and reduce the number of people that quits.
&amp;lt;br/&amp;gt;
&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/6TrxdOgMDtM" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/learning-isnt-fun-it-was-never-fun-and-it-will-never-be-fun</feedburner:origLink></entry>
    
    <entry>
	    <title>Understanding</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/understanding</id>
	    <published>2011-11-07 12:44:51.798042</published>
	    <updated>2011-11-11 22:36:58.727639</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/va0f9DRaEg0/understanding" />
	    <content type="html">Here I just want to share one of the greatest quotes I've heard from one of my teachers:&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
"At first you probably won't understand this but then you will do a lot of exercises until suddenly one day you start thinking you understand it." .- &amp;lt;span style="display:none;"&amp;gt;Nicolas Wolovick&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
He obviously said this as a joke, partly at least, but what he said help me a lot with the way I try to understand things. Now I can deal much better with not understanding some parts of some complex theories.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
I leave the interpretation of this quote to the reader. But &amp;lt;a href="http://hernan.amiune.com/blog/entry/to-be-good-at-math-you-dont-need-to-understand-everything"&amp;gt;here is a hint of my interpretation&amp;lt;/a&amp;gt;.&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/va0f9DRaEg0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/understanding</feedburner:origLink></entry>
    
    <entry>
	    <title>Breaking the The Zen of Python</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/breaking-the-the-zen-of-python</id>
	    <published>2011-08-26 23:50:37.795992</published>
	    <updated>2012-03-21 21:24:22.745756</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/xscgIVUgDqI/breaking-the-the-zen-of-python" />
	    <content type="html">I think the &amp;lt;a href="http://www.python.org/dev/peps/pep-0020/"&amp;gt;Zen of Python&amp;lt;/a&amp;gt; is great. It's a list of good practices that will make your code less error prone and easier to understand for you and other programmers.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
But if you are trying to create a programming language for a machine with artificial intelligence you will likely want to break several of the principles of the Zen of Python.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
Why is that? Because the most "intelligent" machine that we know today is the human. Humans are "programmed" using natural languages like English. And natural languages break a lot of the principles of the Zen of Python.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
These are at least some of the principles that you would like to break:
&amp;lt;ul&amp;gt;

&amp;lt;li&amp;gt;Simple is better than complex: This is subjective, simple for one person can mean complex for another person. And more important, &amp;lt;a href=""&amp;gt;the world is complex as Vladimir Vapnik said&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Errors should never pass silently: People give orders and want results, no excuses about why the order was not executed. &amp;lt;a href="http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/#Browsers_error_tolerance"&amp;gt;You want as much error tolerance as you can get.&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;In the face of ambiguity, refuse the temptation to guess: Ambiguity is not that bad because it can lead to creativity.&amp;lt;/li&amp;gt; 
&amp;lt;li&amp;gt;Explicit is better than implicit: &amp;lt;a href="http://www.youtube.com/watch?v=3-son3EJTrU"&amp;gt;Not always&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; 
&amp;lt;/ul&amp;gt;
&amp;lt;br/&amp;gt;
For current programmers this may sound like hell, why would you want a programming language that doesn't always do what you asked to do?
But that's the way we talk with other people. Every time you ask something to a person you expect some reaction from that person but you are never 100% sure what the reaction of that person will be.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
These kind of "fuzzy programming languages" will not replace current programming languages but they will allow to create new and interesting applications.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/xscgIVUgDqI" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/breaking-the-the-zen-of-python</feedburner:origLink></entry>
    
    <entry>
	    <title>To Be Good at Math You Don't Need to Understand Everything</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/to-be-good-at-math-you-dont-need-to-understand-everything</id>
	    <published>2011-08-14 19:23:11.842012</published>
	    <updated>2012-03-08 15:06:31.702324</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/lZC4XxOwIpk/to-be-good-at-math-you-dont-need-to-understand-everything" />
	    <content type="html">I always thought that when you study something you need to understand absolutely everything, specially in Math and Physics. One of my high school teachers told me once that you really understand something when you are able to explain that to someone who doesn't know anything about it. First I thought he was right and I wanted to learn absolutely everything and it worked great for the basic stuff. Then when I was studying more complex things I realized that it was impossible to keep doing this. Finally I realized that my teacher's statement is partially wrong and what it is worst is that it will slow down your learning and creativity process. I realized this after learning a lot of math, logic, formal languages and how definitions and theorems work.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
&amp;lt;a href="http://www.youtube.com/watch?v=wMFPe-DwULM"&amp;gt;Here is a Richard Feynman's video that points out the problem much better&amp;lt;/a&amp;gt;:&amp;lt;br/&amp;gt;
&amp;lt;div style="text-align:center;"&amp;gt;
&amp;lt;iframe width="425" height="349" src="http://www.youtube.com/embed/wMFPe-DwULM" frameborder="0" allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
A Definition is something that you accept without questioning, maybe there are good reasons for that definition or maybe not but you don't care, the only thing that you need to know is that it can be useful for something later. So every time you find the word definition there is nothing to understand.&amp;lt;br/&amp;gt;
A Theorem is something that you must prove by using only the definitions that you have accepted. So every time you see the word theorem there is something important that you need to understand.&amp;lt;br/&amp;gt;
But (and this is the important thing) once a theorem is proved then you can take it as a definition. So you can put your effort in trying to find a new theorem instead of trying to understand an old one that was already proved. Of course, leaning the proof of old theorems will help you to find new ones but what I really want to point out is that there is a trade-off between where you want to start and how far you want to go, there are things that you won't need to understand in order to create new and useful things.&amp;lt;br/&amp;gt;
For example you take that 2+3=5 is a definition and this allows to use it to make really fast calculations when you are shopping for something so you get the correct change and don't lose money. But 2+3=5 can be actually a theorem and you will need to prove it and this will take you probably a couple of hours instead of a second.
Another good example is to take math as a tool, in the same way as a hammer is a tool, if you want to build a house and you just want a hammer to hit a nail then there is no need to know how the electromagnetic forces of the atoms of the hammer work in order to make the nail go inside the wood.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
My approach now is: learn or memorize something and try to apply that to create something new or more complex, and only try to understand it if you really need it to do one of those two things.&amp;lt;br/&amp;gt;
Today knowledge is so vast that you must specialize in order to came up with new things.&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/lZC4XxOwIpk" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/to-be-good-at-math-you-dont-need-to-understand-everything</feedburner:origLink></entry>
    
    <entry>
	    <title>The Future of Education on the Web and The Curse of Multiple Choice Tests</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/the-future-of-education-on-the-web-and-the-curse-of-multiple-choice-tests</id>
	    <published>2011-07-29 16:34:07.675739</published>
	    <updated>2011-08-01 15:17:08.045828</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/VCBaUJkRx4c/the-future-of-education-on-the-web-and-the-curse-of-multiple-choice-tests" />
	    <content type="html">Is great to see new startups doing great things for education, it seems that finally something useful is emerging for students who want to learn something on the web.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
I just want to warn about something I realized when I was doing my final work about online education at my university: Multiple Choice Tests.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
Multiple Choice Tests are bad because of the same reason they are good. Let me explain this, Multiple Choice Tests were created to be easily checked for correctness, this makes possible that anyone with the answers can correct these tests even when they don’t know anything about the subject of the test. This “advantage” of Multiple Choice Tests makes them perfect to be processed by computers. So when you are developing an eLearning program implementing Multiple Choice Tests is great because is really easy to implement. But is it also good for helping students to learn?&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
The answer is no. They were conceived to be easy to correct but not to be a great way of teaching. They are great for the developers who are programming the eLearning site but not for the students.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
A good method for testing and allow learning at the same time will be one where the student has more feedback about the solution she entered. Where the student can see intermediate results of her solution, where the student can modify some parts of her solution and then be able to see the different outcome. In conclusion something where the student can learn from mistakes.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
Natural Language Processing and Artificial Intelligence would be a perfect solution but that is not possible now and won't be possible in the near future.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
The solution now are Programming Languages or Formal Languages in general. If students can write the solution to an exercise using a formal language this can be parsed and executed step by step giving the students a lot more feedback about their solutions and will allow much more interaction.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
Take for example a problem were you need to find a function as the solution. Instead of giving a multiple choice, the computer can parse the function typed by the student and show a graph and a lot of real time information about what is she doing that will help her to understand much better what is she doing.&amp;lt;br/&amp;gt;
This is just one example, if instead of using just math we add loops and conditional statements things can become much more interesting. In my opinion, allowing students to execute their solutions step by step and getting feedback on each step helps them to improve their knowledge.&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
This can be applied to several subjects like Math, Physics, Chemistry, Computer Science and Economy but can’t be applied to other subjects which don’t use Formal Languages. For those subjects, sadly, Multiple Choice Tests seems to be the best option so far if you want to create automated computer tests.&amp;lt;br/&amp;gt;
&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/VCBaUJkRx4c" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/the-future-of-education-on-the-web-and-the-curse-of-multiple-choice-tests</feedburner:origLink></entry>
    
    <entry>
	    <title>Memorizing, Understanding and Minimum Description Length</title>
	    <category term="Some Category" /> 
	    <id>http://hernan.amiune/blog/memorizing-understanding-and-minimum-description-length</id>
	    <published>2011-05-26 23:28:55.963408</published>
	    <updated>2012-03-07 13:41:28.833215</updated>
	    <link href="http://feedproxy.google.com/~r/hernan-amiune-blog/~3/5k_PySdXPg0/memorizing-understanding-and-minimum-description-length" />
	    <content type="html">When I was at school I heard teachers say to students the phrase “you must not memorize, you must understand”. But I never really understood what they meant by that until I studied Machine Learning. Now I think that I have understood what they really meant but I have also realized that memorizing and understanding are complementary things. Let me explain this:
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
In Machine Learning to teach a machine something you show it several examples and then the machine must learn from those examples and predict the outcome of new examples. When the machine can only predict the provided examples we say the machine is overfitted and when it can predict correctly the outcome of new examples we say it can generalize.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Let’s see an example, we want to teach a machine the function f(x) = 2x+1. So we show some examples to the machine like &amp;lt;br/&amp;gt;
x = 1 =&amp;gt; f(x) = 3&amp;lt;br/&amp;gt;
x = 0 =&amp;gt; f(x) = 1&amp;lt;br/&amp;gt;
x = 2 =&amp;gt; f(x) = 5&amp;lt;br/&amp;gt;
Then we ask the machine what is the value of f(x) if x is equal to {1,2,3,4,5,…} if the machine only guess the correct answer for x = {0,1,2} it is overfitted and if it can predict correctly f(x) for other values of x then we say the machine can generalize. Notice that generalization can be measured by the percentage of the overall new examples that a machine can guess correctly where 0% of correctness correspond to the maximum overfitting.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Now we can make an analogy by saying that by Memorizing teachers refer to Overfitting and by Understanding they refer to some degree of Generalization greater than 0. 
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
My biggest concern about teachers saying to students that they must not memorize instead of saying that they need to learn to generalize is that Memorizing is a fundamental and mandatory part of the process of learning, understanding and generalizing. 
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
Let’s do an interesting experiment. Read carefully and try to remember the next two sequences:&amp;lt;br/&amp;gt;
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, …&amp;lt;br/&amp;gt;
1, 19, 17, 7, 3, 6, 21, 4, …&amp;lt;br/&amp;gt;
Interesting right?&amp;lt;br/&amp;gt;
You can remember the longest one but you can’t remember the last and shortest one. This is because you compressed the first one by using things that you already know, things that you memorized before and saved in your brain. You probably compressed the first sequence to one of the following patterns: x&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;=1 x&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;=x&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;+1 or “count from 1 to 16” or for(i=1 to 16) print i; or you just pointed to the part of your brain where that sequence is saved.
The second sequence is given by the recurrence equation x&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; = 1 x&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt; = (51*x&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;+37)%23 but like you don’t have nothing like this saved in your brain you need to remember the whole sequence without compressing it.
We can say that you “Understood” the first sequence but you didn’t understand the second one.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
There are two amazing state of the art theories that study the best way of generalizing without overfitting even with a small amount of data: &amp;lt;br/&amp;gt;
Vapnik’s Statistical Learning Theory: this is a great theory about how to find the best function that separates two classes of data points in the hyperspace and it has a great practical implementation called Support Vector Machines.&amp;lt;br/&amp;gt;
Rissanen’s Minimum Description Length Theory: this is a really beautiful theory that relates compression with learning algorithms.
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
&amp;lt;b&amp;gt;Conclusion:&amp;lt;/b&amp;gt; if you see that your students are “memorizing” too much, a good solution would be to give them more examples that they can relate with something they already know.
&lt;img src="http://feeds.feedburner.com/~r/hernan-amiune-blog/~4/5k_PySdXPg0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://hernan.amiune/blog/memorizing-understanding-and-minimum-description-length</feedburner:origLink></entry>
    

</feed>

