My Journey with AI: Enhancing Weather Prediction in Charlottesville
As a student at the University of Virginia (UVA), situated in Charlottesville, I've always been intrigued by the capricious nature of local weather. This unpredictability often disrupted campus events and daily activities, inspiring me to apply my skills in computer science to develop a more reliable weather prediction tool. Harnessing the power of artificial intelligence through Tensorflow and Pytorch, I embarked on a project to create a robust system capable of accurately forecasting rain.
Inspiration
The motivation behind this project stemmed from a blend of personal inconvenience caused by unforeseen weather changes and a profound curiosity about machine learning. The fluctuating climate of Charlottesville, characterized by sudden rainfalls, presented a perfect real-world problem for applying AI. This challenge not only had the potential to benefit the UVA community by allowing better event planning and personal scheduling but also served as a practical application of theoretical knowledge.
Learning Curve
Throughout this project, I deepened my understanding of neural networks, particularly focusing on how different architectures and hyperparameters affect model performance. I learned to implement both simple neural networks and more complex deep neural networks, exploring layers, activation functions, and optimization techniques. Tools like Tensorflow and Pytorch were instrumental in modeling, providing extensive libraries and frameworks that facilitated the building and training of neural networks.
Building the Project
The project was structured in several phases:
Data Collection and Preprocessing: I collected historical weather data specific to Charlottesville, including parameters like temperature, humidity, wind speed, and precipitation levels. The data was cleaned and preprocessed to handle missing values and normalize features, making it suitable for neural network models.
Model Development:
- Simple Neural Network (SNN): Using Tensorflow, I designed a simple model with a couple of layers to establish a baseline for prediction accuracy.
- Deep Neural Network (DNN): With Pytorch, I constructed a deeper model with multiple layers, including convolutional layers to better capture the spatial and temporal patterns in weather data.
Training and Evaluation: Both models were trained using the prepared dataset, with performance regularly evaluated against a validation set to monitor overfitting and underfitting.
Optimization: Hyperparameter tuning was performed using techniques like grid search and random search to find the optimal settings for both neural networks.
Challenges Faced
Several challenges emerged during the project:
- Data Quality: The initial dataset contained numerous gaps and inconsistencies, requiring substantial effort in data cleaning and preparation.
- Model Complexity: Balancing the complexity of the deep neural network to avoid overfitting while maintaining sufficient capacity to learn meaningful patterns was particularly challenging.
- Computational Resources: Training deep neural networks required significant computational power, occasionally straining available resources and necessitating efficient management of model training sessions.
Conclusion
This project not only enhanced my practical skills in machine learning and data science but also contributed to a more predictable daily life for the UVA community by providing accurate weather predictions. The experience was a vivid reminder of how computer science can be directly applied to solve practical problems, making a tangible difference in people’s lives.
Log in or sign up for Devpost to join the conversation.