# Which Machine or deep learning algorithm is appropriate of this issue?

Suppose I have $$n$$ features as $$Y$$ = ($$y_1 , y_2 ...., y_n$$), and a matrix of $$J$$ of dimension $$M$$x$$N$$, one feature of $$Y$$ is selected randomly to be convolved with one random column of $$J$$ resulting a new vector called, for example, $$X$$.

The question, if I have the matrix $$J$$ and the vector $$X$$, can I detect the selected feature from $$Y$$ and selected column from $$J$$ using any deep learning algorithm? such that CNN or DNN ...... etc. What's about if I don't have the matrix $$J$$ am I still able to detect the selected feature $$y$$ and column of $$J$$ based on $$X$$ ?

For example, let's $$Y = [1,2,3,4]$$ and matrix $$J$$ is any random matrix of dimension $$4$$x$$4$$. Hence, one random number of $$Y$$ either 1 or 2 or 3 or 4 is going to be convolved with one column of matrix $$J$$, let's say element 2 of vector $$Y$$ is convolved with with second column of matrix $$J$$, so the resulted vector is $$X$$. So the question can we estimate the element selected from $$Y$$ based on matrix $$J$$ and resultant vector $$X$$ using machine or deep learning algorithm? I think yes we can, but what's the most appropriate algorithm to do that?

thank you

• I think your question is missing some information. Are all $y_i$ eventually multiplied? Can you give an example of such a system? – havakok Jul 17 '19 at 5:21
• @havakok .. thank you for you reply, I tried to write a basic example, I hope it's somehow clearer now. . No, only one element of $Y$ is multiplied and we need to detect it and detected with which column of $J$ was multiplied. – New_student Jul 17 '19 at 8:54
• Are your features non-negative? – jojek Jul 17 '19 at 19:21
• @jojek Yes, they are non-negative – New_student Jul 21 '19 at 3:10

Your question can be interpreted in many ways. First, convolution with a number is not a common operation. Convolution is defined by:

$$(f*g)=\int_{-\infty}^{\infty}f(\tau)g(t-\tau)d\tau$$

Assuming a constant signal $$g(t)=a\in \mathbb{R}$$ this is reduced to: $$(f*g)=\int_{-\infty}^{\infty}af(\tau)d\tau=a\int_{-\infty}^{\infty}f(\tau)d\tau$$

I am assuming, therefore, that you meant multiplication and not convolution. Correct me otherwise and I will edit the answer accordingly.

Secondly, assume for your example the given parameters:

$$Y=[1,2,3,4],J=\left[ \begin{matrix} 1 & 2 & 3 & 4\\ 1 & 2 & 3 & 4\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{matrix} \right], X=\left[\begin{matrix}4 \\ 4\\0\\0\end{matrix}\right]$$

It is easy to see that a couple of use-cases could give us this result. For example, it could be that the chosen $$y$$ was $$y_4=1$$ and the chosen column was the most right column $$j_3$$. On the other hand, the combinations $$\{y_1,j_1\},\{y_3,j_0\}$$ are also plausible. I have purposedly gave a very bad, linearly dependent, matrix $$J$$ to illustrate that the choice of $$J$$ in the design process or formulation of the problem is of major interest and is fundamental for answering you question. The following example illustrates the complete opposite:

$$Y=[1,2,3,4],J=\left[ \begin{matrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{matrix} \right], X=\left[\begin{matrix}x_0 \\ x_1\\x_2\\x_3\end{matrix}\right]$$

Obviously, $$x_0=y*j_0$$,$$x_1=y*j_1$$, and so on. Here, it is easy to deduce $$y$$ and only a small number of $$X$$ are even possible.

Generally, if we call $$J$$ a dictionary, you are looking at something called Orthogonal Matching Pursuit (OMP) problem, which is not a machine or deep learning problem. Otherwise, you can try and use a deep learning model to try and learn the dictionary, though this would be unrecommended as such a solution is not compatible with such a problem in my opinion.