Seite 16 von 16 ErsteErste ... 61213141516
Ergebnis 376 bis 388 von 388

Thema: IT-Talents.de Code Competitions

  1. #376

    Re: IT-Talents.de Code Competitions

    Zitat Zitat von Roin Beitrag anzeigen
    Hallo Jan-Dirk,

    Dann habe ich direkt nochmal einen persönlichen Wunsch, oder sogar zwei Wünsche:
    Ist es möglich am ersten des Monats oder zumindest am ersten Werktag eines Monats auf der Website mitzuteilen, ob eine Code Competition für den Monat angesetzt ist oder nicht? Die letze war jetzt im Juni, der Juli wurde ausgesetzt, im August hat offensichtlich allerdings wieder keine gestartet. Da wäre eine kleine Info auf eurer Website ganz schön.


    Der zweite Wunsch betrifft die Themenauswahl: Ich habe damals hier das erste Thema zu eurer ersten Code-Competition, dieser DNA-Analyse eröffnet und dadurch hat sich das hier so entwickelt. Ich würde gerne mehr Themen haben, die sich mit der Auswertung von Daten beschäftigt. Oder irgendwelchen Berechnungen oder sowas. Das ist für mich persönlich spannender als diverse Aufgaben mit "Grafikdesign", doch da bin ich vielleicht auch einfach anders gestickt als manch andere Teilnehmer.

    MfG.
    Danke für das Feedback!
    Ja, das mit der Information, ob bzw. welche Code Competition stattfindet, lässt sich auf jeden Fall einrichten.

    Vielen Dank auch für das Feedback zu den Themengebieten. Wir versuchen hier immer einen Mix zu finden, der über das Jahr verteilt möglichst jedes Talent einmal (oder bestenfalls mehrfach ) anspricht.
    Letztlich evaluieren wir auch anhand der Abgabezahlen, welche Thematiken eher gut ankommen, welche eher schleppender sind.

    Ich spoilere hier aber einfach schon ein bisschen und freue mich, dass die nächste Code Competition im September sich mit Machine Learning und damit mit Datenauswertung und Berechnung befassen wird. Ich bin zuversichtlich, dass Euch das ansprechen wird. Das Thema wird nicht ganz ohne sein, wie ich finde aber mega spannend

    Beste Grüße aus Bielefeld
    Jan-Dirk
    Für diesen Beitrag bedanken sich theSplit, darksider3, Cybergreek

  2. #377

    Re: IT-Talents.de Code Competitions

    Neue Competition ist draußen!
    Machine Learning
    Habs mal überflogen - klingt ganz cool. Ich werde auf jeden Fall versuchen, mitzumachen.
    Für diesen Beitrag bedankt sich theSplit

  3. #378
    Freier Denker
    Registriert seit
    Jul 2013
    Beiträge
    419

    IT-Talents Challange September 2018: Maschine Learning

    @MingsPing: Hast du recht. Klingt an sich ganz nett. Wenn man die erwähnten Frameworks bereits kennt, hat man das auch in ein bis zwei Stunden zusammengetickert. Falls man diese noch nicht kennt, muss man natürlich etwas mehr reinstecken, weil man sich nunmal einlesen muss.
    Man kann natürlich auch versuchen seinen komplett eigenen Algorithmus zu entwerfen, der Deep-Learning nachmacht. Generell eine ganz spannende Sache. Ich hoffe, ich habe da mal ein bisschen Zeit für.
    Ich werde wohl eine Lösung mit Tensorflow implementieren. Falls ich dazu Zeit habe und vielleicht sogar noch etwas mehr Zeit über habe, würde ich auch gerne mal versuchen bei diesen Daten einen eigenen kleinen Lern-Algorithmus zu entwerfen.

    --- [2018-09-02 15:41 CEST] Automatisch zusammengeführter Beitrag ---

    Wie eben schon von @MingsPing: erwähnt, gibt es eine neue Code Competition. Hier dann der Beitrag zum antickern.

    ------------

    IT-Talents Challange September 2018: Maschine Learning
    "Hilf dabei, den Straßenverkehr sicherer zu machen: Welcher Unfall ist wie gefährlich?"
    https://www.it-talents.de/...09-2018

    Preise:
    1. Platz - 500 €
    2. Platz - 400 €
    3. Platz - 300 €

    Zeitlicher Ablauf:
    Abgabetermin: 30. September 2018 - 23:59Uhr
    Auswertung: Oktober/November 2018
    Siegerehrung: Dezember 2018

    Programmiersprachen/Frameworks:
    • Alle gängigen Plattformen und Programmiersprachen.
    • Tensorflow und Pytorch explizit erwünscht (nicht zwingend gefordert)


    Als Form der Lösung ist erlaubt:
    • Webanwendung
    • Desktopanwendung
    • mobile App (Android oder iOS)

    Die Verwendung von Frameworks (insbesondere tensorflow und pytorch) ist erlaubt.

    Grundlagen, Hinweise und Tipps zur Umsetzung und zum Aufbau und Anforderungen entnehmt bitte der Wettbewerbsseite.

    Natürlich können Fragen auch hier gestellt werden.

    Kurz zusammengefasst, was getan werden soll:
    Schreibe einen Algorithmus, der eine vorgegebene CSV-Datei (etwa 15k Datensätze mit jeweils 13 (14 mit ID) Feldern) einlesen kann. Anhand dieser Daten soll er "lernen". Anschließend soll er eine CSV-Datei mit Test-Dateien durcharbeiten und eine "Ergebnis"-CSV ausgeben, mit der entsprechenden Unfall-ID und dem errechneten Schweregrad des Unfalls.
    Für diesen Beitrag bedankt sich theSplit
    Geändert von drfuture (06.09.18 um 13:59 Uhr) Grund: grün grün grün

  4. #379

    Re: IT-Talents.de Code Competitions

    Ich würde auch erst einmal einen eigenen Algorithmus bauen wollen, und falls Zeit bleibt, mich in die Frameworks einarbeiten und dann schauen, wie gut/schlecht mein Algorithmus gegen den des Frameworks abschneidet.

    Ideen:

    Spoiler: 


    1.
    Ohne viel nachgedacht zu haben, versuche ich es mal mit einem ganz billigen neuronalen Netz (hab ich noch nie gemacht, aber zur Übung ganz gut):
    Es hat nur zwei Layer, Eingang: 13 Neuronen für jedes Feld, Ausgang: 3 Neuronen, "leicht", "mittel", "schwer". Das wird wohl zu simpel sein, aber noch hab ich keine Ahnung von NN und wie sich diese "Zwischenlayer" (hidden?) auswirken.

    2.
    Ich werde den gegebenen Datensatz nicht komplett als Trainingsdaten benutzen, sondern einen Teil als Überprüfung behalten, um zu schauen, wie "gut" der Algorithmus voraussagt.
    Vielleicht könnten wir, die Lust dazu haben, uns ja sogar drauf einigen, wie die Aufteilung ist, sodass wir unsere Voraussagen vergleichen können!

    So viel Brainstorming erstmal von mir, ich bin gespannt auf eure Vorschläge.

  5. #380
    Freier Denker
    Registriert seit
    Jul 2013
    Beiträge
    419

    Re: IT-Talents.de Code Competitions

    Also ich muss sagen, dass ich mich mit beidem noch nicht ausreichend auseinander gesetzt habe, damit ich da auf die schnelle 10 Zeilen schreibe.

    Nur generell, wie ich daran gehen würde:
    Alle Datensätze nach spalten analysieren. Häufig sind da ja Worte als Werte angegeben wie beispielsweise "Fahrer", "Passagier" oder so. Da muss man natürlich wissen, wie viele verschiedene Werte eine Spalte annehmen kann, um das vielleicht in irgendwas Zahlentechnisches umzuwandeln. Entweder einfach durchnummerieren oder als Bruchteil von 1 angeben. Kommt im Wesentlichen auf das Gleiche hinaus.

    Zu einem Neuronalen Netz (Tensorflow ist ja auch nichts anderes):

    Spoiler: 


    Es wäre vermutlich sinnig ein InputLayer zu haben, in das die 12 Inputs hineingehen. Ein Hindenlayer, vielleicht sogar zwei Hiddenlayer könnten sinnig sein. Zum Einen gibt es Infos zu dem "Ort, der Zeit sowie Wetterverhältnisse". Ich bin mir nicht sicher, ob da ein Layer vollkommen ausreichen würde.
    Würde ich die Daten manuell analysieren wollen, würde ich das in etwa wie folgt machen:
    • Jahreszeit bestimmen
    • Tageszeit (vielleicht auch irgendwie sowas wie Arbeitszeiten oder so berücksichtigen)
    • Wetterverhältnisse
    • und dann den Rest, also wer verletzt wurde.

    Damit könnte man sowas wie "Risikofaktoren" für den Unfall bestimmen und diese dann gemeinsam verrechnen, wie schlimm der Unfall dann vermutlich ist.

    Ob das natürlich aufgehen würde, kann ich natürlich nicht sagen.



    EDIT:Code und Bilder durch aktuelle Version ersetzt.

    Einmal mein Code, um die paar Grafiken in aus dem zweiten Spoiler zu erstellen. Damit kann bestimmt der ein oder andere was anfangen bezüglich Daten einlesen und so.
    Und jup - hübsch ist derzeit sicherlich was anderes.

    Spoiler: 

    Code (Python):
    1. ############  main ############
    2. # Imports of own files
    3. from helperfunctions import selectFile, parseEnglishDate, parseGermanDate, parseTime
    4.  
    5. ## CSV Import
    6. import csv
    7.  
    8. ## MatplotLib ##
    9. import matplotlib.pyplot as plt
    10. ## Dates ##
    11. import matplotlib.dates as mdates
    12. import datetime
    13.  
    14. from collections import Counter, OrderedDict
    15.  
    16.  
    17. # This function generates a few graphs which displayes the injuries over a specific parameter
    18. def showDiagrams():
    19.     print("Please select the training CSV file.\n")
    20.     selectedFile = selectFile()
    21.     if not selectedFile:
    22.         print("No valid file selected.")
    23.         return
    24.  
    25.     headers = []
    26.     seperatedParams = {}
    27.  
    28.    
    29.     with open(selectedFile) as csvFile:
    30.         data = csv.DictReader(csvFile)
    31.  
    32.         # header should be:
    33.         #
    34.         #'',
    35.         #'Strassenklasse',
    36.         #'Unfalldatum',
    37.         #'Alter',
    38.         #'Unfallklasse',
    39.         #'Unfallschwere', #### This one will be displayed
    40.         #'Lichtverhältnisse',
    41.         #'Verletzte Personen',
    42.         #'Anzahl Fahrzeuge',
    43.         #'Bodenbeschaffenheit',
    44.         #'Geschlecht',
    45.         #'Zeit (24h)',
    46.         #'Fahrzeugtyp',
    47.         #'Wetterlage'
    48.  
    49.         # Seperate parameters
    50.  
    51.         headers = data.fieldnames
    52.         for header in headers:
    53.             seperatedParams[header] = []
    54.  
    55.         #i = 0
    56.         for row in data:
    57.             for header in headers:
    58.                 seperatedParams[header].append([row[header], row['Unfallschwere']])
    59.        
    60.     # Seperate each list by the seconds column ('Unfallschwere')
    61.     for header in headers:
    62.         # Columns we do not need to display
    63.         if header in ['', 'Unfallschwere']:
    64.             continue
    65.  
    66.         print ("Processing " + header)
    67.        
    68.         sortedParams = {}
    69.         for line in seperatedParams[header]:
    70.  
    71.             if header == 'Unfalldatum':
    72.                 # We use year 2016 to just use the day and month (and be able to use "Schaltjahr")
    73.                 if "." in line[0]:
    74.                     line[0] = parseGermanDate(line[0], 2016)
    75.                 elif "-" in line[0]:
    76.                     line[0] = parseEnglishDate(line[0], 2016)
    77.             elif header == 'Zeit (24h)':
    78.                 time = parseTime(line[0])
    79.                 if time:
    80.                     line[0] = datetime.datetime.combine(datetime.date.today(), time)
    81.                 else:
    82.                     continue
    83.             elif header == 'Lichtverhältnisse':
    84.                 line[0] = line[0].replace(' ', "\n")
    85.             elif header in ['Alter', 'Verletzte Personen', 'Anzahl Fahrzeuge']:
    86.                 line[0] = int(line[0])
    87.            
    88.            
    89.             if line[1] not in sortedParams:
    90.                 sortedParams[line[1]] = []
    91.             sortedParams[line[1]].append(line[0])
    92.  
    93.         resortedParams = {}
    94.         for tmp in sortedParams:
    95.             resortedParams[tmp] = sorted(sortedParams[tmp])
    96.         sortedParams = resortedParams
    97.  
    98.         # Now we can generate the image we need want to display
    99.         fig, ax = plt.subplots()
    100.         fig.autofmt_xdate()
    101.        
    102.         axes = []
    103.  
    104.         for l1 in sortedParams:
    105.             arrays = {}#OrderedDict()
    106.             for el in sortedParams[l1]:
    107.                 if el not in arrays:
    108.                     arrays[el] = 0
    109.                 arrays[el] += 1
    110.                
    111.             if header in ['Alter', 'Verletzte Personen', 'Anzahl Fahrzeuge', 'Unfalldatum', 'Zeit (24h)']:
    112.                 if header == 'Unfalldatum':
    113.                     ax.get_xaxis().set_major_formatter(mdates.DateFormatter('%d.%m'))
    114.                 elif header == 'Zeit (24h)':
    115.                     ax.get_xaxis().set_major_formatter(mdates.DateFormatter('%H:%M'))
    116.                    
    117.                 axes.append(ax.plot(arrays.keys(), arrays.values()))
    118.             else:
    119.                 axes.append(ax.bar(arrays.keys(), arrays.values(), align='center'))
    120.             ax.set_ylabel("Occurences")
    121.             ax.set_xlabel(header)
    122.             ax.tick_params(axis='x', rotation=70)
    123.            
    124.         if header in ['Alter', 'Verletzte Personen', 'Anzahl Fahrzeuge', 'Unfalldatum', 'Zeit (24h)']:
    125.             new_axes = []
    126.             for a in axes:
    127.                 new_axes.append(a[0])
    128.             axes = new_axes
    129.            
    130.         ax.legend(axes, sortedParams.keys())
    131.        
    132.         plt.grid()
    133.         plt.gcf().tight_layout()
    134.         plt.savefig(header + ".png", bbox_inches = 'tight')
    135.         #plt.show()
    136.  
    137. ############ helperfunctions.py ############
    138. ## CSV Import
    139. from os import listdir
    140.  
    141. ## FileDialog ##
    142. import tkinter as tk
    143. from tkinter import filedialog
    144.  
    145. ## Dates ##
    146. import datetime
    147.  
    148. ## variables ##
    149. englishMonth = {'Jan':1, 'Feb':2, 'Mar':3, 'Apr':4, 'May':5, 'Jun':6, 'Jul':7, 'Aug':8, 'Sep':9, 'Oct':10, 'Nov':11, 'Dec':12}
    150. germanMonth  = {'Jan':1, 'Feb':2, 'Mrz':3, 'Apr':4, 'Mai':5, 'Jun':6, 'Jul':7, 'Aug':8, 'Sep':9, 'Okt':10, 'Nov':11, 'Dez':12}
    151.  
    152. ## Functions ##
    153.  
    154. def selectFile():
    155.     root = tk.Tk()
    156.     root.withdraw()
    157.  
    158.     file_path = filedialog.askopenfilename()
    159.     return file_path
    160.  
    161.  
    162. def parseEnglishDate(dt, optionalYear = None):
    163.     # %d-%b-%y
    164.     if not "-" in dt:
    165.         print("Invalid time for the function: ", dt)
    166.         return
    167.     pos = dt.find('-')
    168.     day = int(dt[:pos])
    169.     pos2 = dt.find('-', pos+1)
    170.     month = dt[pos + 1:pos2]
    171.     year = dt[pos2 + 1:]
    172.     if optionalYear:
    173.         year = optionalYear
    174.     return datetime.date(year, englishMonth[month], day)
    175.  
    176. def parseGermanDate(dt, optionalYear = None):
    177.     # %d. %b.
    178.     if not "." in dt:
    179.         print("Invalid time for the function: ", dt)
    180.         return
    181.     pos = dt.find('.')
    182.     day = int(dt[:pos])
    183.     pos = dt.find(' ')
    184.     month = dt[pos + 1:-1]
    185.     year = 2018
    186.     if optionalYear:
    187.         year = optionalYear
    188.     return datetime.date(year, germanMonth[month], day)
    189.  
    190. def parseTime(t):
    191.     # %H%M
    192.     if len(t) == 3:
    193.         hours = t[:1]
    194.         minutes = t[1:]
    195.     elif len(t) == 4:
    196.         hours = t[:2]
    197.         minutes = t[2:]
    198.     else:
    199.         #print("Invalid time for this function: ", t)
    200.         return
    201.     return datetime.time(int(hours), int(minutes))
    Damit kann man zumindest die Daten schonmal darstellen. Und ich vermute, dass alle, die Python nutzen wollen, da auch ein bisschen Code rausziehen können.


    Was ich anmerken möchte: Die Datensätze haben nicht immer das gleiche Format und sind teilweise unvollständig oder schlichtweg fehlerhaft (Zeit).
    Das ist in der realität zwar so, doch ich finde es macht die Coding-Challenge nur unnötig aufwendig, da "Daten vorher aufhübschen" nicht zu dem eigentlichen Problem gehört, finde ich.

    Hier nochmal meine Erkenntnisse in einigen Grafiken:

    Spoiler: 

    Klicke auf die Grafik für eine größere Ansicht 

Name:	Unfallklasse.png 
Hits:	12 
Größe:	23,8 KB 
ID:	52202Klicke auf die Grafik für eine größere Ansicht 

Name:	Zeit (24h).png 
Hits:	13 
Größe:	47,7 KB 
ID:	52224Klicke auf die Grafik für eine größere Ansicht 

Name:	Unfalldatum.png 
Hits:	10 
Größe:	85,9 KB 
ID:	52220Klicke auf die Grafik für eine größere Ansicht 

Name:	Lichtverhältnisse.png 
Hits:	10 
Größe:	37,9 KB 
ID:	52218Klicke auf die Grafik für eine größere Ansicht 

Name:	Fahrzeugtyp.png 
Hits:	11 
Größe:	40,4 KB 
ID:	52216Klicke auf die Grafik für eine größere Ansicht 

Name:	Anzahl Fahrzeuge.png 
Hits:	10 
Größe:	24,0 KB 
ID:	52214Klicke auf die Grafik für eine größere Ansicht 

Name:	Wetterlage.png 
Hits:	10 
Größe:	38,7 KB 
ID:	52211Klicke auf die Grafik für eine größere Ansicht 

Name:	Verletzte Personen.png 
Hits:	10 
Größe:	28,2 KB 
ID:	52222Klicke auf die Grafik für eine größere Ansicht 

Name:	Strassenklasse.png 
Hits:	10 
Größe:	38,4 KB 
ID:	52219Klicke auf die Grafik für eine größere Ansicht 

Name:	Geschlecht.png 
Hits:	11 
Größe:	21,0 KB 
ID:	52217Klicke auf die Grafik für eine größere Ansicht 

Name:	Bodenbeschaffenheit.png 
Hits:	11 
Größe:	28,6 KB 
ID:	52215Klicke auf die Grafik für eine größere Ansicht 

Name:	Alter.png 
Hits:	11 
Größe:	38,8 KB 
ID:	52213

    Falls mir jemand sagen kann, wie ich bei diskreten Werten diese Balkendiagramme nebeneinander machen kann: Immer her damit. Ich habe es gesucht und einfach nicht gefunden.
    Geändert von Roin (03.09.18 um 02:34 Uhr) Grund: Alten Code und Bilder aufgrund von Dublizierung entfernt

  6. #381
    Freier Denker
    Registriert seit
    Jul 2013
    Beiträge
    419

    Re: IT-Talents.de Code Competitions

    Ich habe angefangen ein ganz einfaches Neuronales Netz mit zwei Layern zu implementieren. Das übersetzen der ganzen Werte in Zahlen war erstmal ne ganze Menge Tipparbeit...
    Jetzt habe ich allerdings ein Problem mit Python:
    Code (Python):
    1. def sigmoid(x, derive=False):
    2.     if derive:
    3.         return x*(1-x)
    4.     return 1/(1 + np.exp(-x))
    Wenn ich da mein numpy-Array reinwerfe kriege ich IMMER ein RuntimeWarning: overflow encountered in exp.
    Dabei habe ich zuerst mein Array mit normalen Werten befüllt gehabt (also Werte zwischen 0 und irgendwas Richtung 1500). Da ich gedacht habe, dass da vielleicht ein Problem bei besteht, habe ich mein Array dann Spaltenweise normalisiert - also nur noch Werte zwischen 0 und 1. Immernoch der gleiche Fehler. Derzeit weiß ich da leider nicht weiter. Hat da jemand anderes einen Tipp für mich?

    EDIT:
    Wenn ich den Fehler einfach ignoriere, dann setzt er entsprechende Werte automatisch auf 0, was auch richtig ist, da lim(1/large) gegen 0 geht.

    Mit meinem 2-Layer Netzwerk kriege ich von insgesamt 15221 Trainingsdatensätzen nur 1781 falsche Ergebnisse. Das entspricht einer Genauigkeit von 88,29%.
    Dabei habe ich alle Werte wie sie in dem Datensatz sind genommen und jeweils durchnummeriert (nach einer Sortierung der Werte von mir).
    Mein Trainingdurchlauf war nur EIN MAL über den Datensatz. Mehrfaches drüberlaufen hat keine Verbesserung mehr gebracht (habe ich etwa was falsch gemacht?).

    Spoiler: 

    Nächste Idee (1):
    Ein weiteres Layer einführen. Dadurch könnte sich schon die Komplexität positiv für mich auswirken.

    Nächste Idee (2):
    Andernfalls wollte ich vielleicht noch sowas wie die Zeiten etwas komprimieren und zum Beispiel auf Stunden runden oder beispielsweise aus den Lichtverhältnissen oder der Wetterlage mehrere Input-Parameter machen, da dort ja mehrere Informationen drinstecken, die in dem Text derzeit einfach zu komprimiert verschlüsselt sind, um dies effektiv in Zahlen abbilden zu können.

    Ein Problem, dass ich allgemein sehe mit der Durchnummerierung von den Text-Werten: Ich nutze nur eine Funktion, die effektiv Zahlen miteinander multipliziert. Allerdings wären bei diesem Problem vermutlich auch Ungleichungen sinnvoll. Also sowas wie 'Wert > 0,5 ? 1: 0' oder so. Allerdings nicht bei allen Parametern.

    Komplexe Idee (3):
    Ich habe mir überlegt die Daten aus einem Datensatz weiter aufzuteilen. beispielsweise möchte ich alles was mit dem Wetter zu tun hat in ein Array extrahieren (beachte (2)) und so weiter. Diese Arrays möchte ich dann nicht in ein gemeinsames Layer werfen, sondern in voneinander getrennte Layer, damit ich bis zum nächsten Layer dann verschiedene Aktivierungsfunktionen für die Neuronen nutzen kann. Anschließend würde ich die Ergebnisse dieser Operationen wieder zu einem weiteren Layer zusammenführen und von dort aus ein Ergebnis bestimmen lassen.
    Leider habe ich aktuell die Befürchtung, dass dabei mein Können überschritten wird. Das Aufbauen der Layer und Gewichte ist dabei nicht das Problem. Das ist Tipparbeit aber nicht übermäßig schwierig. Ich denke aber, dass ich es nicht hinkriegen würde, die Fehlerkorrektur, also das eigentliche Lernen, da vernünftig einzubauen. Möchte sich jemand mit mir Zusammentun und da einmal drüber quatschen?
    Geändert von Roin (06.09.18 um 14:22 Uhr)

  7. #382
    Bot #0384479 Avatar von BurnerR
    Registriert seit
    Jul 2013
    Beiträge
    3.668
    ngb:news Artikel
    1

    Re: IT-Talents.de Code Competitions

    Geil.
    Wenn irgend geht mache ich diesmal auch mit.
    Muss nur noch diese eine kleine Sache A und B machen. Und C. Aber diesmal könnte es wirklich, wirklich sein, dass ich Gelegenheit habe :-D.
    Für diesen Beitrag bedanken sich theSplit, MingsPing, Roin

  8. #383
    1998

    Veteran

    (Threadstarter)

    Avatar von theSplit
    Registriert seit
    Aug 2014
    Beiträge
    4.493
    ngb:news Artikel
    1

    Re: IT-Talents.de Code Competitions

    Guten Morgen,

    ich hab keine Ahnung was ihr da tut, aber macht weiter!

    Neurale Netze und Machine-learning sind mir persönlich zu komplex, als das ich dass verstehen könnte... aber ich wünsche euch allen viel Erfolg bei der Competiton!

    Und Danke @ MingsPing dass du die Challenge hier bekannt gegeben hast und @Roin fürs "ausführlich machen".
    Gruß theSplit
    @ I might be sober. The good things... the bad things... all I ever know is here! @ The past; yesterday, the present; here and now; the future; to be shaped. @
    +++ Pi-Thread +++ IT-Talents Code Competitions +++ NGB-Statistik Opt-Out/Anonymisierung +++ Stonerhead +++ Add-on Flag Cookies +++ Google Image Directlinks +++ dwrox.net

  9. #384
    Freier Denker
    Registriert seit
    Jul 2013
    Beiträge
    419

    Re: IT-Talents.de Code Competitions

    @theSplit:
    So kompliziert sind Neuronale Netze und Machine-Learning eigentlich gar nicht.
    Es ist im Endeffekt nur Matritzenrechnung, die dir sowas wie Python mit numpy größtenteils abnimmt.

    Eine schöne Erklärung mit ein paar Codezeilen als Beispiel habe ich mal verlinkt.
    Da fehlt allerdings der Teil mit dem selbst optimieren. Das habe ich aus einem anderen Tutorial übernommen.
    Dennoch würde ich mich wie oben in dem Spoiler geschrieben, über etwas Hilfe bei meinem komplexen Ansatz freuen.

  10. #385

    Re: IT-Talents.de Code Competitions

    Konnte leider noch kaum was implementieren .
    Finde es auch nervig, dass Fehler in den Daten sind (bzw. sie auch nicht einheitlich sind), sehe es wie du @Roin, im Real-Life muss man damit natürlich rechnen, aber bei ner Competition mit nem kleinen Zeitrahmen, wo es eigentlich um was anderes geht... .
    Vielleicht komm ich am WE bissl dazu.

  11. #386
    Freier Denker
    Registriert seit
    Jul 2013
    Beiträge
    419

    Re: IT-Talents.de Code Competitions

    @BurnerR: Hattest du zufällig schon eine Gelegenheit zum Ausprobieren?
    @MingsPing: Konntest du inzwischen schon irgendwas zusammen tickern?

    Ich bin weiterhin nicht weiter gekommen. Ich habe da ein zwei-Layer Netzwerk. Muss allerdings noch das mit dem Ausgeben der Datei schreiben und bestenfalls das Netzwerk irgendwie speichern / laden können.
    Ich weiß allerdings nicht, ob ich dafür noch Zeit finde. Könnte also sogar sein, dass ich nicht rechtzeitig abgeben kann.

  12. #387
    Bot #0384479 Avatar von BurnerR
    Registriert seit
    Jul 2013
    Beiträge
    3.668
    ngb:news Artikel
    1

    Re: IT-Talents.de Code Competitions

    Zitat Zitat von Roin Beitrag anzeigen
    @BurnerR: Hattest du zufällig schon eine Gelegenheit zum Ausprobieren?
    Es wird wieder nichts. Ich wollte so gern. Aber es lag so viel Arbeit an, das keine Kapazitäten für was anderes blieb. Und jetzt hab ich erstmal Urlaub.

  13. #388
    Freier Denker
    Registriert seit
    Jul 2013
    Beiträge
    419

    Re: IT-Talents.de Code Competitions

    Ich habe eben nochmal 10 Minuten gefunden. Ich kann jetzt mein Netzwerk speichern, laden und auch ein Ergebnis ausgeben lassen.
    Problem: Ich kriege IMMER Unfallschwere 1 raus, ich vermute mal, da ist das Netwerk von mir einfach extrem dumm...

    --- [2018-09-22 15:33 CEST] Automatisch zusammengeführter Beitrag ---

    Selbst mit einem 3Layer Netwerk (12->24->3) komme ich IMMER nur auf Ergebnis von 1 (leichter Verletzung)

    --- [2018-09-22 15:47 CEST] Automatisch zusammengeführter Beitrag ---

    Noch eine Info: Wenn ich versuche auf nur ein Output-Neuron zu gehen kriege ich eine Genauigkeit von gerade mal 10% hin.. Irgendwas mache ich wohl falsch. Zudem: Normalerweise trainiert man die Netzwerke, indem man mehr als 1 Mal die Daten draufwirft. Komischerweise bin ich nach dem ersten Durchlauf aber bereits auf meiner Endgenauigkeit. Danach verändert sich nichts mehr...


    Ich kriege bereits nach der Ersten Wiederholung 13495 Treffer für die Trainingsdaten. Aber irgendwie... Keine Ahnung was ich da flasch gemacht habe. Anscheinend habe ich die Daten so normalisiert, dass die automatisch auf "leichte Verletzung" eingestellt werden, egal was die Input-Daten später sagen.

    Das Netzwerk lernt einfach "leicht passt voll oft. Das nehme ich jetzt immer". Ist ja nicht so dumm, aber hilft mir leider genau gar nicht.

    --- [2018-09-22 17:21 CEST] Automatisch zusammengeführter Beitrag ---

    Ich habe auch unterschiedliche Input-Varianten versucht. Wenn ich die Daten weiter aufsplitte ändert sich am Ergebnis einfach mal genau nix.
    Das beste Ergebnis erlange ich mit 3 Output-Neuronen. Allerdings sagen die dann immer, egal was reinkommt, dass es eine leichte Verletzung ist. Ich versteh den Fehler leider auch nicht.
    Größtes Problem könnte die minimal approximierte Aktivierungsfunktion sein. Aufgrund von großen Zahlen (trotz Normierung auf 1...) kachelt da sonst alles ab und bekommt overflow-Fehler. Deswegen habe ich bei Zahlen, die gegen 0 tendieren würden, bei der Berechnung, auf 0 approximiert. Aber ob es wirklich daran liegt?
    Geändert von Roin (Gestern um 16:34 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •