 Hello everyone. Today I'm going to be showing this brain-based login demo and I'm not using I don't have the actual device I just have this this brainwave data that we've been training on using an SVM or creating an SVM from But I made this interface basically a web web-based interface for us to replay some of the data that we've Some of the brainwave data basically from from different people So what I have here just a really quick explanation first off a place to enter your username and the username is well, basically used to Help with the authentication process. So first off if we are using for example a multi-class SVM Then we're using a username to make sure that whatever we predict is actually Is actually what the username should be Right and in this in the one-class SVM. We're using the username to load the one-class model. So Really what we could do we could I was thinking about adding another example Where we're just using a multi-class SVM to log in as a user without Entering a username. You just detect who the user is based on their brainwave patterns and that actually works But in this case the username kind of acts as another layer Of check essentially so you have to know the username and you have to have the actual brainwave data With the one-class so let me let me just explain here right now this multi-class SVM I have two users one. I call G1 one. I'll call G2 t1 and This data was shared by the group I forget which folder it was in but I just renamed it to G1 and t1 basically And I have a bunch of training I basically combined all of the different brainwave data from both G1 and t1 and Made test sets and then I pulled out of those tests Sorry, I made training sets. I pulled out of the training sets These two test sets so basically smaller versions single instances Each of them are yeah, I'm just tests. Let me see if I can actually find an example of it What was it called so I'm looking at G1 G1 test scale so Yeah, I only have the scaled data here, but basically the scaled data looks like this so it's scaled between essentially negative one and one so we collected the data directly from the Emotive brainwave device then I put it in the kind of SVM format Then I scaled that data and then I trained the model On the multi-class model I combined the t1 data and the G1 data training data And I made basically t1 to return as a predicted value of one or predicts a class of one and G1 predicts a class of two So t1 predicts a class of one G1 predicts a class of two and then I have this these samples from G1 and t1 From basically the G data set and the t data set that were not included in the training data Okay, so with the multi-class SVM we're basically using the brainwave data to classify who this person who this user is And basically the way this works is you enter your username. So let's say the username is Meteor Okay, so I can just type in Meteor and then If you click on not train one then it uses the the brainwave data from one sample We basically one sample of brainwave data that was not included in the training data Okay, so whenever you click it the SVM is now classifying all of that data And then we'll eventually hopefully get some data out or Well, not data out. We will actually log in based on whatever is returned So it's gonna take a while you can see that it's working right now because it's currently doing the classification of all of this not train one data set, right? So Yeah, right now it does take a while So hopefully that will go Okay, yeah, so you say success logged in as user Meteor with brainwave data So we have the user media Meteor and we have the brainwave data. So we classified it properly So let's try that again if we do instead of Meteor right now I have two users Meteor and Roomba if I type in Roomba, sorry If I type in any any random name, it will just fail so if I type in Roomba and Then I click on let's say that one of the Meteor training sets Again, it's gonna take a while to to classify everything But instead of successfully logging in it will fail because the SVM especially for the multiclass actually performs really really well In terms of classifying the brainwave data that we have I should say that the brainwave data that I collected I focused on basically beta high and beta low and All of the the channels that we had so all of the basically beta high beta low on each channel and I just classified them all Okay, so we typed in Roomba. So we were trying with Roomba, but this training data was classified Using the SVM as Meteor, right? So basically we can say it's detected. Okay, so In this case, we're using the same model whether we're For it for basically every user. So every user Every user's information is added to the model and then we can classify the users using a single model Now, of course, if you have a lot of users, that's gonna be a Potentially a problem because I'm not sure how well an SVM would work if you were trying to classify, you know Thousands of people. So what I think we needed to use instead is a one-class SVM for each User and a one-class SVM Basically, I'm trying to say okay. Is this user Meteor? Yes or no Is this user Roomba? Yes or no, right? So one class we either get a class value of one, which means yes basically or negative one Which means no basically. Okay, so if I give Roomba's data or any other random data to the Meteor Model Then it should get a negative one, right? But if I give Meteor's data to a Meteor model, it should get a positive one, okay? And both of these are working. So again, if I do let's say let's change it up a little bit if I do Meteor user so Meteor user and I'm using the Roomba data Then that means that I'm gonna load the Meteor model and I'm gonna compare it or I'm gonna classify using Sorry, sorry if I type in Meteor Yes, then I'm going to load the Meteor model because it gets the The model from the username that you type in and then I'm gonna feed it Roomba data Right, so this is like the Roomba user putting on the headset, but they type in the Meteor username so if we try that and At first I had a little bit of problem classification Classifying with one class SVM's they just didn't really have very good performance. I Lowered the Sorry, that was my calendar. I lowered the The new value, okay, so here we we tried to log in as Meteor, but other data was detected So using the one class SVM I had not very good performance until I lowered the new value and then I started to get really good performance I'm basically once I do a bunch of classification over all the data. I start to Average the data. So that's it. I'm gonna push this to Github and we'll talk a little bit more about it in a second. Thanks