An Iterative Approach to Inverse Problems using Python's Numpy

11:45 AM - 12:10 PM on August 16, 2015, Room 702

Katya Vasilaky

Audience level:
intermediate
Watch:
http://youtu.be/Mhk-71Xy9Qk

Description

This is a talk about inverse problems and improving on past algorithms that have focused on inverse problems in math, data science, tomography, and image processing. We use a new iterative method coded in Python's Numpy and show it's ability to recover images compared to previous approaches.

Abstract

This talk will fall in the realm of data, data processing and data science.

Inverse problems commonly occur in image processing, statistical inference, tomography, and any field where one wants to compute some interior properties using exterior meseasurements. Linear regression would be one such problem which solves the least squares problem (where the solution to the least squares problem requires the inversion of a matrix X in order to solve for the optimal beta parameter estimates, b).

In many such problems the data frame or matrix X is ill-conditioned, meaning the matrix iself is close to singular (e.g. a Hilbert matrix that has several close to dependent columns),and the solution, b, is therefore is noisy. A small perturbation in the matrix X will lead to wild adjustements in the solution, b, as is well-known.

One way to deal with such instability is to regularize the problem and solve a "nearby" problem using Lasso methods or the more general Tikhanov reguarlization problem, which add a penalty, lambda, to the optimizaiton problem. However, currently, no efficient method exists for searching for lambda.

In our new innovative method, we have derived an iterative approach to solving the general Tikhanov regularization problem, which converges to the noiseless solution, does not depend strongly on the choice of lambda, and yet still avoids the inversion problem.

This alogirithm is written in a few lines of code using Python's numpy package, and primarily relies on the SVD composition. The solution is applicable to many fields in image processing and data, and the code, as we'll see in the talk, is quite simple.