Ridge regression의 성질에 대해 좀 더 깊게 수학적으로 들여다보자. 일반 식과 Ridge regression 식의 기대치와 분산의 차이:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import numpy as np import time A = np.array([[1,7,6], [2,5,4], [3,6,2], [1,3,3]]) A = np.dot(np.transpose(A),A) Ridge = np.array([[1000,0,0], [0,1000,0], [0,0,1000]]) normal_A = np.linalg.inv(A) print(normal_A) A_result = A + Ridge A_result_inv = np.linalg.inv(A_result) print(np.round(A_result_inv,2)) #알파는 음수가 되면 안된다, Ridge = np.array([[100000,0,0], [0,100000,0], [0,0,100000]]) A_result = A + Ridge A_result_inv = np.linalg.inv(A_result) print(np.round(A_result_inv,1)) |
임의의 linear independent인 행렬 A를…