{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Soft clustering of audio using LDA and bag-of-audio words\n", "\n", "If you find yourself in a situation where you have a massive amount of audio that you would like to somehow categorize, you might be tempted at doing clustering. However, an audio sample might contain more than one kind of sound, so putting it in a single cluster might not be warranted. Latent Dirichlet Allocation (LDA) is an unsupervised \"clustering\" algorithm, often applied to text, that allows you to describe a datapoint (called a \"document\") as a sparse combination of \"basis documents\". Each basis document, in turn, is a sparse combination of \"words\". In the audio context, we do not really have a well-defined notion of a word, but we can invent such a notion. In this notebook, an audio word is a frequency component. An \"audio document\" is thus made up out of \"frequency terms\". This will allow us to run LDA on a set of audio samples. The dataset I use is rather large, so I will not upload it to github, I can however share it with you in case you do not have a suitable dataset yourself. The dataset is made up out of 3000 short (~0.6s) audio clips of bird calls.\n", "\n", "We start by defining a function to load the data." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "get_audio_words (generic function with 2 methods)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using Glob, WAV, Serialization, TextAnalysis, SparseArrays, Peaks, AMD\n", "using Grep\n", "using DSP, LPVSpectral\n", "using AudioClustering, SpectralDistances\n", "\n", "const fs = 44100 # sample rate\n", "const minpeak = 1e-6 # the minimum power to cinsider in a spectrum\n", "\n", "function get_audio_words(path, load_from_disc=true)\n", "\n", " cd(path)\n", " files = glob(\"*.wav\")\n", " labels0 = match.(r\"[a-z_]+\", files)..:match .|> String\n", " ulabels = unique(labels0)\n", " labels = sum((labels0 .== reshape(ulabels,1,:)) .* (1:30)', dims=2)[:]\n", " M = mel(fs, 512)\n", " if !load_from_disc # process and save all files\n", " models = mapsoundfiles(files) do sound\n", " sound = vec(sound[findfirst(!iszero, sound):findlast(!iszero, sound)])\n", " sound = SpectralDistances.bp_filter(sound, (50/fs, 18000/fs))\n", " P = welch_pgram(sound, 512, fs=fs)\n", " spectral_fingerprint(M,P)\n", " end;\n", " serialize(\"audiowords\", models)\n", " else\n", " models = deserialize(\"audiowords\")\n", " end\n", "\n", " labels,models\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The \"words\" we'll use will be the frequencies of peaks in the spectrum of the audio clip. The function below extract those peaks, their location and hight." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "spectral_fingerprint (generic function with 2 methods)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function spectral_fingerprint(M,P, l = 8)\n", " power = M*P.power # Transform to a Mel spectrum\n", " power ./= std(power)\n", " p,prom = peakprom(power, Maxima(), 7, minpeak)\n", " perm = sortperm(prom, rev=true)\n", "\n", " p = p[perm[1:min(l, length(p))]]\n", " (p, power[p])\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we are ready to load the data and calculate the features." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "path = \"/home/fredrikb/kokulbirds/test_padded_30birds/\"\n", "labels,words = get_audio_words(path,true);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are now ready to run LDA. The algorithm takes three parameters, the number of topics and two parameters related to the sparsity of the topics and \"documents\". The function `lda` expects a special data structure, `DocumentTermMatrix` as input, so we create that first." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "n_terms = 128 # The number of terms in the dictionary is the number of mel-frequencies in the spectra\n", "n_docs = length(words)\n", "terms = collect(1:n_terms) # We enumerate the terms starting from 1\n", "inner_dtm = spzeros(Int, n_docs, n_terms)\n", "\n", "for di in 1:n_docs # Populate the document term matrix\n", " for (ti, tc) in zip(words[di]...)\n", " inner_dtm[di,ti] = round(Int, log10.(tc/minpeak))\n", " end\n", "end\n", "\n", "dtm = DocumentTermMatrix(inner_dtm,terms)\n", "\n", "ntopics = 60 # We choose 60 topics, even though we know there are 30 classes in the \"corpus\"\n", "iteration = 1000\n", "α = 0.1/ntopics # Dirichlet dist. hyperparameter for topic distribution per document. `α<1` yields a sparse topic mixture for each document. `α>1` yields a more uniform topic mixture for each document.\n", "β = 0.01 # Dirichlet dist. hyperparameter for word distribution per topic. `β<1` yields a sparse word mixture for each topic. `β>1` yields a more uniform word mixture for each topic.\n", "\n", "ϕ, θ = lda(dtm, ntopics, iteration, α, β);" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "500\n", "\n", "\n", "1000\n", "\n", "\n", "1500\n", "\n", "\n", "2000\n", "\n", "\n", "2500\n", "\n", "\n", "3000\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "Audio sample\n", "\n", "\n", "Topic\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "0.1\n", "\n", "\n", "0.2\n", "\n", "\n", "0.3\n", "\n", "\n", "0.4\n", "\n", "\n", "0.5\n", "\n", "\n", "0.6\n", "\n", "\n", "0.7\n", "\n", "\n", "0.8\n", "\n", "\n", "0.9\n", "\n", "\n", "1.0\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "500\n", "\n", "\n", "1000\n", "\n", "\n", "1500\n", "\n", "\n", "2000\n", "\n", "\n", "2500\n", "\n", "\n", "3000\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "Audio sample\n", "\n", "\n", "Topic\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "0.1\n", "\n", "\n", "0.2\n", "\n", "\n", "0.3\n", "\n", "\n", "0.4\n", "\n", "\n", "0.5\n", "\n", "\n", "0.6\n", "\n", "\n", "0.7\n", "\n", "\n", "0.8\n", "\n", "\n", "0.9\n", "\n", "\n", "1.0\n", "\n", "\n", "\n" ], "text/plain": [ "Plot{Plots.GRBackend() n=1}" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "heatmap(θ, xlabel=\"Audio sample\", ylabel=\"Topic\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It takes a while to run this algorithm, should be done in a minute or so. The result is two matrices\n", "- `ϕ`: `ntopics × nwords` Sparse matrix of probabilities s.t. `sum(ϕ, 1) == 1`\n", "- `θ`: `ntopics × ndocs` Dense matrix of probabilities s.t. `sum(θ, 1) == 1`\n", "The heatmap of `θ` indicates what topics are ascribed to each \"document\" (audio sample). You should be able to see clusters of bright spots in this image, it's because the audio samples were sorted by class. In reality this picture would look very scrambled and the analysis below would be needed to find similar samples.\n", "\n", "Next, we investigate the correlation between different topics based on both which words they contain and which audio samples contained the topics." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "Correlation based on sample similarities\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "0.1\n", "\n", "\n", "0.2\n", "\n", "\n", "0.3\n", "\n", "\n", "0.4\n", "\n", "\n", "0.5\n", "\n", "\n", "0.6\n", "\n", "\n", "0.7\n", "\n", "\n", "0.8\n", "\n", "\n", "0.9\n", "\n", "\n", "1.0\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "Correlation based on word similarities\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "0.1\n", "\n", "\n", "0.2\n", "\n", "\n", "0.3\n", "\n", "\n", "0.4\n", "\n", "\n", "0.5\n", "\n", "\n", "0.6\n", "\n", "\n", "0.7\n", "\n", "\n", "0.8\n", "\n", "\n", "0.9\n", "\n", "\n", "1.0\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "Correlation based on sample similarities\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "0.1\n", "\n", "\n", "0.2\n", "\n", "\n", "0.3\n", "\n", "\n", "0.4\n", "\n", "\n", "0.5\n", "\n", "\n", "0.6\n", "\n", "\n", "0.7\n", "\n", "\n", "0.8\n", "\n", "\n", "0.9\n", "\n", "\n", "1.0\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "Correlation based on word similarities\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "0.1\n", "\n", "\n", "0.2\n", "\n", "\n", "0.3\n", "\n", "\n", "0.4\n", "\n", "\n", "0.5\n", "\n", "\n", "0.6\n", "\n", "\n", "0.7\n", "\n", "\n", "0.8\n", "\n", "\n", "0.9\n", "\n", "\n", "1.0\n", "\n", "\n", "\n" ], "text/plain": [ "Plot{Plots.GRBackend() n=2}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function corr(x::AbstractMatrix)\n", " d = diag(x)\n", " y = copy(x)\n", " for i = 1:length(d), j = 1:length(d)\n", " y[i,j] /= sqrt(x[i,i]*x[j,j])\n", " end\n", " y\n", "end\n", "topic_cov_by_words = Matrix(ϕ*ϕ')\n", "topic_cov_by_sample = Matrix(θ*θ')\n", "topic_corr_by_words = corr(topic_cov_by_words)\n", "topic_corr_by_sample = corr(topic_cov_by_sample)\n", "\n", "plot(\n", " heatmap(topic_corr_by_sample, title=\"Correlation based on sample similarities\", titlefont=10),\n", " heatmap(topic_corr_by_words, title=\"Correlation based on word similarities\", titlefont=10)\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bright off-diagonal spots in the images above indicate that two topics share something in common.\n", "\n", "To find an average topic vector for each class, we average over all the class samples. We can do this since we have class labels associated with the samples. In practice, this might be much harder." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "4\n", "\n", "\n", "5\n", "\n", "\n", "6\n", "\n", "\n", "7\n", "\n", "\n", "8\n", "\n", "\n", "9\n", "\n", "\n", "10\n", "\n", "\n", "11\n", "\n", "\n", "12\n", "\n", "\n", "13\n", "\n", "\n", "14\n", "\n", "\n", "15\n", "\n", "\n", "16\n", "\n", "\n", "17\n", "\n", "\n", "18\n", "\n", "\n", "19\n", "\n", "\n", "20\n", "\n", "\n", "21\n", "\n", "\n", "22\n", "\n", "\n", "23\n", "\n", "\n", "24\n", "\n", "\n", "25\n", "\n", "\n", "26\n", "\n", "\n", "27\n", "\n", "\n", "28\n", "\n", "\n", "29\n", "\n", "\n", "30\n", "\n", "\n", "Topic\n", "\n", "\n", "Class\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "0.1\n", "\n", "\n", "0.2\n", "\n", "\n", "0.3\n", "\n", "\n", "0.4\n", "\n", "\n", "0.5\n", "\n", "\n", "0.6\n", "\n", "\n", "0.7\n", "\n", "\n", "0.8\n", "\n", "\n", "0.9\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "10\n", "\n", "\n", "20\n", "\n", "\n", "30\n", "\n", "\n", "40\n", "\n", "\n", "50\n", "\n", "\n", "60\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "4\n", "\n", "\n", "5\n", "\n", "\n", "6\n", "\n", "\n", "7\n", "\n", "\n", "8\n", "\n", "\n", "9\n", "\n", "\n", "10\n", "\n", "\n", "11\n", "\n", "\n", "12\n", "\n", "\n", "13\n", "\n", "\n", "14\n", "\n", "\n", "15\n", "\n", "\n", "16\n", "\n", "\n", "17\n", "\n", "\n", "18\n", "\n", "\n", "19\n", "\n", "\n", "20\n", "\n", "\n", "21\n", "\n", "\n", "22\n", "\n", "\n", "23\n", "\n", "\n", "24\n", "\n", "\n", "25\n", "\n", "\n", "26\n", "\n", "\n", "27\n", "\n", "\n", "28\n", "\n", "\n", "29\n", "\n", "\n", "30\n", "\n", "\n", "Topic\n", "\n", "\n", "Class\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "0.1\n", "\n", "\n", "0.2\n", "\n", "\n", "0.3\n", "\n", "\n", "0.4\n", "\n", "\n", "0.5\n", "\n", "\n", "0.6\n", "\n", "\n", "0.7\n", "\n", "\n", "0.8\n", "\n", "\n", "0.9\n", "\n", "\n", "\n" ], "text/plain": [ "Plot{Plots.GRBackend() n=1}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ulabels = unique(labels)\n", "classvecs = map(ulabels) do label\n", " classinds = findall(labels .== label)\n", " vec(mean(θ[:,classinds], dims=2))\n", "end\n", "classvecs = reduce(hcat,classvecs) # n_topics × n_class\n", "heatmap(classvecs',yticks=(1:length(ulabels), ulabels), xlabel=\"Topic\", ylabel=\"Class\", size=(400,400), color=:blues)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also try to find similarities between classes based on which topics are occuring for samples within the class. To make it easier to spot the similarities, we run an AMD algorithm on the similarity matrix, so that similar classes are likely to be placed next to each other. " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "21\n", "\n", "\n", "12\n", "\n", "\n", "11\n", "\n", "\n", "5\n", "\n", "\n", "1\n", "\n", "\n", "25\n", "\n", "\n", "16\n", "\n", "\n", "7\n", "\n", "\n", "8\n", "\n", "\n", "6\n", "\n", "\n", "29\n", "\n", "\n", "13\n", "\n", "\n", "28\n", "\n", "\n", "4\n", "\n", "\n", "3\n", "\n", "\n", "9\n", "\n", "\n", "10\n", "\n", "\n", "14\n", "\n", "\n", "17\n", "\n", "\n", "18\n", "\n", "\n", "19\n", "\n", "\n", "20\n", "\n", "\n", "22\n", "\n", "\n", "23\n", "\n", "\n", "24\n", "\n", "\n", "26\n", "\n", "\n", "27\n", "\n", "\n", "30\n", "\n", "\n", "2\n", "\n", "\n", "15\n", "\n", "\n", "21\n", "\n", "\n", "12\n", "\n", "\n", "11\n", "\n", "\n", "5\n", "\n", "\n", "1\n", "\n", "\n", "25\n", "\n", "\n", "16\n", "\n", "\n", "7\n", "\n", "\n", "8\n", "\n", "\n", "6\n", "\n", "\n", "29\n", "\n", "\n", "13\n", "\n", "\n", "28\n", "\n", "\n", "4\n", "\n", "\n", "3\n", "\n", "\n", "9\n", "\n", "\n", "10\n", "\n", "\n", "14\n", "\n", "\n", "17\n", "\n", "\n", "18\n", "\n", "\n", "19\n", "\n", "\n", "20\n", "\n", "\n", "22\n", "\n", "\n", "23\n", "\n", "\n", "24\n", "\n", "\n", "26\n", "\n", "\n", "27\n", "\n", "\n", "30\n", "\n", "\n", "2\n", "\n", "\n", "15\n", "\n", "\n", "Class similarity\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0.25\n", "\n", "\n", "0.50\n", "\n", "\n", "0.75\n", "\n", "\n", "1.00\n", "\n", "\n", "1.25\n", "\n", "\n", "1.50\n", "\n", "\n", "1.75\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "21\n", "\n", "\n", "12\n", "\n", "\n", "11\n", "\n", "\n", "5\n", "\n", "\n", "1\n", "\n", "\n", "25\n", "\n", "\n", "16\n", "\n", "\n", "7\n", "\n", "\n", "8\n", "\n", "\n", "6\n", "\n", "\n", "29\n", "\n", "\n", "13\n", "\n", "\n", "28\n", "\n", "\n", "4\n", "\n", "\n", "3\n", "\n", "\n", "9\n", "\n", "\n", "10\n", "\n", "\n", "14\n", "\n", "\n", "17\n", "\n", "\n", "18\n", "\n", "\n", "19\n", "\n", "\n", "20\n", "\n", "\n", "22\n", "\n", "\n", "23\n", "\n", "\n", "24\n", "\n", "\n", "26\n", "\n", "\n", "27\n", "\n", "\n", "30\n", "\n", "\n", "2\n", "\n", "\n", "15\n", "\n", "\n", "21\n", "\n", "\n", "12\n", "\n", "\n", "11\n", "\n", "\n", "5\n", "\n", "\n", "1\n", "\n", "\n", "25\n", "\n", "\n", "16\n", "\n", "\n", "7\n", "\n", "\n", "8\n", "\n", "\n", "6\n", "\n", "\n", "29\n", "\n", "\n", "13\n", "\n", "\n", "28\n", "\n", "\n", "4\n", "\n", "\n", "3\n", "\n", "\n", "9\n", "\n", "\n", "10\n", "\n", "\n", "14\n", "\n", "\n", "17\n", "\n", "\n", "18\n", "\n", "\n", "19\n", "\n", "\n", "20\n", "\n", "\n", "22\n", "\n", "\n", "23\n", "\n", "\n", "24\n", "\n", "\n", "26\n", "\n", "\n", "27\n", "\n", "\n", "30\n", "\n", "\n", "2\n", "\n", "\n", "15\n", "\n", "\n", "Class similarity\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "0.25\n", "\n", "\n", "0.50\n", "\n", "\n", "0.75\n", "\n", "\n", "1.00\n", "\n", "\n", "1.25\n", "\n", "\n", "1.50\n", "\n", "\n", "1.75\n", "\n", "\n", "\n" ], "text/plain": [ "Plot{Plots.GRBackend() n=1}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function diagonalize(C, tol=:auto; permute_y=false, doplot=false)\n", " C = copy(C)\n", " amdmat = size(C,1) == size(C,2) ? copy(C) : C'C\n", " # amdmat = C'C\n", " if tol === :auto # Find tolerance automatically (adhoc)\n", " y = abs.(amdmat[:])\n", " inds = sortperm(y)\n", " cum = cumsum(y[inds])\n", " cum ./= cum[end]\n", " i = findfirst(c->c > 0.3, cum)\n", " tol = y[inds[i]]\n", " end\n", " doplot && (histogram(abs.(amdmat[:])) |> display)\n", " amdmat[abs.(amdmat) .< tol] .= 0\n", " perm = amd(sparse(amdmat))\n", " yperm = permute_y ? perm : 1:size(C,1)\n", " C[yperm,perm], perm, yperm\n", "end\n", "function plotcov(C, xvector, yvector; kwargs...)\n", " xticks = (1:length(xvector), xvector)\n", " yticks = (1:length(yvector), yvector)\n", " heatmap(C; xticks=xticks, yticks=yticks, xrotation=50, title=\"Class similarity\", kwargs...)\n", "end\n", "\n", "classvecs_unit = mapslices(v-> v./norm(v), classvecs, dims=1)\n", "classcov = classvecs_unit'topic_corr_by_sample*classvecs_unit\n", "\n", "C, perm, yperm = diagonalize(classcov, permute_y=true)\n", "plotcov(C,ulabels[perm],ulabels[perm], yflip=true)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The figure indicates that class 21 and 12 are similar, and that class 3 is similar to many other classes. Class 15 is very unique." ] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.4.0-rc2", "language": "julia", "name": "julia-1.4" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.4.0" } }, "nbformat": 4, "nbformat_minor": 2 }