1. a) For the example on the lecture on mutual information, how does disretizing at X=4 compares to discretizing at X=1 and X=3? b) Write an Octave funciton which gets a contingency table as an input and returns the mutual information of the random variables in the input! (Bonus: Write the same function without using any loops.) c) You are given a contingency table with marginal counts [30, 70] and [80, 20] for the rows and columns, respectively. How should the cooccurrence values in the table be arranged in the table if we knew that the mutual information between the two random variables is exactly zero? 2. x=[5 5 2 3] a) Detremine the mean and variance of the above sample using Ocatave! b) What is going to be the mean of the random variable x' that we derive from x by subtracting its mean from it? c) Now calculate the variance of the sample using Octave without using the built-in function for that! d) How many other ways can you do this? 3. a) Load outliers.mat! Plot a bar chart out of the features! Also plot the histograms! Plot the histogram of the first/second features separately! Is there anything noticable? b) Calculate the covariance matrix of the data! Try to visualize the 2D data points! Should we use the plot or the scatter function? Repeat the previous step but for the first 300 data instances this time! Again, is there anything noticable? 4. Write an inline function calculating the value of the bivariate function x^2 + y^3! Write an inline function which calculates the -p*log(p)-q*log(q) function! Use function plotter.m to plot the inline functions you just created! 5. Run the breast_cancer_classification_skeleton.m program and implement the missing methods! Fun fact: try out the fact() function Homework: Verify that for some matrix M the expressions norm(M, 'fro'), sqrt(sum(sum(M.*M))) and sqrt(trace(M*M')) yield the same results. Why is it so and what alternative expressions you can come up with for the same calculation?