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

  • $\begingroup$ I think your question is missing some information. Are all $y_i$ eventually multiplied? Can you give an example of such a system? $\endgroup$
    – havakok
    Jul 17, 2019 at 5:21
  • $\begingroup$ @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. $\endgroup$ Jul 17, 2019 at 8:54
  • $\begingroup$ Are your features non-negative? $\endgroup$
    – jojeck
    Jul 17, 2019 at 19:21
  • $\begingroup$ @jojek Yes, they are non-negative $\endgroup$ Jul 21, 2019 at 3:10

1 Answer 1


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


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.

Hope this answers your question. If not, or I misinterpreted your question, feel free to comment and I will try to supply more information if I can.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.