Künstliche neuronale Netzwerke in SQL Server einsetzen I

Smarte Datenbanken - Teil 1

Das Thema Künstliche Intelligenz ist zurzeit dermaßen spannend, dass Spiegel Online ihm sogar eine eigene Rubrik widmet. Insbesondere im Bereich Maschinelles Lernen (ML) feiern namhafte Unternehmen außergewöhnliche Erfolge.

Dabei kommen i.d.R. künstliche neuronale Netzwerke zum Einsatz, die eine Auswertung großer Mengen komplexer und ungenauer Eingangsdaten ermöglichen. Typische Anwendungsszenarien sind die Bild- und Spracherkennung, semantische Textanalyse, Voraussage von zeitlichen Entwicklungen, Bildung von Handlungsstrategien und vieles mehr. Besonders aufsehenerregende Meilensteine: DeepBlue schlägt den Schachweltmeister (bereits 1997), Watson gewinnt Jeopardy (2011) und AlphaGo dominiert das Go-Spiel (2016).

Wenn Sie sich für die Hintergründe interessieren: Eine kurze aber gut gemachte Einführung in neuronale Netzwerke und ihre gegenwärtigen Fähigkeiten finden Sie bei Heise (Netzgespinste).

Beispiellösung

In diesem Artikel zeige ich anhand eines einfachen Beispiels, wie Sie ein neuronales Netz erstellen und in SQL Server einsetzen können. Dazu benutze ich Daten aus dem frei verfügbaren Paket MASS (Modern Applied Statistics with S); es handelt sich um Gewebebiopsie-Daten, die aus der Untersuchung des Tumorgewebes von Brustkrebspatientinnen gewonnen wurden. Das fertiggestellte neuronale Netz soll in der Lage sein, anhand neuer Beobachtungen die Diagnose gutartig (engl.: benign) oder bösartig (engl.: malignant) zu stellen.

Als Entwicklungsumgebung kommt Microsoft R Client kombiniert mit RStudio zum Einsatz. Microsoft R Client enthält mit MicrosoftML die wesentliche Komponente für lernfähige Algorithmen. Das Gesamtsystem basiert damit auf dem Framework R, das sich für statistische Berechnungen allgemein durchgesetzt hat.

Als Datenbank-Server kommt aktuell ausschließlich der SQL Server 2017 (oder die vNext genannte Vorversion) in Frage, der erstmalig R-Skripte unterstützt.

Einen ausführlichen Artikel zum Thema habe ich in der dotnetpro 10/2017 veröffentlicht.

  1. Installieren Sie zunächst SQL Server 2017 (eine Testversion gibt es im Microsoft Evaluation Center). Stellen Sie dabei sicher, dass die Machine-Learning-Dienste (datenbankintern) – in Vorversionen auch SQL Server R Services genannt – inklusive R aktiviert sind (Abbildung 1).

Abbildung 1: Auswahl der Machine-Learning-Dienste mit R

  1. Installieren Sie das SQL Server Management Studio in der neuesten Version.
  2. Erlauben Sie in SQL Server die Ausführung externer Skripte. Dies geht mit folgenden SQL-Befehlen:EXEC sp_configure ‘external scripts enabled’, 1 RECONFIGURE WITH OVERRIDE
  3. Starten Sie die SQL-Server-Instanz neu.
  4. Legen Sie für die späteren Aufgaben eine einfache Datenbank an (siehe Listing 1).
  1. Installieren Sie Microsoft R Client (Download). Per Standardeinstellung sammelt der R Client Daten über Ihr Nutzerverhalten; dies können Sie abstellen, indem Sie die mitgelieferte R Console (zu finden unter C:\Program Files\Microsoft\R Client\R_SERVER\bin\x64\RGui.exe) mit Administratorrechten starten und den Befehl rxPrivacyControl(FALSE) ausführen.
  2. Installieren Sie RStudio Desktop. Nach dem Start sollte sich Microsoft R Open melden (Abbildung 2).

Abbildung 2: Die Textausgabe von RStudio mit geladenem Microsoft R Open 3.3.2

Damit sind alle Voraussetzungen geschaffen, um in Teil 2 dieses Artikels ein neuronales Netzwerk zu erzeugen.


Artikelserie "Smarte Datenbank"

Jetzt teilen: