Skip to content

Margus Roo –

If you're inventing and pioneering, you have to be willing to be misunderstood for long periods of time

  • Cloudbreak Autoscale fix
  • Endast

Authentication versus Authorization

Posted on May 14, 2015 by margusja

It is always difficult to me define authentication versus authorization. So now and forever I’l write it down to myself.

  1. Authentication: It is a process of verification that verifies “Who you are” (it confirms that you are a valid (or invalid) user).
  2. Authorization: It is a process of verification that verifies “What to do” (It confirms you are permissible to do (or not to do) that).

source from http://www.c-sharpcorner.com/UploadFile/56fb14/custom-authorization-in-mvc/

 

Posted in Varia

Display your home temperature in cool way

Posted on May 8, 2015 by margusja

One way is to read your home temperature sensor values from console but lets be honest it is boring 🙂

I am sure the way I resolved it is much more coolest way

2015-05-08 12.42.07

Posted in Elektroonika

Kihnu laager 2007 by Margus Roo

Posted on May 5, 2015 by margusja

Posted in Langevarjundus

Estonian Skydiving Club 2002 year by Janek Tauram

Posted on April 30, 2015 by margusja

Posted in Langevarjundus

Advantages of XMPP

Posted on April 2, 2015 - April 2, 2015 by margusja

Choosing IoT protocol it is important to make right choice. I found good table that helped me from

http://claysterworld.tumblr.com/

Just click to the picture to have bigger and clear view.

Screenshot 2015-04-02 10.18.59

Posted in LinuxTagged IoT

Linear regression with one variable and gradient descent with python

Posted on April 1, 2015 - April 1, 2015 by margusja

Linear regression with one independent variable is easy. It is easy to us for humans. But how machine knows what is the best line thru points? Math helps again!

In example lets take very trivial dataset in python:

points = [ [1,1], [2,2], [3,3], [4,4], [5,5], [6,6], [7,7], [8,8], [9,9]  ]

And some lines of python code

a_old = 34 # random initial value
a_new = -2 # random initial value
b_old = 34 # random initial value
b_new = 3 # random initial value
learningRate = 0.01 # step size
precision = 0.00001
while abs((a_new – a_old)-(b_new – b_old) ) > precision:
    ret = stepGradient(b_new, a_new, points, learningRate)
    a_old = a_new
    b_new = ret[0]
    b_old = b_new
    a_new = ret[1]
    print ret[0]
    print ret[1]
    print “—-“

And  stepGradient code is behind gradient descent formula

Screenshot 2015-04-01 15.32.31

def stepGradient(b_current, a_current, points, learningRate):
    b_gradient = 0
    a_gradient = 0
    N = float(len(points))
    for i in range(0, len(points)):
       b_gradient += -(2/N) * (points[i][0] – ((a_current*points[i][1]) + b_current)) 
       a_gradient += -(2/N) * points[i][1] * (points[i][0] – ((a_current * points[i][1]) + b_current))
    new_b = b_current – (learningRate * b_gradient)
    new_a = a_current – (learningRate * a_gradient)
    return [new_b, new_a]

After running our code, at least in my computer the last two rows are:

0.0152521614476
0.997576043517

So the first one is basically 0 and the last one in 1 – pretty perfect in our case.

 

Posted in Linux, Math

Tähiseks tähenduseks olemisest

Posted on February 27, 2015 by margusja

Hulgateoorias on kasutuses väljend tähenduseks/tähiseks olemisest

pi tähendab 3.14

pi tähendab ka ringjoone pikkuse ja diameetri suhet

Seega ühel heal lapsel mitu nime

Võrame nüüd märgi ie, mis omal ajal oli paljudele arvutikasutajatele interneti sünonüüm.

Samas võtame märgi fb, mis on tänapäeval paljude arvutikasutajate interneti sünonüüm.

Loogiline mõistus ütleb, et FB(loe facebook) on osahulgaks hulgale I (loe internet). Samas paljude tänapäeva internetikasutajate arust on hoopis vastupidi – I on osahulgaks FB hulgale.

Igaljuhul võib siit tuletada, et FB = IE

Posted in Fun

R prop.test Confidence Interval for a Proportion

Posted on February 27, 2015 by margusja

Kujutleme olukorda, kus jalgpallifänn väidab, et tema lemmikmeeskond võidab sellel hooajal üle poolte mängude, kuna meeskond on juba 20 mängust 11 võitnud.

11/20=0.55 e 55%

Kui kindlalt ikkagi fänn saab oma väites olla?

R keskkonnas aitab meid funktsioon prop.test()

> prop.test(11, 20, 0.5, alternative = 'greater')

	1-sample proportions test with continuity correction

data:  11 out of 20, null probability 0.5
X-squared = 0.05, df = 1, p-value = 0.4115
alternative hypothesis: true p is greater than 0.5
95 percent confidence interval:
 0.349615 1.000000
sample estimates:
   p 
0.55

Antud väljund näitab, et ega ikka väga kindel ei saa olla kuna p-value on palju suurem, kui 0.05 ja sellest tulenevalt ei ole mingit põhjust alternatiivset hüpoteesi, et tõenäosus on rohkem kui pool hooajal võita vastu võtta.
Algoritm väidab, et 95% tõenäosusega jääb vastus nende andmete puhul vahemiku 34% kuni 100%. Loomulikult ei ole me tõestanud, et fänni meeskond ei võiks siiski võita rohkem kui pooled korrad hooajal. Lihtsalt hetkel on vähe andmeid.

Kogume siis veel andmeid. Oletame, et hooaeg on pikk ja meeskond on juba mänginud 320 korda ja neist võitnud 176 korda. Paneme tähele, et suhtearv on sama
176/320=0.55 e 55% kuid andmeid on palju rohke.

> prop.test(176, 320, 0.5, alternative = 'greater')

	1-sample proportions test with continuity correction

data:  176 out of 320, null probability 0.5
X-squared = 3.0031, df = 1, p-value = 0.04155
alternative hypothesis: true p is greater than 0.5
95 percent confidence interval:
 0.502463 1.000000
sample estimates:
   p 
0.55
Nüüd on näha, et p-value on väiksem kui 0.05 ja meie fänn võib ikka päris julgelt endale vastu rinda taguda ja väita, et 95% tõenäosusega tema lemmikmeeskond võidab sellel hooajal rohkem kui pooled korrad (null probability 0.5)
Aga kas nende andmete põhjal saab väita, et lemmikmeeskond on eriti heas hoos ja võidab lausa 2/3 e lausa 0.66 66% juhtudel?

> prop.test(176, 320, 0.66, alternative = 'greater')

	1-sample proportions test with continuity correction

data:  176 out of 320, null probability 0.66
X-squared = 16.7682, df = 1, p-value = 1
alternative hypothesis: true p is greater than 0.66
95 percent confidence interval:
 0.502463 1.000000
sample estimates:
   p 
0.55 

Nagu näha on p-value lausa oma maksimumväärtuses 1 ja meie fänn peab leppima teadmisega, et tema meeskond võidab rohkem kui pooltek kordadel. 2/3 teooriat ei toeta ka faktid 176 võitu 320-st.
Posted in Math

R t.test() mean of a sample tTest

Posted on February 27, 2015 - February 27, 2015 by margusja

R keskkonnas t.test() vahend, millega kontrollida H0(nullhüpotees) ja H1 (alternatiivne) tõenäosust

Genereerime R keskkonnas normaaljaotusega andmehulga, mille keskväärtus on 100 ja standardhälve on 15 kus on 100 elementi.

> x <- rnorm(100, mean=100, sd=15)
Nojaa nüüd võtame kätte ja väidame, et 95% tõenäosusega on antud andmehulga keskväärtus 90
H0 - antud andmehulga keskväärtus on 90
H1 - antud andmehulga keskväärtus ei ole 90
> t.test(x, mu=90, conf.level = .95)

	One Sample t-test

data:  x
t = 6.7966, df = 99, p-value = 8.138e-10
alternative hypothesis: true mean is not equal to 90
95 percent confidence interval:
  96.86957 102.53448
sample estimates:
mean of x 
 99.70203

Vasutust tuleks tõlgendada nii, et kuna p-value on väga väike (üldjuhul on väga väike alla 0.05), siis me saame H0 välistada ja tõestada 95% tõenäosusega, et antud andmehulga keskväärtus ei ole 90

Teeme teise katse ja proovime väita, et antud andmehulga keskväärtus on 99

> t.test(x, mu=99, conf.level = .95)

	One Sample t-test

data:  x
t = 0.4918, df = 99, p-value = 0.624
alternative hypothesis: true mean is not equal to 99
95 percent confidence interval:
  96.86957 102.53448
sample estimates:
mean of x 
 99.70203 

Kuna p-value > 0.05, siis me ei saa vastu võtta H1 ja peame jääma H0 juurde ehk meil ei õnnestunud tõestada, et antud andmehulga keskväärtus ei ole 99. NB! H0 ei tõesta midagi.
Posted in Math

Binoomjaotus ja jaotusfunktsioon ning tihedusfunktsioon

Posted on February 26, 2015 - February 26, 2015 by margusja

Binoomjaotus

P(X=x)
Oletame, et me viskame kulli ja kirja. Lihtsuse mõttes eeldame, et kulli ja kirja tulemise tõenäosus on 1/2 ehk 0.5. Kuigi kui päris aus olla, siis peaks see olema 0.3.
Mis on tõenäosus, et me kuuest viskest ei saa ühtegi kulli?
R keskkinnas aitab meid tihedusfunktsioon
> dbinom(0:6, size=6, prob=0.5) 
[1] 0.015625 0.093750 0.234375 0.312500 0.234375 0.093750 0.015625
ehk visete arv on kuus (size=6), sündmuse esile tulemise tõenäosus 0.5 (prob)
Vastusest loeme, et
Võimalus, et me kordagi kulli ei viska on 0.015625 ehk väga väike võimalus.
Võimalus, et me viskame kulli kolmel korral on 0.312500
Võimalus, et meil veab ja me viskame kulli kuuest korral kuus on 0.015625 - samuti väga väike.

Graafik, mis meie juttu visualiseerib. X telg algab tegelikult 0 mitte 1...7 vaid loe 0...6
Rplot3
P(X<=x)
Teeme teise viskamiste seeria veel. Viskan veelkord kulli kuus korda ja nüüd tahan teada, et mis on tõenäosus, et kull tuleb 6 või vähem korda?
R keskkonnas aitab meid jaotusfunktsioon
> pbinom(0:6, size=6, prob=0.5)
[1] 0.015625 0.109375 0.343750 0.656250 0.890625 0.984375 1.000000
Siit võime välja lugeda, et tõenäosus visata kuuel korral kuus kulli või alla selle on päris suur - 100%. Kõlab loogiliselt.
Samas nagu näha on visata näiteks kuuel korral viis või vähem korda kulli on juba 98% tõenäosus.
Ja visata kuuel viskel ainult korra või mitte ühtegi korda kulli on 1%.
Graafik, mis meie juttu visualiseerib
Rplot4 

Posted in Math

Posts navigation

Older posts
Newer posts

The Master

Categories

  • Apache
  • Apple
  • Assembler
  • Audi
  • BigData
  • BMW
  • C
  • Elektroonika
  • Fun
  • Hadoop
  • help
  • Infotehnoloogia koolis
  • IOT
  • IT
  • IT eetilised
  • Java
  • Langevarjundus
  • Lapsed
  • lastekodu
  • Linux
  • M-401
  • Mac
  • Machine Learning
  • Matemaatika
  • Math
  • MSP430
  • Muusika
  • neo4j
  • openCL
  • Õpetaja identiteet ja tegevusvõimekus
  • oracle
  • PHP
  • PostgreSql
  • ProM
  • R
  • Turvalisus
  • Varia
  • Windows
Proudly powered by WordPress | Theme: micro, developed by DevriX.