여기에 첫번째 답변 이해하려는중입니다.
0개국어라 한국어가 많이 서툽니다.
또한 유식이가 일 안해서 디시에서 수식을 치면 글자수가 초과가됩니다. 그래서 사진으로 올립니다.
빨간줄 킹받아도 죄송합니다.
넓은 아량으로 이해부탁드립니다.
여기에 첫번째 답변 이해하려는중입니다.
0개국어라 한국어가 많이 서툽니다.
또한 유식이가 일 안해서 디시에서 수식을 치면 글자수가 초과가됩니다. 그래서 사진으로 올립니다.
빨간줄 킹받아도 죄송합니다.
넓은 아량으로 이해부탁드립니다.
뭘 묻는지도 잘 모르겠음 Df(x)는 R^n에서 R로 가는 함수이고 h가 R^n에 있으니 당연히 Df(x)h도 R에 있는거지
왜 그렇게 되는지가 궁금한거에요. Df(x)h= x/llxll * h 이니까요. 다른데보면 이 * 을 dot product로 정의하던데 왜 그런진 모르겠네요. 그렇게 정의해서 그런가요?
루딘에서는 Df(x): R^n -> R^m 을 Df(x)h := hy , (단, y는 R^m의 벡터 ) 같은 식으로 생각하더라고요.
아주 정확하게 말하자면 x/|x|는 Df(x)가 아니라 f의 gradient에 x를 대입한거라 이걸 곧이곧대로 받아들이면 안 됨. 다만 R^n에서 R로 가는 함수의 도함수는 gradient와의 내적으로 주어지는 linear map이니까 평소에는 큰 구분없이 둘을 혼용하는거
또는, R^n의 원소를 column vector로 이해하고 gradient는 그대로 row vector로 이해한다면 그냥 gradient를 행렬곱한다고 생각해도 됨 이 경우 Jacobian=gradient니까
아 gradient에 x를 대입한다고 Df(x)라는 linear map이 나오는건 아닌가보군요?
왜냐면 gradient의 결과물은 말 그대로 그냥 벡터일 뿐이니까.. 이건 루딘에도 언급이 있을텐데
와 감사합니다. 조금 더 공부해볼게요
Df(x)는 R^n에서 R로 가는 선형함수니까 기저를 잡으면 1 x n 행렬로도 생각할 수 있고 h는 R^n의 원소로 n x 1 행렬처럼 생각할 수 있죠. 이 때 Df(x)(h)의 계산은 두 행렬의 곱 (두 벡터의 dot product)으로 이해할 수 있겠죠.
아하 감사합니다. 그럼 Df(x) = x/llxll 일때 Df(x)h는 (x * h)/llxll (단, *는 dot product) 처럼 생각할수 있는건가요?
정확히는 Df(x) = x/||x||가 아니라 Df(x) = x/||x|| * 라고 쓰는 게 좋겠습니다. x/||x|||, 즉 f의 gradient는 그 자체로 (column) 벡터이고 Df(x)는 이것의 transpose (row) 벡터로 보는 거죠. 그러면 notational하게도 Df(x)h = (x * h)/||x||가 되겠죠.
바꿔 말하면 dot product가 주어진 경우에는 임의의 벡터 v에 대해 “v와 dot product를 취한 값”이라는 선형함수를 대응시킬 수 있습니다. h를 v * h로 보내는 함수죠. 우리의 경우 gradient에 대응하는 선형함수를 Df로 쓰는 것이고요.
오 답변 감사합니다. 아직 잘 엄밀한 이해는 못한거같지만 gradient를 x라는 점에서 evaluate해서 얻은 벡터를 f의 함수 그래프 x부분에 가져다 붙이면 그게 선형함수 Df(x)가 되는식인가요?