Neurale netwerken trainen met Excel: Een Python Multilayer Perceptron bouwen en valideren
In dit artikel tonen we hoe trainingsdata in Excel te genereren, een multilayer perceptron in Python te trainen en de prestaties te valideren.
Als u een Python neuraal netwerk wilt ontwikkelen, bent u hier aan het juiste adres. Voordat we ingaan op de Excel-gebaseerde datavoorbereiding, overweeg de rest van de reeks hieronder voor fundamentele context:
- Hoe classificatie uit te voeren met een neuraal netwerk: Wat is de Perceptron?
- Hoe een simpele Perceptron-neuraal netwerk voorbeeld te gebruiken om data te classificeren
- Hoe een basale Perceptron-neuraal netwerk te trainen
- Eenvoudige neuraal netwerk training begrijpen
- Inleiding tot trainings theorie voor neurale netwerken
- Leer snelheid in neurale netwerken begrijpen
- Geavanceerde machine learning met de Multilayer Perceptron
- De Sigmoid-activeringsfunctie: Activering in Multilayer Perceptron neurale netwerken
- Hoe een Multilayer Perceptron neuraal netwerk te trainen
- Trainingsformules en Backpropagation voor Multilayer Perceptrons begrijpen
- Neuraal netwerk architectuur voor een Python-implementatie
- Hoe een Multilayer Perceptron neuraal netwerk in Python te maken
- Signaalverwerking met neurale netwerken: Validatie in neuraal netwerk ontwerp
- Trainingsdatasets voor neurale netwerken: Hoe een Python neuraal netwerk te trainen en valideren
Wat is trainingsdata?
In real-world toepassingen bestaan trainingsmonsters uit gemeten invoeren gekoppeld aan bekende doelen die een neuraal netwerk in staat stellen een consistente input-output-afbeelding te leren. Stel u voor dat u een netwerk wilt laten voorspellen van de eetkwaliteit van een tomaat op basis van kleur, vorm en dichtheid. Door duizenden tomaten te verzamelen, hun fysieke attributen te registreren, elk te proeven en de resultaten in een tabel te compileren, creëert u de dataset die het netwerk zal gebruiken om de relatie tussen attributen en kwaliteit te leren.
Elke rij vertegenwoordigt één trainingsmonster met drie invoerkolommen (kleur, vorm, dichtheid) en een enkele doeluitvoerkolom.

Tijdens training zal het neuraal netwerk het onderliggende patroon – indien existent – identificeren tussen de drie invoerwaarden en de uitvoerwaarde.
Trainingsdata kwantificeren
Alle invoeren en uitgangen moeten numeriek zijn. Strings zoals "pruimvormig" of "water mondend" kunnen niet direct in het netwerk gevoerd worden. Kwantisering converteert kwalitatieve beschrijvingen naar numerieke schalen. Vorm kan bijvoorbeeld gecodeerd worden van –1 (perfecte bol) tot +1 (extreem uitgerekt). Eetkwaliteit kan beoordeeld worden op een vijf-punt schaal en vervolgens one-hot gecodeerd in een vijf-element uitvoervector.
Het volgende diagram illustreert one-hot encoding voor een vijf-klasse classificatietaak.

One-hot encoding past goed bij logistische-sigmoid activering, die waarden dichtbij 0 of 1 produceert buiten een smalle overgangszone. Het gebruik van een enkele uitvoerknoop met doelwaarden 0–4 zou het netwerk naar de extremen biaiseren en tot onzinvoorspellingen leiden.

Een trainingsdataset maken
De Python neuraal netwerk uit deel 12 importeert monsters uit een Excel-bestand. De hier gebruikde data zijn als volgt gerangschikt:

Omdat onze Perceptron-implementatie slechts een enkele uitvoerknoop ondersteunt, voeren we een binaire classificatie uit. De invoerwaarden zijn willekeurige getallen tussen –5 en +5, gegenereerd met deze Excel-formule:
=RANDBETWEEN(-10, 10)/2
De uitvoer wordt afgeleid van de volgende regel:
=IF(AND(A2>0, B2>0, C2<0), 1, 0)
Dus leert het netwerk dat een monster gelabeld 1 is alleen wanneer input_0 > 0, input_1 > 0, en input_2 < 0; anders ontvangt het een 0.
Voor dit simpele probleem zijn 5.000 willekeurig gegenereerde monsters en een enkele epoch voldoende om hoge classificatienauwkeurigheid te bereiken.
Het netwerk trainen
Configureer het netwerk met een invoer-dimensionaliteit van drie (I_dim = 3), vier verborgen knooppunten (H_dim = 4), en een leersnelheid van 0.1 (LR = 0.1). Vervang de training_data = pandas.read_excel(...) regel door het pad naar uw spreadsheet. Als u geen Excel heeft, kan Pandas ook ODS-bestanden lezen.
Het draaien van het trainingscript op een 2,5 GHz Windows laptop met 5.000 monsters duurt slechts enkele seconden. Als u het volledige MLP_v1.py script gebruikt, start validatie automatisch na training.
Het netwerk valideren
Validatie vereist een tweede spreadsheet gegenereerd met dezelfde formules. Importeer deze data op dezelfde manier als de trainingsdata:

Het volgende snippet demonstreert een eenvoudige validatieroutine:
# Feed-forward om post-activeringswaarde te verkrijgen output = sigmoid(np.dot(W_out, hidden_output)) # Drempel toepassen om binaire voorspelling te verkrijgen prediction = 1 if output > 0.5 else 0 # Vergelijken met doel en correcte voorspellingen accumuleren
Classificatienauwkeurigheid wordt berekend door het aantal correcte voorspellingen te delen door het totale aantal validatiemonsters.
Als np.random.seed(1) weggelaten wordt, zal gewichtsinitialisatie variëren tussen runs, wat de nauwkeurigheid doet fluctueren. Over 15 runs met de gespecificeerde parameters (5.000 trainingsmonsters, 1.000 validatiemonsters) dao nauwkeurigheid van 88,5% tot 98,1%, met een gemiddelde van 94,4%.
Conclusie
We hebben kernconcepten achter neuraal netwerk trainingsdata verkend, een Python multilayer Perceptron geïmplementeerd en de prestaties geëvalueerd met Excel-gegenereerde datasets. De reeks is aanzienlijk gevorderd sinds de start, en nog veel meer geavanceerde onderwerpen wachten in toekomstige artikelen.
Industriële robot
- Verhoog uw expertise met BECKER's expert vacuümpomp training
- Lokale Minima in Neuraal Netwerk Training: Myth of Realiteit?
- Verborgen laag grootte optimaliseren voor betere neuraal netwerk nauwkeurigheid
- Het juiste aantal verborgen lagen en knooppunten kiezen in een neuraal netwerk
- Neurale netwerken valideren voor betrouwbare signaalverwerking
- Versnel Robotlas Training: Tijd Winst, Efficiëntie Boost
- Innatera Onthult Eerste Neuromorfe AI-chips voor Ultra-Lage-Vermogen Edge-toepassingen
- 5G's Top Vijf Uitdagingen: Spectrum, Kosten, Dekking, Apparaten en Beveiliging Navigeren
- Implementeren En Beheren Van Draadloze Sensornetwerken In Het Bedrijf
- Gratis VHDL-simulator & editor setup: Een studentengids
- Huidige datum en tijd ophalen in Python: een praktische gids