== Neural Networks For Feature Analysis === Introductions '''Mayank Barad'''[[BR]]Rising Senior in Computer Engineering and Computer Science '''Daksh Khetarpaul'''[[BR]]Rising Junior in Computer Engineering '''Katherine Lew'''[[BR]]Rising Sophomore in Finance and Computer Scienc [[span(style=color: #A50000, '''Advisors''')]] - Dr Richard Howard, Dr Richard Martin === Project Description Neural networks have a long history of being used for classification, and more recently content generation, Example classifiers including, image classification between dogs and cats, text sentiment classification. Example generative networks include those for human faces, images, and text. Rather than classification or generation, this work explores using networks for feature analysis. Intuitively, features are the high level patterns that distinguish data, such as text and images, into different classes. Our goal is to explore bee motion datasets to qualitatively measure the ease or difficulty of reverse-engineering the features found by the neural networks. === Week 1 * Understanding the purpose of the project * Setting up Github and iLab accounts * Getting familiar with Neural Networks === Week 2 * Visited the beehive to observe the behavior of real bees * Made a prototype simulator with pygame - Rejected(pretty obvious reasons) * Integrated "Power Law" for a more natural bee motion [[Image(unnamed.jpg, width=200, height=200)]] First Prototype -> [[Image(jitterbug.mov, width=200, height=200)]] Applying "Power Law" -> [[Image(powerbee2.mov, width=200, height=200)]] === Week 3 * **Randomness Function:**We programmed a function that allows the user to adjust the degree of randomness of synthetic bee motion along a spectrum. 0.0 represents the "bee" moving in a completely random motion, and 1.0 represents the "bee" moving via a distinct non-random pattern like a clockwise circle. * **Train model: **We used the randomness function to trained the machine learning model (AlexNet adjacent) to try to detect the difference between the random and non-random behavioral patterns. The model outputted a confusion matrix and an accuracy of 0.798 in identifying randomness. * **Shannon's Entropy: **We researched Shannon's Entropy Function as a measure of the model's accuracy and created a program that automates the calculation of the joint entropy of two discrete random variables within the random system (e.g angle and distance) [[Image(0.0.mov, width=200, height=200)]] [[Image(0.1.mov, width=200, height=200)]] [[Image(0.3.mov, width=200, height=200)]] [[Image(0.9.mov, width=200, height=200)]] [[Image(Screen Shot 2023-07-19 at 11.40.37 AM.png​, width=120, height=100)]] [[Image(Screen Shot 2023-07-19 at 10.44.07 AM.png, width=400, height=125)]] [[Image(Screen Shot 2023-07-19 at 10.46.33 AM.png​]] === Week 4 * **Validate results:** We discovered that there was a mistake in our training data, so last week's training results were null. There was a bias in the input data, and irrelevant learning happened. * **Retrain model** We retrained the machine learning model using simpler test cases, like the black-white frame test. With simple black and white classes, our model obtained 100% accuracy. With more complicated classes, our model obtained 98% accuracy. * **Reformat tar files ** === Week 5