class Perzeptron2D(var gewicht1: Double, var gewicht2: Double, var schwellenwert: Double, var lernrate: Double) { fun labelBerechnen(x1: Double, x2: Double): Int { if (gewicht1 * x1 + gewicht2 * x2 >= schwellenwert) { return 1 } else { return 0 } } fun trainieren(x1: Double, x2: Double, label: Int) { // Label fuer Trainingsdaten berechnen und speichern val berechnetesLabel = labelBerechnen(x1, x2) // Delta berechnen und speichern val delta = label - berechnetesLabel // Lernregel ausfuehren gewicht1 = gewicht1 + delta * lernrate * x1 gewicht2 = gewicht2 + delta * lernrate * x2 schwellenwert = schwellenwert - delta * lernrate } } data class Lebensmittel(val beschriftung: String, val label: Int, val kalorien: Double, val eiweiss: Double) val datensammlung = arrayListOf( Lebensmittel("Erbsen", 1, 37.0, 3.0), Lebensmittel("Gurken", 1, 4.0, 0.0), Lebensmittel("Karotten", 1, 29.0, 1.0), Lebensmittel("Spinat", 1, 12.0, 2.0), Lebensmittel("Tomaten", 1, 16.0, 1.0), Lebensmittel("Apfel", 1, 49.0, 0.0), Lebensmittel("Aprikose", 1, 49.0, 1.0), Lebensmittel("Banane", 1, 70.0, 1.0), Lebensmittel("Wassermelone", 1, 12.0, 0.0), Lebensmittel("Aal", 0, 204.0, 9.0), Lebensmittel("Forelle", 0, 50.0, 10.0), Lebensmittel("Thunfisch", 0, 239.0, 22.0), Lebensmittel("Lachs", 0, 137.0, 13.0), Lebensmittel("Makrele", 0, 124.0, 12.0), Lebensmittel("Ente", 0, 192.0, 15.0), Lebensmittel("Pute", 0, 122.0, 23.0), Lebensmittel("Schwein", 0, 167.0, 18.0), Lebensmittel("Croissant", 0, 280.0, 0.0), Lebensmittel("Donut", 0, 295.0, 3.0), Lebensmittel("Semmel", 0, 276.0, 7.0), Lebensmittel("Toastbrot", 0, 326.0, 10.0), Lebensmittel("Weizenbrot", 0, 235.0, 8.0), Lebensmittel("Ruehrkuchen", 0, 430.0, 6.0), Lebensmittel("Roggenbrot", 0, 243.0, 6.0) )