Bike Sharing Prediction using Deep Neural Networks

In this paper, we will use deep neural networks for predicting the bike sharing usage based on previous years usage data. We will use because deep neural nets for getting higher accuracy. Deep neural nets are quite different from other machine learning techniques; here we can add many numbers of hidden layers to improve the accuracy of our prediction and the model can be trained in the way we want such that we can achieve the results we want. Nowadays many AI experts will say that deep learning is the best AI technique available now and we can achieve some unbelievable results using this technique. Now we will use that technique to predict bike sharing usage of a rental company to make sure they can take good business decisions based on previous years data.


I. INTRODUCTION
Artificial Intelligence has been everyone's dream from decades, but we are not able to reach that stage due to lack of computation power and data, but today in the present world environment where the internet is playing a key role we are generating a lot of data and processors which can do complex tasks has been developed and in future we can see quantum computers too, so with these emerging trends and technologies AI has come into limelight and it has been used (or) implemented in various domains and the best present AI available is MachineLearning.It is quite the reverse way of traditional programming practice, normally we will try to tell the program how it needs to implement calculations and functions to get the required outcome, but here we will develop a model to which we will give original data as input and we will allow it to take decisions.Here we can tell the machine what we want to do with the data (or) we will allow the machine to take decisions itself.And there are 3 types of learning methods 1) Supervised Learning: Here model will do what we want it to do.We will clearly specify the input variables, data types and what type of operations to be done.We will specify the model, what we are expecting as output from the system.This is a sort of normal way of programming style.

2)
Unsupervised Learning: This is the most useful and unorthodox way of machine Learning, here we won't specify the model what to be done clearly (or) what we are expecting as output, here pure raw data will be given as input and model will decide itself of what to be done with data, this can be possible only with intelligent way of programming since here some decisions has to be solely taken by model itself.This is the most required one too because the data generated these days is mostly unstructured and its almost impossible for humans to label these huge datasets.

3)
Reinforcement Learning: this is one of the places huge amount of development has been going on, mainly in automated chat bots and game bots, where a move will be taken by the model and depending upon the result of that move next step will be taken and the previous move will be learned by the model and it will use that knowledge in next attempts.
Eg: Google Alpha go, IBM Watson.Neural networks are built using smaller units called neurons (or) perceptrons which will work like neurons in our brain and thus named neural nets and just they will do some calculation and data they got and will pass the output of that operation to other.Deep Learning is a type of Deep Neural Networks.This enlightening dataset [10] is used as the commitment to figure the direct relapse [2], [31], [32] and Pearson [11], [15], [19], [21], [27], [29].In the present days, there are colossal measures of data recorded by the banks and examining them requires complex estimations.A few machine learning calculations [1], [3], [4], [5], [6], [7], [8], [9], [45], assumes an imperative part in settling on an astute choice to anticipate the bicycle sharing data.We played out the item metric examination on the given instructive gathering.From the data examination [13], [14], [17], [22], [23], [25] we can pick which property can be viewed as and which quality can be disregarded.For instance, in the Pearson procedure if the estimation of r is more than 0.5 then the attributes are thought to be immovably related and if it is underneath 0.3 the characteristics are insufficiently related.A part of the past procedures to appraise the decisions in perspective of their relationship of value are Spearman [6], Analytical Hierarchical Process (AHP) [12], [18], [20] and Traveling Salesman Problem (TSP) [43].The sensitive information's among various substances [24], [26], [33], [35], [37], [29], [31] among the bank stock model are dealt with by late secured strategies [28], [30], [34], [36], [38], [40], [42], [44].. Perceptron: Data is fed into a network of interconnected nodes.These individual nodes are called perceptron's or neurons, and they are the basic unit of a neural network.Each one looks at input data and decides how to categorize that data.In the example above, the input either passes a threshold for grades and test scores or doesn't and so the two categories are: yes (passed the threshold) and no (didn't pass the threshold).These categories then combine to form a decision.
We will multiply the data coming into perceptrons with some value called weights.When input data comes into a perceptron, it gets multiplied by a weight value that is assigned to this particular input.For example, the perceptron having two inputs will have two individual weights for each input, so it has two associated weights that can be adjusted individually.These weights start out as random values, and as the neural network learns more about what kind of input data leads to a student being accepted into a university, the network adjusts the weights based on any errors in categorization that the previous weights resulted in.This is called training the neural network.
A higher weight means the neural network considers that input more important than other inputs, and lower weight means that the data is considered less important.Now a bike sharing company's previous data will be taken to find out what business decisions needed to be taken in future by applying Deep neural nets The process of building neural network can be called as model building also.We will build our model in small steps to make sure everything is going well.Technically two important processes are needed to be implemented.
1) Forward pass: multiplying weights with input data and adding those products together with bias and passing that output to next neuron.
2) Backward pass: in this phase, we will calculate the error and then we will backpropagate the error to update the weights.

1) Load and prepare data
This dataset has the number of riders for each hour of each day from January 1, 2011, to December 31, 2012.The number of riders is split between casual and registered, summed up in the cnt column.You can see the first few rows of the data above.Below is a plot showing the number of bike riders over the first 10 days in the data set.You can see the hourly rentals here.This data is pretty complicated!The weekends have lower overall ridership and there are spikes when people are biking to and from work during the week.Looking at the data above, we also have information about temperature, humidity, and wind speed, all of this likely affecting the number of riders.Dummy variables Here we have some categorical variables like season, weather, and month.To include these in our model, we'll need to make binary dummy variables.This is simple to do with Pandas using a function called get_dummies().We'll save the last 21 days of the data to use as a test set after we've trained the network.We'll use this set to make predictions and compare them with the actual number of riders.We'll split the data into two sets, one for training and one for validating as the network is being trained.Since this is time series data, we'll train on historical data, then try to predict on future data (the validation set).

5)
Building Neural net The network has two layers, a hidden layer, and an output layer.The hidden layer will use the sigmoid function for activations.The output layer has only one node and is used for the regression, the output of the node is the same as the input of the node.That is, the activation function is f(x)=x.A function that takes the input signal and generates an output signal, but takes into account the threshold, is called an activation function.We work through each layer of our network calculating the outputs for each neuron.All of the outputs from one layer become inputs to the neurons on the next layer.This process is called forward propagation.We use the weights to propagate signals forward from the input to the output layers in a neural network.We use the weights to also propagate error backward from the output back into the network to update our weights.This is called back propagation.

Gradient Descent formula:
Error calculation for finding out the difference between predicted and original output.A common metric is the sum of the squared errors (SSE).Now we will train the network using training data and we will test using testing data.
After training: Comparison between original and predicted data Now we will compare our result with original data to check how far we predicted correctly.Validation accuracy on testing data.

IV. CONCLUSION
In this solution, we have used deep neural nets instead of general neural nets (or) single layer algorithms such that hidden layers can be added in between input and output layers so that the network can identify relations between the data and can properly update the weights of respective features.Although sometimes the improvement in accuracy cannot vary much from general techniques, but when model is properly trained with proper training data and best number of hidden layers then we can achieve much better results, in this business problem with only one hidden layer we clearly achieved an accuracy of approx 70%, which is very good considering the type of business problem.encewe can see that by using deep neural nets we almost got 80% accuracy, which is very good for this sort of business problem.

TABLE I .
DATASET PART-1

TABLE III .
DIFFERENT WEEKS OF BIKE SHARING.