It Sikkerhed Implementering I Python

Implementering i python

Det IDE (Integrated Developement Environement) vi anvender til at køre python er Jupyter Notebook. Det får man ved at downloade Anaconda 5.1 Vælg Graphical Installer.
Installer Anaconda, start den og vælg Jupyter Notebook.
Nu skal du have percetronalgoritmen og data importeret.
Først downloader du denne zip-fil. Unzipper den og uploader de tre filer ved at bruge uploadknappen i Jupyter.
Åben den der hedder PerceptronIplanen.ipynb ved at klikke på den i Jupiter.

  • Læs den

Den laver det vi gjorde i øvelsen. På de samme punkter.

  • Prøv at identificere hvad de enkelte dele af programmet gør. Som du selv lige har gjort i øvelsen.
  • Udpeg løkker, forgreninger og variable.
  • Kør programmet. Fik du den samme linje $w$ som i øvelsen?

Nu kan du åbne den fil der hedder PerceptronGenerelt.ipynb og data.py. Den sidste er data.

  • Hvor mange koordinater er der i hvert punkt?
  • Hvor mange punkter er der?
  • Hvad er forskellen på dette program og det første program?
  • Kør programmet.

DR2: Hvad pokker er kunstig intelligens

Slut af med DR2's "Hvad pokker er kunstig intelligens", hvor gennemgår og udvikler et neuralt netværk til at genkende katte, bruger machine learning til at kende forskel på ting i en butik og laver en fake nytårstale, hvor det ser ud til, at det er Lars Løkke der taler.
minutter

Machine Learning for dummies » Neurale netværk: 16:00-25.00

https://www.dr.dk/tv/se/so-ein-ding-forar-2018/-/hvad-pokker-er-kunstig-intelligens#!/

Program på pythonanywhere.com

eta = 0.2                                      #Lærningsrate
w=[0,1,0.5]                                    #Hyperplan: 0,1,0.5 er startsættet
y=[1,0,0,0,1,1]                                #Tabel med kendt output: 1 = rød punkt; 0 = blåt punkt
x=[[1,1,1],[1,2,-2],[1,-1,-1.5],[1,-2,-1],[1,-2,1],[1,1.5,-0.5]]  #Tabel med placeringer for værdier:   

def delta(i):
    if y[i]>0: delta = 1
    else: delta = -1
    return delta

def countOutput(i):
    output = 0
    for j in range(0,len(x[i])):
        output += w[j]*x[i][j]
    if output > 0: return 1
    else: return -1

def placedCorrectly(i):
    return countOutput(i)==delta(i)

def update(w,i):
    for j in range(0,len(x[i])):
        w[j]=w[j]+delta(i)*eta*x[i][j]
    print("Update w(" + str(j) + ")" + str(w))  #Udskriv opdateret linje
    return w

def perceptron(w,x):
    for i in range(0,len(x)):
        print("Punkt :" + str(i))
        if not placedCorrectly(i):
            update(w,i)

print("Start W : " + str (w))                   #Udskriv startlinje
perceptron(w,x)                                 #Kør perceptron
print("Result W : " + str (w))                  #Udskriv resultat
Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-NonCommercial 3.0 License