technologie en recht Flashcards
Aan welke vereisten moet een algoritme voor ingenieurs en informatici voldoen?
1) correctheid: het algoritme moet correct zijn, d.w.z. de juiste uitvoer (output) geven voor een gegeven geldige invoer (input);
2) eindigheid: het algoritme moet in een eindige tijd stoppen met een zinnig antwoord;
3) uitvoeringssnelheid: dit geeft aan hoe snel het algoritme het gewenste antwoord berekent (vaak in functie van de grootte van het probleem, bv. de tijd nodig om n getallen te sorteren in functie van het aantal getallen n);
4) robuustheid: kan het algoritme overweg met alle mogelijke vormen van invoer, zelfs onverwachte of foutieve invoer (bv. als men een negatief getal of iets dat geen getal is ingeeft in een programma om de vierkantswortel te berekenen)?;
5) elegantie: is het algoritme (de computercode) makkelijk leesbaar en begrijpbaar voor de programmeurs?
Deterministische algoritmes
deze algoritmes produceren voor een gegeven invoer steeds dezelfde uitvoer, waarbij het algoritme steeds dezelfde sequentie van stappen doorloopt. Een voorbeeld is bovenstaand algoritme van Euclides om de grootste gemeenschappelijke deler van twee gehele getallen te berekenen.
Probabilistische of stochastische algoritmes:
algoritmes die, zelfs voor dezelfde invoer, een verschillende uitkomst kunnen genereren, vaak afhankelijk van een willekeurig (random) proces dat bewust in het algoritme gebruikt wordt. Een voorbeeld is een algoritme voor het oplossen van een optimalisatieprobleem dat vertrekt vanuit een willekeurig startpunt of dat op willekeurige (random) wijze opeenvolgende stappen genereert om het optimum te zoeken. Hierdoor kunnen opeenvolgende uitvoeringen van het algoritme tot verschillende oplossingen leiden. Vaak worden dergelijke niet-deterministische algoritmes gebruikt om een goede benaderende oplossing te bekomen wanneer de rekentijd om de exacte oplossing (bv. het exacte optimum) m.b.v. deterministische algoritmes te berekenen veel te lang zou duren. In de praktijk is een goede benaderende oplossing immers vaak voldoende.
Slimme algoritmes
of machinaal leren (ML): dit zijn algoritmes die zichzelf automatisch verbeteren op basis van vroegere ervaringen. Hoe meer het algoritme traint en dus leert met nieuwe data, hoe beter (meestal toch) het algoritme wordt. Hiertoe bouwt het algoritme intern een soort model van het probleem op op basis van de trainingsdata, en vervolgens gebruikt het dat model om de uitkomst te bepalen voor nieuwe invoer. Machinaal leren behoort tot het domein van de kunstmatige of artificiële intelligentie
Vanuit juridisch standpunt kunnen we volgende soorten gebreken in software onderscheiden
Technische gebreken: dit wil zeggen het niet of niet goed functioneren van software zonder dat aan het gebrek een gebruikershandeling ten grondslag ligt. Een voorbeeld hiervan is het vastlopen van de computer door een softwarefout of door rekenfouten.
Functionele gebreken: de software functioneert technisch wel, maar doet functioneel niet wat de gebruiker daarvan verwachtte. De uitkomsten van het systeem zijn voor de gebruiker bijvoorbeeld niet bruikbaar (genoeg), bv. voldoen ze niet aan wettelijke vereisten.
Belevingsgebreken: de software functioneert technisch en functioneel goed, maar de gebruiker had daar andere verwachtingen van. Deze belevingsgebreken zijn soms terug te voeren op interpretatieverschillen ten aanzien van de overeengekomen specificaties. Een afnemer kan de software bijvoorbeeld niet gebruiksvriendelijk vinden. De beleving kan ook de uitleg van het afgesloten contract betreffen, bv. als de leverancier de werkende software niet verder ontwikkelt.
propriëtaire software vs opensourcesoftware
propriëtaire software
= die eigendom is van de leverancier (bv. de Microsoft Office toolsuite). De gebruiker koopt slechts een gelimiteerde gebruikslicentie, krijgt daarbij geen toegang tot de broncode en kan de software niet wijzigen of de wijzigingen verspreiden. Het pakket zelf is met andere woorden onveranderbaar voor de gebruiker. De leverancier is de enige die inzage heeft in de software en die wijzigingen kan en mag aanbrengen. Bugs mogen door gebruikers gerapporteerd worden, maar dienen door de leverancier opgelost te worden in een update of latere versie van de software.
opensourcesoftware=
wordt ook de broncode (source code) van de software vrijgegeven en krijgt de gebruiker vaak de licentie om naast gebruiker ook ontwikkelaar te zijn[8]. Voorbeelden zijn de Apache webserver, de Mozilla Firefox browser of de Mozilla Thunderbird e-mailclient. De beschikbaarheid van de broncode geeft gebruikers de mogelijkheid om de software te bestuderen, aan te passen, te verbeteren, te verspreiden of te verkopen. De ontwikkeling van opensourcesoftware komt vaak tot stand op publieke en gemeenschappelijke wijze, door samenwerking binnen een ‘community’ van zowel individuele programmeurs als overheden en bedrijven. Opensourcesoftware voorkomt vendor lock-in bij één enkele softwarefabricant
Algemeen kunnen cookies verschillende functies hebben
Noodzakelijke cookies: deze zijn vereist voor goede communicatie met en navigatie op de bezochte website;
Functionele cookies: deze vereenvoudigen het (toekomstig) bezoek van de bezoeker op de website en verbeteren de gebruikerservaring (bv. de keuze van de taal);
Performantiecookies: deze verzamelen informatie (bv. het aantal bezoekers, populaire pagina’s of kliks, enz.), wat de eigenaar van de website toelaat om de inhoud van de website te beoordelen en te verbeteren. De eigenaar kan dit ook gebruiken voor commerciële doeleinden, bv. de gebruiker producten aanbieden afhankelijk van wat je online bezoekt of opzoekt.
Advertentiecookies: deze verzamelen profielgegevens en kunnen ook geplaatst of gelezen worden door derde partijen waarmee de website-eigenaar een overeenkomst heeft (bv. om de efficiëntie van webadvertenties te meten of om de voorkeuren van gebruikers van de website te achterhalen, enz., maar het geeft de derde partij wel toegang tot gegevens via de website van de eerste partij).
cookie
en stukje software dat de server van een website die je met je browser bezoekt op je computer of mobiel toestel (bv. smartphone) plaatst. Het kan instellingen onthouden (bv. je paswoord, je bezochte pagina’s, enz.), maar het kan ook andere informatie bijhouden.
Noodzakelijke cookies: deze zijn vereist voor goede communicatie met en navigatie op de bezochte website;
Functionele cookies: deze vereenvoudigen het (toekomstig) bezoek van de bezoeker op de website en verbeteren de gebruikerservaring (bv. de keuze van de taal);
Performantiecookies: deze verzamelen informatie (bv. het aantal bezoekers, populaire pagina’s of kliks, enz.), wat de eigenaar van de website toelaat om de inhoud van de website te beoordelen en te verbeteren. De eigenaar kan dit ook gebruiken voor commerciële doeleinden, bv. de gebruiker producten aanbieden afhankelijk van wat je online bezoekt of opzoekt.
Advertentiecookies: deze verzamelen profielgegevens en kunnen ook geplaatst of gelezen worden door derde partijen waarmee de website-eigenaar een overeenkomst heeft (bv. om de efficiëntie van webadvertenties te meten of om de voorkeuren van gebruikers van de website te achterhalen, enz., maar het geeft de derde partij wel toegang tot gegevens via de website van de eerste partij).
Wat is de “cloud”?
De “cloud” is dus een groot netwerk van vele apparaten en (bedrade en draadloze) verbindingen die wereldwijd met elkaar geconnecteerd zijn.
verschillende vormen of lagen (Engels: layers) van cloudcomputing
cloudapplicaties: bieden software als een dienst aan (Software as a Service - SaaS):
cloudplatforms: bieden een platform als een dienst aan (Platform as a Service - PaaS):
cloudinfrastructuur: bieden infrastructuur als een dienst aan (Infrastructure as a Service - IaaS):
Afhankelijk van wie toegang krijgt tot de gegevens, de softwareapplicaties of de hardwareapparaten in de cloud, onderscheidt men volgende types van cloud[
publieke cloud:
private cloud:
gemeenschappelijke cloud:
hybride cloud:
De architectuur van het internet der dingen
In de onderste laag, de ‘apparatenlaag’ (Engels: device layer) bevinden zich met objecten uitgeruste sensoren die data waarnemen en doorgeven.
In de ‘netwerklaag’ (Engels: network services layer) bevindt zich de techniek die zorgt voor het veilige en snelle transport van de data, veelal naar de cloud.
In de cloud worden data opgeslagen en geanalyseerd ten behoeve van ‘applicatie-ondersteuning’.
De bovenste laag tenslotte representeert de ‘applicatielaag’ (Engels: application services layer), waarin de geanalyseerde data worden teruggekoppeld naar de gebruiker en/of (automatisch) wordt omgezet in meldingen of acties.
De 3 V’s: Volume, Variety en Velocity
Volume (hoeveelheid)
Bij Big Data gaat het om grote hoeveelheden gegevens. Verscheidene definities nemen daarom de hoeveelheid data als uitgangspunt bij het bepalen van wat geldt als Big Data.
Variety (verscheidenheid)
Niet alleen het volume van data is van belang voor de mogelijkheden van (analyse van) Big Data, maar ook de variëteit van de bronnen ervan.
Velocity (snelheid)
Big Data wordt ten slotte gekenmerkt door de dynamische aard van het proces waarmee de data worden gegenereerd en geanalyseerd.
Geef een omschrijving van de notie “Big Data”. Wat zijn de voornaamste kenmerken van “Big Data” en leg i.h.b. uit wat we begrijpen onder de “3 V’s”. Wat zijn belangrijke verschillen tussen Big Data-analyse en traditionele data-analyse? Waarom moeten we voorzichtig zijn als we beslissingen willen baseren op statistische verbanden die werden afgeleid uit data-gedreven analyses?
Naast de 3 V’s wordt een veelvoud aan andere kenmerken aan Big Data verbonden
Data-gedreven analyse
Het doel van de data-gedreven analyse is het vinden van relevante patronen en verbanden in datasets. Hiertoe worden algoritmes gebruikt die niet beperkt worden door specifieke hypotheses. Deze algoritmes testen grote hoeveelheden verbanden en proberen op deze wijze relevante informatie uit de data te destilleren.
Oriëntatie op correlatie
ata-gedreven analyses zich richten op het vinden van statistische verbanden (correlaties), die niet per definitie causaal van aard zijn. Causaliteit betekent dat A de oorzaak is van B, terwijl een correlatie slechts indiceert dat A en B in samenhang voorkomen.
Beschrijf de samenhang tussen Big Data, IoT en AI.
De drie technologieën vertonen een grote mate van samenhang. Het Internet of Things (IoT) ziet op de ontwikkeling waarbij steeds meer ‘alledaagse’ apparaten met het Internet verbonden raken. Dergelijke apparaten kunnen data waarnemen en doorgeven en dragen zo bij aan een vergaande digitalisering van de fysieke wereld. Deze digitalisering heeft een enorme toename van data tot gevolg. Overheden en bedrijven zijn steeds beter in staat om relevante informatie uit grote hoeveelheden aan gevarieerde, veelal real-time data te destilleren en deze informatie te gebruiken ten behoeve van (automatische) besluitvorming. Dit wordt aangeduid als het Big Data-proces. Kunstmatige Intelligentie (KI) richt zich op computers die intelligentie kunnen nabootsen. KI kan voorzien in de technologische handvatten waarmee complexe data-analyses kunnen worden uitgevoerd. Daarmee kan KI van belang zijn voor Big Data-processen en bij het verwerken van data die door met het Internet verbonden apparaten zijn verzameld. De drie technologieën hebben daarnaast gemeenschappelijk dat algoritmes een cruciale technologische bouwsteen vormen in hun functioneren.
De samenkomst van de drie algoritme-gedreven technologische ontwikkelingen kan een grote invloed hebben op het leven van mensen en daarmee op de uitoefening van fundamentele rechten. Dit is vooral zo door de enorme hoeveelheid aan concrete toepassingen. Van de gezondheidszorg en de opsporing van strafbare feiten tot de financiële sector en de ruimtelijke leefomgeving; er is geen domein immuun voor de veranderingen die plaatsvinden onder invloed van Big Data, het IoT en KI, en vooral ook door de invloed van de algoritmes die deze technologieën samenbrengen.
Wat zijn de verschillende stappen in een proces van Big Data-analyse en verlopen deze fases altijd chronologisch na elkaar? Wat verstaan we onder datamining, en onder profilering? Bespreek vier verschillende datamining-algoritmes, die ieder andere correlaties opsporen, en geef telkens een voorbeeld van hoe dergelijk algoritme in de praktijk kan worden ingezet. De aanbevelingstechnieken van Amazon en Netflix (“als u dit interessant vindt, bent u mogelijk ook geïnteresseerd in…”) werken op basis van … algoritmes (vul aan). Wat is het onderscheid tussen groepsprofielen en persoonsprofielen? Naast datamining en profilering bestaat een reeks andere technieken die worden ingezet voor Big Data-analyse. Noem er drie en geef aan wat we ermee kunnen doen. Met welke techniek kunnen bedrijven of organisaties “online sociale grafieken” opstellen (= de weergave van relaties tussen gebruikers van bv. Facebook), en op die manier achterhalen met wie we het meest contact hebben of wie ons het meest beïnvloedt?
De werking van het Big Data-proces
De werking van het Big Data-proces
verzameling en voorbereiding, analyse en gebruik.
verschillende datamining-algoritmes
classificatie-, cluster-, regressie- en associatietechnieken
profiling
Een persoonsprofiel bestaat uit een verzameling van eigenschappen (ook wel ‘attributen’) van een persoon.
Een groepsprofiel bestaat uit een verzameling attributen van een groep personen.
Bij een zogeheten distributieve groep zijn de attributen van de groep aanwezig bij alle personen die zich in de groep bevinden. niet-distributief karakter. Dit betekent dat de voor de groep geldende attributen niet noodzakelijkerwijs voor alle individuen in de groep gelden.
voorspellende en beschrijvende analyses:
Voorspellende
Deze analyses vinden plaats in twee stappen. Eerst wordt een algoritme ‘getraind’ door het bloot te stellen aan een reeks geclassificeerde voorbeelden. Deze ‘oefendata’ kunnen bijvoorbeeld bestaan uit gegevens over personen, waarvan enkele geclassificeerd zijn als terrorist. Vervolgens wordt het algoritme losgelaten op een nieuwe set aan data en is het in staat om op basis van correlaties en vergelijkbaarheid met de voorbeelden, nieuwe gevallen te classificeren.
Beschrijvende
Beschrijvende datamining en profilering richten zich op het verschaffen van een beter begrip van de data en het ontdekken van verbanden binnen een dataset. Hiervoor worden vooral cluster- en associatietechnieken ingezet.
Predictive policing
het voorspellen van crimineel en normoverschrijdend gedrag door middel van grootschalige verzameling, verwerking en analyse van data.Voorspellende data-analyse wordt hierbij ingezet ter ondersteuning van de opsporing.
richt zich op het voorspellen van criminele activiteiten, mogelijke daders en/of mogelijke slachtoffers.
Webcrawling
een toepassing van datamining waarbij het Internet methodisch en automatisch kan worden doorzocht op verdacht materiaal.
De advertenties die op sociale media en via zoekmachines worden getoond zijn vormen van
behavioural targeting