2017-11-08

Nov 8 In-Class Exercise.

Post to this thread your solutions to the Nov 8 In-class Exercise.
Best,
Chris
Post to this thread your solutions to the Nov 8 In-class Exercise. Best, Chris

-- Nov 8 In-Class Exercise
W' = `[[2,0,0], [0,0,-1], [0,3,0]]` x = `[-1,3,-3]`
For OMP -2 number of non zero entries in h is 1
Case 1 : Let h = `[c,0,0]` || x - W'h|| = `(1+2c)^2` + 9 + 9 --> min value . = 18 when c = -1/2
Case 2: || x - W'h|| = `(3+3c)^2` + 1 + 9 --> min value . = 10 when c = -1 and `h=[0,-1,0]`
Case 3: || x - W'h|| = `(3+c)^2` + 1 + 9 --> min value . = 10 when c = -3 and `h=[0,0,-3]`
Both case 2 and case 3 provide the answer
(Edited: 2017-11-08)
W' = @BT@[[2,0,0], [0,0,-1], [0,3,0]]@BT@ x = @BT@[-1,3,-3]@BT@ For OMP -2 number of non zero entries in h is 1 Case 1 : Let h = @BT@[c,0,0]@BT@ || x - W'h|| = @BT@(1+2c)^2@BT@ + 9 + 9 --> min value . = 18 when c = -1/2 Case 2: || x - W'h|| = @BT@(3+3c)^2@BT@ + 1 + 9 --> min value . = 10 when c = -1 and @BT@h=[0,-1,0]@BT@ Case 3: || x - W'h|| = @BT@(3+c)^2@BT@ + 1 + 9 --> min value . = 10 when c = -3 and @BT@h=[0,0,-3]@BT@ Both case 2 and case 3 provide the answer

-- Nov 8 In-Class Exercise
  • assuming h = [0, 0, C]
  • W' * h = [ 0, -C, 0]
  • X - W'*h = [-1, 3+C, -3]
  • argmin = 1+(3+c)^2 + (-3)^2 ==> C = -3
  • h = [0, 0, -3]
  • we still need to do the two other cases. h=[0,C,0], h=[C,0,0]
(Edited: 2017-11-08)
* assuming h = [0, 0, C] * W' * h = [ 0, -C, 0] * X - W'*h = [-1, 3+C, -3] * argmin = 1+(3+c)^2 + (-3)^2 ==> C = -3 * h = [0, 0, -3] * we still need to do the two other cases. h=[0,C,0], h=[C,0,0]

-- Nov 8 In-Class Exercise
we have w as a 3x3 matrix, x = 3x1 matrix, h = 3x1 matrix, since k = 2, h can only contain 1 non zero entry.
write the magnitude as a system of equations, distance = ||x - w*h|| solving for h1, h2, h3 we get h1 = -1/2, h2=3, h3=1
evaluate the arrays for each of these h values with the other entries as 0.
    import numpy as np
    x = np.matrix([[-1], [3], [-3]])
    w = np.matrix([[2, 0, 0], [0, 0, -1], [0, 3, 0]])
    print(x)
    print(w)
    h = np.matrix([[-1 / 2], [0], [0]])
    distance = np.linalg.norm(x - w * h)
    print(distance)
    h = np.matrix([[0], [3], [0]])
    distance = np.linalg.norm(x - w * h)
    print(distance)
    h = np.matrix([[0], [0], [1]])
    distance = np.linalg.norm(x - w * h)
    print(distance)
 
    4.24264068712
    12.409673646
    5.09901951359
since h1 = -1/2 had the lowest distance, we can use h = [-1/2,0,0]
(Edited: 2017-11-08)
we have w as a 3x3 matrix, x = 3x1 matrix, h = 3x1 matrix, since k = 2, h can only contain 1 non zero entry. write the magnitude as a system of equations, distance = ||x - w*h|| solving for h1, h2, h3 we get h1 = -1/2, h2=3, h3=1 evaluate the arrays for each of these h values with the other entries as 0. import numpy as np x = np.matrix([[-1], [3], [-3]]) w = np.matrix([[2, 0, 0], [0, 0, -1], [0, 3, 0]]) print(x) print(w) h = np.matrix([[-1 / 2], [0], [0]]) distance = np.linalg.norm(x - w * h) print(distance) h = np.matrix([[0], [3], [0]]) distance = np.linalg.norm(x - w * h) print(distance) h = np.matrix([[0], [0], [1]]) distance = np.linalg.norm(x - w * h) print(distance) 4.24264068712 12.409673646 5.09901951359 since h1 = -1/2 had the lowest distance, we can use h = [-1/2,0,0]

-- Nov 8 In-Class Exercise
Still Working
(Edited: 2017-11-08)
Still Working

-- Nov 8 In-Class Exercise
`W' = [[2,0,0],[0,0,-1],[0,3,0]]` `x=[[-1],[3],[-3]]`
k=2, h has 1 non-0 entry
`x - W' * h`
1. h = [c,0,0]
2. h = [0,c,0]
3. h = [0,0,c]
(Edited: 2017-11-08)
@BT@W' = [[2,0,0],[0,0,-1],[0,3,0]]@BT@ @BT@x=[[-1],[3],[-3]]@BT@ k=2, h has 1 non-0 entry @BT@x - W' * h@BT@ 1. h = [c,0,0] 2. h = [0,c,0] 3. h = [0,0,c]

-- Nov 8 In-Class Exercise
W' = [[2,0,0],[0,0,-1],[0,3,0]] x = [-1,3,-3]
let h = [a, b, c] W'h = [2a, -b, 3c]
W' = [[2,0,0],[0,0,-1],[0,3,0]] x = [-1,3,-3] let h = [a, b, c] W'h = [2a, -b, 3c]

-- Nov 8 In-Class Exercise
If we can have X = W'h, then we will have norm to be zero. But, in that case we might not have two out of those 3 entries to be zero.
So finding [h1, h2, h3] which makes X = W'h, i.e. making h = h = [-1/2, -1, -3] and then finding x-W'h for
 [h1,0,0] as (1), 
 [0,h2,0] as (2) 
 [0,0,h3] as (3)
and comparing (1), (2) and (3) will 3 different values.
 taking the h which minimizes ||x- W'h||^2 gives the solution. In our case, (2) and (3) give the result with ||x- W'h||^2 being minimum.
h can be [0, -1, 0] or [0, 0, -3].
(Edited: 2017-11-08)
If we can have X = W'h, then we will have norm to be zero. But, in that case we might not have two out of those 3 entries to be zero. So finding [h1, h2, h3] which makes X = W'h, i.e. making h = h = [-1/2, -1, -3] and then finding x-W'h for [h1,0,0] as (1), [0,h2,0] as (2) [0,0,h3] as (3) and comparing (1), (2) and (3) will 3 different values. taking the h which minimizes ||x- W'h||^2 gives the solution. In our case, (2) and (3) give the result with ||x- W'h||^2 being minimum. h can be [0, -1, 0] or [0, 0, -3].

-- Nov 8 In-Class Exercise
W’ = `[[2,0,0], [0,0,-1], [0,3,0]]` x = `[-1,3,-3]`
For OMP -2 number of non zero entries in h is 1
Case 1 : Let h = `[c,0,0]` || x - W’h|| = `(1+2c)^2` + 9 + 9 --> min value . = 18 when c = -1/2
Case 2: || x - W’h|| = `(3+3c)^2` + 1 + 9 --> min value . = 10 when c = -1 and `h=[0,-1,0]`
Case 3: || x - W’h|| = `(3+c)^2` + 1 + 9 --> min value . = 10 when c = -3 and `h=[0,0,-3]`
Both case 2 and case 3 provide the answer
W’ = @BT@[[2,0,0], [0,0,-1], [0,3,0]]@BT@ x = @BT@[-1,3,-3]@BT@ For OMP -2 number of non zero entries in h is 1 Case 1 : Let h = @BT@[c,0,0]@BT@ || x - W’h|| = @BT@(1+2c)^2@BT@ + 9 + 9 --> min value . = 18 when c = -1/2 Case 2: || x - W’h|| = @BT@(3+3c)^2@BT@ + 1 + 9 --> min value . = 10 when c = -1 and @BT@h=[0,-1,0]@BT@ Case 3: || x - W’h|| = @BT@(3+c)^2@BT@ + 1 + 9 --> min value . = 10 when c = -3 and @BT@h=[0,0,-3]@BT@ Both case 2 and case 3 provide the answer

-- Nov 8 In-Class Exercise
Resource Description for IMG_4387.jpg
((resource:IMG_4387.jpg|Resource Description for IMG_4387.jpg))
[ Next ]
X