Skip to main content

Implement Logistic Regression In neural Nets (From Basics)

Here I will show you how to implement a neural network for logistic regression from basics.

What is logistic regression ?
The two main types of problems in the machine learning are are classification and regression. Both techniques are used for prediction of labels for a given data set. In classification, data can be fitted into a different classes, hence the labels will give discrete values. For regression, the data set is mapped into continuous values. Different types of regression include linear regression, logistic regression etc. 

Here for one training example, the neural network using logistic regression is explained. If two features of a image is considered for training purpose , the linear combination of the features with weights and bias can be shown as below :
Z = w1x1+w2x2+b
The activation function selected for logistic regression here is sigmoid function.
This shows the forward propagation step in neural net. Now the output of this neural net should be close to the actual output for the data. Hence first calculate the loss function for the training example as :
L(a,y)
where 'a' is current output and 'y' is actual label.
For all training examples m, consider the cost function of neural net as J(w,b)
Hence for a good model, optimization is applied for this cost function.
Gradient Descent can be used for optimization. After this weight 'w' can be updated as :
w = w- (learning rate) * dw
b = b- (learning rate) * db


The above figure gives an overall idea about the procees in logistic regression implemented on neural network.


The main equations for our neural network is shown in the above image.
In the next image we will see how to derive the
* w = w- (learning rate) * dw
* b = b- (learning rate) * db
 using calculus.

Hence a simple neural network is explained for logistic regression.

Comments

Popular posts from this blog

Coursera Course 3 Structuring Machine Learning Projects

Week One - Video One - Why ML STrategy Why we should learn care about ML Strategy Here when we try to improve the performance of the system we should consider about a lot of things . They are: -Amount of data - Amount of diverse data - Train algorithm longer with gradient descent -use another optimization algorithm like Adam -  use bigger network or smaller network depending out requirement -  use drop out - add l2 regularization - network architecture parameters like number of hidden units, Activation function etc. Second Video - Orthogonalization Orthogonalization means in a deep learning network we can change/tune so many things for eg. hyper parameters to get a more performance in the network . So most effective people know what to tune in order to achieve a particular effect. For every set of problem there is a separate solution. Don't mix up the problems and solutions. For that, first we should find out where is the problem , whether it is with training ...

Converting DICOM images into JPG Format in Centos

Converting DICOM images into JPG Format in Centos I wanted to work with medical image classification using Deep learning. The Image data set was .dcm format. So to convert the images to jpg format following steps have performed. Used ImageMagick software. http://www.ofzenandcomputing.com/batch-convert-image-formats-imagemagick/ Installed ImageMagick in Centos by downloading the rom and installing its libraries : rpm -Uvh ImageMagick-libs-7.0.7-10.x86_64.rpm rpm -Uvh ImageMagick-7.0.7-10.x86_64.rpm After installation the the image which is to be converted is pointed in directory. Inside the directory executed the command: mogrify -format jpg *.dcm Now dcm image is converted to JPG format.