Classifying and annotating images is an important task in machine learning. Many algorithms have been proposed for these tasks, based on features such as color, texture, and shape. The success of these algorithms is dependent on the selection of features. Deep learning models are widely used to learn abstract, high-level representations from raw data. Energy-based models are the most commonly used deep learning models formed by pre-training the individual restricted Boltzmann machines in a layerwise fashion and then stacking together and training them using error backpropagation. In the deep convolutional neural networks, the convolution operation is used to extract features from different sub-regions of the images to learn better representations. To reduce the time taken for training, models that use convex optimization and kernel trick have been proposed. Continue Reading →

## Community Detection in Large Social Networks Using PCCA+

Community detection can reflect overall structure of a network and thus it can help for many real case scenarios like product marketing. To extract such communities from network one uses the objective function which captures the intuition of communities with high intra-community edges and fewer inter-community edges. Since optimizing such objective function is NP-hard, many researchers have tried many heuristics to find approximate communities. Most of the community detection algorithms based on greedy algorithms perform poorly on large complex networks. Moreover, many algorithms for community detection also require some prior knowledge of the community structure, e.g., the number of the communities, which is very difficult to be obtained in real-world networks. Algorithms are evaluated based on score called modularity. The algorithm which maximizes such modularity score is considered to be the best algorithm. In this project, we propose a new community detection algorithm which is based on Perron Cluster Analysis. Continue Reading →

## A beginner’s tutorial on Social Network Analysis – (Part 2)

In this part, we will talk about visualizing our network.

In Part 1 of this tutorial, we talked of a graph having 5 nodes (a,b,c,d,e) and the edges [(a,b), (b,c), (c,d)]. Let”s add one more edge (b,d)

Matplotlib is a set of plotting tools for python. You can download and install it from a package manager of your choice, or install it from source. This can take care of advanced 2D plotting for python. We will use this to plot our network.

## A beginner’s tutorial on Social Network Analysis – (Part 1)

Social Network Analysis refers to the methods used for analyzing social networks or interconnections among individuals. The individuals are taken as “nodes” and are connected to each other based on their interconnections, which may be of various types (friendship, co-authorship, kinship, sexual relations, financial exchange, common interest etc.) SNA uses various techniques from Graph Theory, Game Theory and several other to study, explain and predict the network.

**Getting the tools:**

NetworkX is a Python-based package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. If you are on a linux distribution like Ubuntu chances are it will be in your package manager. Otherwise, you can download and install the binary or even compile it from source from here. Continue Reading →