-->

maandag 7 mei 2018

Hoe je AI niet moet inzetten

De afgelopen week kwam op nu.nl een bericht voorbij over het inzetten van gezichtsherkenning bij de Championleague finale 2017 in Cardiff. Het doel was om vast te stellen of er zich criminele bevonden onder de bezoekers.  er zin 170.000 bezoekers geweest waarvan er 2470 werden aangemerkt als misdadiger. Dit bleek 2297 (oftwel 92%) van de gevallen onterecht te zijn.
Verontrustend dat mensen als crimineel worden gezien, terwijl ze dat niet zijn. Voelt erg als eerst is iedereen schuldig tot je het tegendeel kunt bewijzen. we moeten goed weten hoe dit soort computersystemen werken, wil je ze op een opbouwende niet destructieve manier gebruiken. 
In de kern is dit een classificatieprobleem. Op basis van ingevoerde beelden en een algoritme retourneert de computer de melding. Dit is een foto van een crimineel of een foto van een onschuldige burger. Nu is dat toekennen ingewikkeld proces waarin fouten worden gemaakt. De volgende typen fouten kunnen worden gemaakt:
1) een crimineel wordt aangemerkt als een onschuldige burger (false negative)
2) een onschuldige burger wordt aangemerkt als een crimineel (false positive)
Het nieuwsartikel beschrijft de false positives. Er zijn 2470 mensen als crimineel geclassificeerd die toch onschuldig bleken te zijn. Er zijn geen gegevens over de false postitives . Het lijkt mij overigens niet makkelijk om die data boven water te krijgen. Je zou alle criminelen moeten vragen of ze die dag in Cardiff waren of alle onschuldige burgers vragen waar ze waren die dag. 

Het klassificatieproces bestaat uit de volgende stappen:
foto -> identiteit persoon -> staat bekend als crimineel
Omzetting van foto naar identiteit van persoon
Ondertaande foto zijn van Dr. Fei Zuo. De eerste stap voor de computer is te bepalen wie er op het plaatje staat. wij zien redelijk gemakkelijk dat het om dezelfde persoon gaat. Computeralgoritmes hebben hier flink meer moeite mee. 





Daar komt ook nog bij dat deze foto's van gelijkmatige kwaliteit zijn en in de praktijk foto's verschillende afmetingen en kwaliteit / resolutie hebben  en wat gbeurt er als mensen ineens makeup gaan dragen of een ander kapsel nemen?

In het geval van massa-suveillanse is de eerste stap dus ook een klassificatieprobleem, maar een met als uitgaande klassificatieklassen. Het aantal verschillende mensen die bekend zijn bij de politie. Dat lijkt mij een flinke verzameling.

Vervolgens zou je dan de mensen die als crimineel bekend staan eruit kunnen filteren. In de praktijk zal er wle een aparte database zijn met criminelen en hun foto's.
  
De eerste stap om te komen van beeld neer persoon bestaat weer uit een aantal substappen:

But face recognition is really a series of several related problems:
  1. First, look at a picture and find all the faces in it
  1. Second, focus on each face and be able to understand that even if a face is turned in a weird direction or in bad lighting, it is still the same person.
  1. Third, be able to pick out unique features of the face that you can use to tell it apart from other people— like how big the eyes are, how long the face is, etc.
  1. Finally, compare the unique features of that face to all the people you already know to determine the person’s name.
x


As a human, your brain is wired to do all of this automatically and instantly. In fact, humans are too good at recognizing faces and end up seeing faces in everyday objects:








https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78

https://www.nu.nl/internet/5254817/cameras-britse-politie-herkenden-duizenden-mensen-onterecht-als-crimineel.html#coral_talk_wrapper

maandag 2 april 2018

Pet Project Zombies: Logaritmische Groei




Deel 2: Groei met een begrenzing door beperkingen in  de omgeving.

Stel dat de omvang van een populatie beperkt is met  een maximum van B

De groei van de populatie zou naarmate dit maximum benaderd wordt moeten verminderen.

De recursieve functie gaat dan als volgt:
N(t+1)~ = N(t) + r * N(t) * ((B – N(t)) / B)

De groei van de populatie kun je dan als volgt formuleren:
$$ \frac{dN}{dt} = r \times N \times ( 1 - \frac{N}{B}) \\ \frac{dN}{dt} = r \times N \times ( \frac {B}{B} - \frac{N}{B}) \\ \frac{dN}{dt} = r \times N \times ( \frac {B-N}{B} \\ \frac{dN}{dt} = r \times \frac { N (B - N ) } {B} \\ \frac{1}{\frac{N(B-N)}{B}} \times \frac{dN}{dt} = r \\ \frac{B}{N(B-N)} \times \frac{dN}{dt} = r \\ \frac{B}{N(B-N)} \times dN = r \times dt\\ $$
$$ \int{\frac{B}{N(B-N)} \times dN} = \int {r \times dt} \\ \int{\frac{1}{N} + \frac{1}{B-N}} \times dN = \int {r \times dt}\\ ln |N| + ln |B-N| = \int {r \times dt}\\ ln | \frac{N}{B-N}| = \int {r \times dt}\\ ln | \frac{N}{B-N}| = {r}\times{t} + C\\ e^{{r}\times{t} + C}= \frac{N}{B-N}\\ e^Ce^{{r}\times{t}} = \frac{N}{B-N}\\ N = \frac{B\times e^{c}\times e^{rt}}{1 + e^{c} \times e^{rt} }\\ $$ $$ N = \frac{B \times C \times e^{rt} }{1 + C \times e^{rt}}\\ N = \frac {\frac{B \cdot C \cdot e^{rt} }{e^{rt}}} {\frac{1 + C \times e^{rt} }{e^{rt}} } \\ N= \frac{ \frac{B \times C \times e^{rt} }{e^{rt}} } { \frac{1}{e^{rt}} + \frac{c \times e^{rt}}{e^{rt}} }\\ N = \frac{B \times C}{e^{-rt} + C}\\ N = \frac{B \times C}{C+ e^{-rt}}\\ $$ Uitwerking C
$$ ln | \frac{N}{B-N}| = {r}\times{t} + C\\ $$
stel dt = 0

$$ ln | \frac{N}{B-N}| = C\\ | \frac{N}{B-N}| = e^{C} \times e^{r\times0}\\ | \frac{N}{B-N}| = e^{C} \times e^{0}\\ | \frac{N}{B-N}| = e^{C} \times 1\\ | \frac{N}{B-N}| = \check{c}\\ | \frac{N_{0}}{B-N_{0}} | = \check{c}\\ \\ N = \frac{B \times \frac{N_{0}}{B-N_{0}}}{\frac{N_{0}}{B-N_{0}} + e^{-rt}}\\ N = \frac{B \times \frac{N_{0}}{B-N_{0}}}{\frac{N_{0}}{B-N_{0}} + e^{-rt}} \times \frac{B-N_{0}}{B-N_{0}}\\ N= \frac{N_{0}B}{N_{0} + (B - N_{0}) e^{-rt}}\\ $$ Uitwerking breuksplitsen: $$ \frac{B}{N(B-N)} = \frac{p}{N} + \frac{q}{B-N}\\ \frac{p}{N} \times \frac{B-N}{B-N} + \frac{q}{B-N} \times \frac{N}{N}\\ \frac{p(B-N)}{N(B-N)} + \frac{qN}{(B-N)N}\\ \frac{p(B-N) + qN}{N(B-N)}\\ \\ p(B-N) + qN = B\\ pB -pN = qN = B\\ pB + N(-p + q) = B\\ \\ p = 1 \wedge (-p + q) = 0\\ p = 1 \wedge q = 1\\ \\ \frac{B}{N(B-N)} = \frac{1}{N} + \frac{1}{B-N}\\ $$

Hieronder volgt een voorbeeld van de groei-functie:

1) startpopulatie (N0) = 100
2) grens van de populatie (B) = 1000
3) initiële groeiratio (r) = 0.8

groeifunctie =  (100*1000)/ (100 + (1000 -100) * e^(-0.8*x))
afgeleide = (7200*e^((4*x)/5))/(e^((4*x)/5)+9)^2


begrenzingsfunctie = 1000
x1 = 0
x2 = 10



Klassiek voorbeeld van de logaritmische groei:



woensdag 28 maart 2018

Pet Project Zombies : Exponentiële Groei



zie deel 1 tot en met 4


Een populatie bacteriën groeit met steeds met een factor r van de huidige populatie. Gegeven een beginaantal, wat is de formule die de omvang omvang van de populatie (de aantallen bacterieën ) weergeeft in de loop van de tijd. $$ \frac{dN}{dt} = r \times N\\ \frac{1}{N} \times \frac{dN}{dt} = r\\ \frac{1}{N} \times {dN} = r \times {dt}\\ \int{\frac{1}{N} \times {dN}} = \int{r \times {dt}}\\ ln|N| = r \times t + C\\ e^{r \times t + c } = |N|\\ e^{C} \times e^{r \times t} = |N|\\ |N| = N_{0} \times e^{r \times t} $$



$$ N_{0} = 10 bacteriën\\ r = 10% $$


Referenties:
 https://www.youtube.com/watch?v=_JpS8k1a9yE

https://www.khanacademy.org/math/differential-equations/first-order-differential-equations/separable-equations/v/addressing-treating-differentials-algebraically

maandag 27 november 2017

Logica en grafen

In een vorige entry gesproken over het feit dat binnen Ai vaak gaat om binnen uit alle mogelijke combinaties van symbolen, een specifiek combinatie te vinden die we dan het antwoord noemen.

Tevens aangegeven dat alle mogelijke combinaties van symbolen vaak wordt beperkt door het geven van regesl waaraan de combinaties moeten voldoen of door een opsoming van combinaties waaruit te kiezen valt.

In principe specificeert een graaf welke combinates van symbolen voor kunnen komen. Een graaf beperkt dus het aantal mogelijke combinaties. Vaak is de graaf zo groot dat we niet in een keer alles kunnen overzien en moeten we met een deel van de infomratie uit de graaf werken.

Er zijn twee manieren om informatie uit de graaf te halen:
1. door het doorlopen van de graaf (wordt vaak gedaan bij programmeer cusrsssen)
2. Door te redeneren over de graaf. Dit wordt vaak in de eerste orde logica gedaan.

zaterdag 4 november 2017

Mooie toepassing AI (kinderen leren robot schrijven)

Ich glaube, dass diese ist Unterrichtkundisch und pädagogisch verantwortungsvoll. Warum? Unterrichtkundisch, denn man lernt am meistens wann man etwas erklären müsst. Pädagogisch verantwortungsvoll denn Kinder jetzt nicht mehr warten dürfen auf die Erwachsene und der Roboter so programmiert kann werden, dass er so reagiert dass das Kind am besten / schnellsten lernt. Zum Beispiel: Kinder mit Versagensangst brauchen andere Rückkoppelung Kinder mit ADHD. Ein Roboter kann diese Rückkoppelung sehr konsequent durchfuhren. Ohne böse oder frustriert zu werden. Dozenten (Ich war auch ein) müssen wirklich gut nachdenken wann und welche direkte Interaktion unsere Kinder brauchen und wann wir am besten IT einsetzen können.

Hardware, software en functionaliteit



Hardware
Een intelligent systeem is net als ieder ander artefact gemaakt van verschillende materialen. De beschrijving van dit systeem in termen van natuurkundige en scheikundige eigenschappen zoals vorm, gewicht, geleidend of niet, doorzichtig of niet, reagerend op licht of niet, noem ik het hardware model van het systeem. Let er hierbij op dat je dus geen enkele uitspraak doet over het doel en het gebruik van het systeem.


Stel je hebt bovenstaande telefoon. Hoe ziet dan de hardware beschrijving eruit? Als hulpmiddel doe je net of je een alien bent van Mars, je bent net geland op aarde je vindt bovenstaande item op het midden van de weg. Hoe zou jij dan deze telefoon beschrijven?


Je zou opmerken dat een klein rechthoeking ding was dat grotendeels een zwarte kleur heeft.
  1. Eén zijde bestaat uit hele kleinte puntjes de verschillende kleuren licht uitstralen
    Deze zijde reageert ook op aanraking. De puntjes veranderen soms van kleur en soms begint het ding te trillen en creëert geluidsgolven.
  2. Je merkt ook op dat er een element is die reageert op luchtdrukwijzigingen en er is een element die kleine veranderingen in de luchtdruk kan genereren.
  3. Je merkt ook op dat er elementen aan boord zijn die reageren op verstorigne in het electrisch veld en die ook reageren op verstoringen in het electrisch veld.
  4. Deze verstoringen vinden plaats in verschiilende frequenties. Bijvoorbeebeeld5,8GHz of 1800 MHz.

Het gebruik
Het doel van ontwerpers is om dit soort apparatuur bruikbaar te maken voor mensen

For example: We might come up with the idea to talk in the mic, the air vibrations are transferred throught the machine and converted in electromagemtic disturbances. We make second one which translate the electromagetic disturbances in to airwaves (through the speakers)

Even a better idea is to make use of the side that response to touch, we might us it to enter an unique code, translate that into disturbances into the magnetic field so that only items that know this number respond to the disturbance (aka  phone number!)

Of course as a software designer we spent a lot of time behind our IDE, but this is only a partial view on the system. The hardware (the physical view) is as equally important, because in the end it is the behavior of the hardware of the systems that helps. Even a monitor is hardware, the symbols on your screen are nothing more than glowing lights (there small and there are a lot of them)

Symbolen
Als ik de apps op mijn telefoon bekijk, zijn er zeker veertien apparaten die daardoor overbodig zijn geworden. Ik gebruik mijn mobiel nu als
- telefoon
- brievenbus
- krant
- wekker
- stopwatch
- kookwekker
- kladblokje
- fotocamera


- routekaart (herinner je dat gevouw nog?)
- zaklamp
- rekenmachine

- walki-talki
- televisie
- cassetterecorder


Dit vertelt mij twee dingen, namelijk dat een smartphone een heel flexibel in te zetten apparaatje is, maar ook dat er blijkbaar tussen al die verschillende toepassingen een overlap bestaat.  De overlap tussen al die applicatie is dat zijn symbolen ingevoerd, bewerkt en dan weer gepresenteerd worden (vaak in de vorm van beeld maar ook in de vorm van geluid)

Een symbool is een natuurkundige eigenschap of een reeks eigenschappen van materiaal waarbij men impliciet en soms expliciet afspreken dat deze eigenschappen naar iets anders verwijzen.

voorbeeld:

fysieke eigenschappen
- rechthoekig
- gedeeltelijk bedekt met materiaal dat alle lichtfrequenties refelcteert
- de rest is bedekt met een materiaal dal alleen de lichtfrequenties tussen 450–495 nm (blauw) reflecteert


Symboliek:
U betreedt een snelweg.