*정정합니다!! (2년 지나 영상을 다시 보니.. 바로잡고 싶은 게 생겼습니다. 꼭 읽어주세요!) 영상에서 설명한 것처럼 계수에 대해서 생각하는 것보단 입력과 출력 간의 관계로 보는 것이 맞습니다. y=a*x^2+bx+c 를 x 하나에 대한 함수로 보면 non-linear 하지만 (입력 노드가 x 한 개, f(x)= a*x^2+bx+c 로 보면 곡선이 그려짐) x^2, x 가 입력된다고 보고 x^2, x 에 대한 함수로 보면 linear function맞습니다. (입력 node가 x^2, x 두 개, 각각을 x1, x2로 치환해서 보고 f(x1, x2) = a*x1+bx2+c 를 x1, x2 축으로 그려보면 평면이 그려짐) 따라서 ax^2+bx+c 꼴이라고 해서 무조건 non-linear regression이 아니라는 거죠! (무엇이 입력되는가에 따라 non-linear 일수도, linear 일수도 있다) 누군가는 저처럼 헷갈리고 있을 수 있기 때문에 이 영상은 지우지 않고 남겨놓도록 하겠습니다. -------------------- 혹시 이 강의가 조금 어렵게 느껴지시나요? 그동안 갈고닦은 강의력으로 4년 만에 새로운 딥러닝 강의를 올리게 되었습니다! 지금 보고 계신 영상보다 훨씬 더 쉽고, 더 꼼꼼하게 전달하는 강의니까 아래 재생목록 저장해두고 딥러닝 공부 시작해 보세요! < Easy! 딥러닝 재생목록 > ruclips.net/p/PL_iJu012NOxdw1jc3KEo8Mq5oD5SXKhLu -------------------- 📢 혁펜하임의 딥러닝 마스터 커리큘럼! LEVEL 1 - Easy! 딥러닝 hyukppen.modoo.at/?link=2n1a6p7t LEVEL 1 - 인스톨! 파이토치 hyukppen.modoo.at/?link=131k3k7g LEVEL 2 - Legend 13 hyukppen.modoo.at/?link=5db82s6p LEVEL 2 - TTT: To The Transformer hyukppen.modoo.at/?link=21c4dj8y LEVEL 3 - ATT: After The Transformer hyukppen.modoo.at/?link=2mcbufeg
혁펜하임님 강의 감사히 정말 잘 듣고 있습니다! 마침 이 강의를 보고 있는데 방금 달아주신 정정 댓글을 봤네요. 확인차 한가지 여쭤봅니다! 그러면 강의에 사용하신 y=a*x^2 + bx + c 는 결국 다중 선형 회귀로 이해하면 될까요? y = w1*x1 + w2*x2 + b 형태요! (밑에 댓글에서 Ju-Hwan Seo 님과 길게 debate 하신 부분은 일단은 논외로 하고, 정정 댓글을 통해 전달하시고자 하는 의미를 제가 제대로 이해했는지 확인하고자 합니다) 즉 강의에서 설명하셨던 a,b,c (옳은 표현으로는 w1, w2, b) 에 대해서 선형이라는 것이 아니라, x1, x2 (강의에서 A 로 표현하신) 에 대해서 y 가 선형이라는 것이 맞을까요?
@@범범-r4d 넵넵 말씀하신대로 입력 변수가 여러 개인 다중 선형 회귀로 이해해야 합니다. 두 번째 것은 좀 애매한데요, 행렬과 벡터식으로 표현한 것은 [data를 수집해서 모은 행렬]과 [계수를 모은 벡터]의 곱으로 표현한 것이기 때문에 이 식 자체는 사실 계수 벡터에 대한 선형 식입니다. (신호 처리 쪽에서는 이렇게 많이 전개하다보니 제가 이 식이 계수에 대해 선형이라서 선형 회귀라고 하는구나 하고 오해했던 포인트 입니다) 하지만 이렇게 a,b,c를 구하기 위해서 데이터에 대한 수식을 행렬과 벡터의 곱으로 나타낸 이 식이 선형이라서 선형회귀라고 해석하기 보다는 정의 그대로 입력과 출력을 linear approach로 모델링 한다는 점에서 선형을 이해하는 것이 맞다고 생각했습니다. 결론적으로 강의에서 나온 수식에서는 x1, x2는 "변수"로 되어있지 않고 수집한 데이터 "값"으로 되어있기 때문에 이 식을 보고 x1, x2에 대해서 y가 선형이다 아니다를 이야기하긴 좀 어려울 것 같습니다. (입력 변수 x1, x2에 대한 함수로 표현한 식이 아니고 x1, x2에 해당하는 수집된 입력 데이터들을 그저 행렬로 쌓아서 표현한, 그냥 상수 값으로서 식에 들어가있는 형태이기 때문에!)
안녕하세요, 강의 정말 감사하게 듣고 있습니다. 댓글을 보다보니 헷갈려서 질문드립니다.. 위의 질문자님이 제시하신 예시인 y=ax^2+bx+c가 다중 선형회귀의 예시라면 단순 비선형 회귀의 예시는 어떤 것이 있을수 있나요? 보는 관점에 따라 (x 변수 하나로 보느냐, x^2 ,x 변수 두개로 보느냐) 단순 비선형 회귀 혹은 다중 선형 회귀 두가지로 모두 볼 수 있는 건가요?
@@라벤더-z2f 네넵 x 하나 입력된다면 x애 대한 2차 함수로 회귀시키고자 할 때 non linearity가 필요하지만 x^2, x 두개 입력으로 같은 함수를 바라보면 1차 함수입니다. 따라서 두 입력 축으로 그림을 그리면 평면에 회귀시키려는 것을 알 수 있고 non linearity 가 필요없게 때문에 다중 선형 회귀인 것이죠!
Regression을 사용할때는 입력이 되는 독립변인(x)와 출력이 되는 종속변인(y)는 이미 정해진 상태입니다. 그리고 이 둘 사이의 관계를 표현하는 수학적 모델을 linear model로 선택하여 표현하고자한다면 linear regression이 되는거고, polynomial model로 선택한다면 polynomial regression, logistic model로 선택한다면 logistic regression이 됩니다. 동영상에서 설명하신 내용은 polynomial regression 문제를 일종의 trick(=a,b,c라는 파라미터를 독립변인으로 간주하는 trick)을 이용하여 linear regression의 형태로 풀 수 있다는 내용입니다. 종속변인(y)과 독립변인(x)의 관계를 y=ax^2+bx+c로 정의하는 순간 이 문제는 linear regression이 아니며, 사용하신 trick이 적용 가능하다는 것이 이 문제의 정의 자체를 linear regression으로 변화시키지는 않습니다. 그리고 linearity 에 대한 설명은 Additivity와 Homogeneity 로 설명하시는게 더 나을 것 같습니다.
관심있게 봐주셔서 감사합니다! "종속변인(y)과 독립변인(x)의 관계를 y=ax^2+bx+c로 정의하는 순간 이 문제는 linear regression이 아니며" 라고 말씀해주셨습니다만 아래 링크에서 ( en.wikipedia.org/wiki/Linear_regression#Simple_and_multiple_linear_regression ) 중간 쯤 그림으로 가보시면 이런 말이 있습니다. "Example of a cubic polynomial regression, which is a type of linear regression. Although polynomial regression fits a nonlinear model to the data, as a statistical estimation problem it is linear, in the sense that the regression function E(y | x) is linear in the unknown parameters that are estimated from the data. For this reason, polynomial regression is considered to be a special case of multiple linear regression." 그래서 말씀하신대로, linear regression의 "linear" 그리고 polynomial regression의 "polynomal"과 같은 단어가 붙은 것은 x와 y와의 관계로 정의된 것 같습니다. 하지만 polynomial regression도 linear regression의 일종이다라고 하는 것을 보면, linear의 의미는 모델 파라미터 a,b,c와 y와의 관계로도, 좀더 폭 넓게 확장되는 것 같습니다. 즉, x와 y와의 관계가 linear 한것은 당연히 linear regression이나 a,b,c와 y와의 관계가 linear 한것도 linear regression으로 부르는 것 같습니다.
@@hyukppen linear regression이냐 polynomial regression이냐는 앞서 언급한대로 x와 y의 관계로 인해 결정나는 부분이며, 답글 달아주신 내용은 x,y와의 관계나 (a,b,c)와 y와의 관계에 초점을 맞추기 보다는 독립변인(x)의 정의에 초점을 맞추는 것이 더 바람직한 이해입니다. 종속변인(y)와 독립변인(x)의 관계를 y=ax^2+bx+c로 정의한다면 이는 polynomial regression이며, 여기에 trick을 적용하여 X=(x1, x2)=(x^2, x) 라는 형태로 독립변인을 변환하여 표현한 후, "종속변인(y)와 독립변인(x)의 관계"가 아닌 "종속변인(y)와 독립변인(X=(x1,x2)=(x^2,x))의 관계를 y=ax1+bx2+c"로 표현한다면 multivariate linear regression 문제가 되는 것이구요. 즉, a,b,c와 y의 관계가 linear 해서가 아니라 독립변인의 정의가 변화함으로 인해 문제는 재정의되어 linear regression이 됩니다. 언급하신 예시가 multivariate linear regression의 special case라 표현하는 이유도 일반적인 multivariate linear regression에서는 독립변인 X=(x1, x2, ..., xN)사이의 dependency가 없는 반면, y=ax^2+bx+c를 linear regression 문제로 변환하기 위해 수행하는 X=(x1, x2)=(x^2, x) 절차에서는 x1, x2 사이에 dependency가 존재(또는 자유도의 구속)한다라는 면에서 special case라 표현하는 것이구요. 이런 식으로 redundancy를 추가하여 문제를 해결하는 것은 다른 분야에서도 볼 수 있는 trick이구요. 계수와 종속변인(y)와의 관계에 초점을 맞추면 regression의 종류를 분류하는데 있어서 얻어갈 것이 없습니다. 심지어 y=a*sin(2x)+b*cos^2(-3x)+c*e^5x 같은 복잡한 수식들 조차도 독립변인 x가 아닌 재정의된 독립변인 X=(sin2x, cos^2(-3x), e^5x)에 대해서는 linear regression으로 간주할 수 있게 되니까요. 수학적으로 문제를 정의하는데 있어 우선되어야하는 절차는 변인의 정의인데, 많은 강의에서 이 부분이 생략되며 이로 인해 오해를 불러일으키는 것 같습니다. 변인의 정의가 중요하다는 것을 인지하여야 "y=ax^2+bx+c에 대해 regression하세요" 라는 문제를 접했을 때 "아, 이건 polynomial regression인데 x를 조금 변환하면 linear regression이니까 least square method로 풀면 되겠다"가 아니라 "종속변인과 독립변인에 대한 정의가 불충분 하니 문제가 아직 완전히 정의되지 않았다" 라는 생각을 할 수 있게됩니다. 저도 영상 작성하신 분과 같은 학교에서 박사 학위취득하며 오랜 교육과정을 거쳤습니다. 감히 예상하건데 '문제를 푸는 방법'에 대해 생각할 시간에 비해 '문제의 정의'에 대해 생각할 시간은 거의 없지 않으셨나요? 저는 그랬던 것 같습니다... 돌이켜 생각하면 다소 아쉬운 부분이구요. 'Find x∈ℤ that satisfies x^2-1=0', 'Find x∈ℕ that satisfies x^2-1=0', 'Find x that satisfies x^2-1=0' 이 다른 문제라는 걸 알기까지 너무 오래 걸린 것 같아서요. 다른 의견 있으시다면 얼마든지 환영입니다. 제작자분의 영상과 유튜브 알고리즘의 인도덕분에 간만에 생각을 정리할 기회가 되어 감사드립니다.
@@seojh1989 친절한 설명 감사합니다! ㅎㅎ "x,y와의 관계나 (a,b,c)와 y와의 관계에 초점을 맞추기 보다는 독립변인(x)의 정의에 초점을 맞추는 것이 더 바람직한 이해다" 라는 점과 "계수와 종속변인(y)와의 관계에 초점을 맞추면 regression의 종류를 분류하는데 있어서 얻어갈 것이 없다." 라고 말씀하신 것에 대해 의문점이 있습니다. "y=a*sin(2x)+b*cos^2(-3x)+c*e^5x 같은 복잡한 수식들 조차도 독립변인 x가 아닌 재정의된 독립변인 X=(sin2x, cos^2(-3x), e^5x)에 대해서는 linear regression으로 간주할 수 있게 된다" 라면 이것이야말로 (a,b,c)와 y와의 관계만 보고 linear 인지 아닌지를 통해 Linear model로 문제를 정의할 수 있음 즉, linear regression으로 간주할 수 있음. 이라는 의미를 가지는 것아닌가요??
@@hyukppen 앞서 언급드린 대로 linear regression인지 아닌지를 판별하는 것은 독립변인(x)와 종속변인(y) 사이의 관계가 linear model인지 아닌지에 의해 결정됩니다. "(a,b,c)와 y와의 관계를 보고 linearity를 판정한 후 linear라면 linear regression으로 간주한다"는 것은 ((a,b,c)y)가 (독립변인종속변인) 이거나 (종속변인독립변인)이라는 뜻이됩니다. 하지만, (a,b,c)라는 것은 독립변인도 종속변인도 아닌 모델 파라미터일 뿐입니다. 그러니 (a,b,c)는 현재 풀려는 문제가 linear regression인지 아닌지에 영향을 주지 못한다는 게 제가 드리고 싶은 얘기이구요. 독립변인의 정의는 문제를 정의하는 사람에 의해 결정됩니다. 하지만 (a,b,c)라는 모델 파라미터는 문제의 정의가 아니라 문제에서 활용할 수학적 모델이 결정났을때 결정되는 요소이구요. 수학적 모델을 세울 때 coefficient간 dependency가 있도록 정의하는 경우는 저는 일단 못보았습니다. 독립변인(x)와 종속변인(y)에 대해 y=a2*x^2+a1*x+a0 같은 수식은 사용하지만 a1^2*x^2+a1*x+a0 같은 수식을 세우지는 않잖아요. 이는 곧 대부분 수학적 모델에서 독립변인(x)의 적절한 치환만 이루어진다면 'coefficient'와 '치환된 독립변인(X)'의 관계는 linear 하다는 뜻이되며, 이처럼 구분력(?)이 없는 기준을 regression의 종류를 구분하는데 사용할 것 같지는 않다는게 제 생각이구요. (x,y) 관계를 표현하는데 있어 어떠한 수학적 모델을 가지고 오는지에 상관없이 독립변인의 적절한 변환만 있으면 모델 파라미터와 종속변인의 관계는 linear 할 수 있는데 뭣하러 polynomial regression, logistic regression 같은 분류를 만들어서 얘기하느냐 인거죠. (x,y)가 주어졌을때 모델파라미터(a,b,c)와 종속변인(y)의 관계가 non-linear한 수학적 모델의 예시를 제안해주실 수 있을까요? 저는 잘 떠오르지가 않아서요... '어떠한 문제가 linear regression이냐 아니냐'의 문제와 '어떠한 문제를 적절한 변환을 이용하여 linear regression으로 간주할 수 있다'의 문제는 같아 보이면서도 미묘한 차이가 있습니다. 적절한 예시인지 모르겠습니다만.... 3층짜리 neural network를 생각해봅시다. 그리고 그럴 일은 없겠지만 마지막 레이어는 activation function이 없는 linear model이라고 합시다. 이 때, 입력이 되는 독립변인은 x, 출력인 종속변인은 y, 출력의 바로 앞에 있는 레이어의 결과 vector를 f라 합시다. 이때, (x,y)의 관계는 중간레이어의 activation function으로 인해 non-linear일테지만 (f,y)의 관계는 activation function이 없으니 linear 할겁니다. 위 예시에서, "어찌되었건 독립변인 x를 적절히 가공한 f와 종속변인 y의 관계는 linear 하니 우리는 linear 모델을 이용하여 (x,y) 사이의 관계를 풀었다" 라고 얘기하는 것이 적절할까요? 아니면 "독립변인 x를 non-linear function을 이용하여 가공한 f와 관계없이, 태초에 우리가 풀려던 문제에서 독립변인은 x이고 종속변인은 y이므로 (f,y)의 관계는 상관없이 (x,y)의 관계만을 보아 이 문제는 non-linear model을 이용하여 (x,y)사이의 관계를 표현한 것이다"라고 하는 것이 적절할까요? 또는 (x1,x2)=(x^2, x) 라고 변환하는 것과 SVM에서 사용하는 kernel trick의 연관성도 생각해보시면 도움이 되지 않을까합니다. Kernel trick 또한 선형분리가 불가능한 경우에 사용하여 선형분리가 가능하도록 만드는 trick인데, kernel trick을 사용했다고 해서 입력(x)과 출력(y)의 관계가 비선형이 아닌 선형관계가 되지는 않잖아요. 입력(x)에 대해 kernel trick을 사용한 x' 내지는 z가 출력(y)와 선형관계일 뿐이구요. 제 생각에도 오류가 있을 수 있으니 비판적으로 해석해봐주시면 감사하겠습니다.
@@seojh1989 아이고 답이 늦었습니다 ㅠ 1) "(a,b,c)와 종속변인(y)의 관계가 non-linear한 수학적 모델의 예시를 제안해주실 수 있을까요?" =>출력단에 activation function을 사용하면 (a.b.c)에 대해서 non-linear 하죠! 2) SVM kernel trick은 말씀하신대로 data transfomation을 이용해서 고차원으로 이동한 다음 그 공간에서 "선형 분류"를 하는 방법이죠. 하지만 지금은 분류보다는 회귀에 대해 좀더 집중해서 보고 싶어요. 3) " '어떠한 문제가 linear regression이냐 아니냐'의 문제와 '어떠한 문제를 적절한 변환을 이용하여 linear regression으로 간주할 수 있다'의 문제는 같아 보이면서도 미묘한 차이가 있습니다. " => 동의합니다. linearizable 하냐 아니냐 이렇게 구별하는 것 같더라구요. 하지만 linearizable 한 polynomial regression 같은 경우 linear regression으로 분류된다는것으로 이해했습니다. linearizable하지 않을 때, non-linear regression (후속 강의) 으로 이어지는 것이죠!
a*무언가+b*무언가+c*무언가로 표현되는 함수면 a,b,c에 대해서 linear한 함수입니다. a,b,c를 변수로, 무언가로 상수로 생각해야 하므로 헷갈리실 수 있어요. ax^2+bx+c는 x에 대해서는 2차 함수 (non-linear 함수)지만 a,b,c에 대해서는 linear함수 입니다!
안녕하십니까 선생님, 저는 인공지능 쪽을 진로로 희망하고있는 고3입니다. 영상을 보면서 여쭙고 싶은게 생겼는데요. 영상에서의 예시와 같이 파라미터 a b c가 있고 데이터 x1^2 x1 1, x2^2 x2 1 ... 있으면나중에 오차함수는 E = (y1- ax1^2 - bx1 - c) + (y2 ... 와 같이 나오잖아요. 그래서 결국 오차함수 E는 a b c라는 변수들에 대한 (abc축들을 갖는 다차원의) 선형방정식이기 때문에 '선형'이라고 말 할 수 있다. 이렇게 설명하면 되나요?? 위의 이해를 방해하는 햇갈리는 부분은, y= ax + b를 피팅하는 선형회귀문제를 푼다고 할 때, 오차함수는 E축 a축 b축을 갖는 3차원 모양의 함수가 되는데, 이 함수는 중앙이 움푹들어간 면처럼 생겼는데, 선형이라고 말할 수 있는건가요?
아아 오차 구하기 전에 출력되는 함수가 계수에 대해 선형이기 때문에 선형회귀라고 영상에서는 설명하고 있습니다. 하지만 지금 돌이켜 생각해보면 이건 좀 편법같다는 생각이 들어서 지금은 입력에 대해 출력이 선형인가로 생각하고 있습니다. 이차방정식은 x를 입력으로 생각했을 때는 선형이 아니지만 1,x,x^2 이렇게 세 개의 입력에 대해서는 선형이기 때문에 선형회귀인거죠. 이렇게 입력과 출력과의 관계로 파악하는 게 좀더 맞을 거 같다는 생각입니다~
*정정합니다!!
(2년 지나 영상을 다시 보니.. 바로잡고 싶은 게 생겼습니다. 꼭 읽어주세요!)
영상에서 설명한 것처럼 계수에 대해서 생각하는 것보단
입력과 출력 간의 관계로 보는 것이 맞습니다.
y=a*x^2+bx+c 를 x 하나에 대한 함수로 보면 non-linear 하지만
(입력 노드가 x 한 개, f(x)= a*x^2+bx+c 로 보면 곡선이 그려짐)
x^2, x 가 입력된다고 보고 x^2, x 에 대한 함수로 보면 linear function맞습니다.
(입력 node가 x^2, x 두 개, 각각을 x1, x2로 치환해서 보고 f(x1, x2) = a*x1+bx2+c 를 x1, x2 축으로 그려보면 평면이 그려짐)
따라서 ax^2+bx+c 꼴이라고 해서 무조건 non-linear regression이 아니라는 거죠!
(무엇이 입력되는가에 따라 non-linear 일수도, linear 일수도 있다)
누군가는 저처럼 헷갈리고 있을 수 있기 때문에 이 영상은 지우지 않고 남겨놓도록 하겠습니다.
--------------------
혹시 이 강의가 조금 어렵게 느껴지시나요?
그동안 갈고닦은 강의력으로 4년 만에 새로운 딥러닝 강의를 올리게 되었습니다!
지금 보고 계신 영상보다 훨씬 더 쉽고, 더 꼼꼼하게 전달하는 강의니까 아래 재생목록 저장해두고 딥러닝 공부 시작해 보세요!
< Easy! 딥러닝 재생목록 >
ruclips.net/p/PL_iJu012NOxdw1jc3KEo8Mq5oD5SXKhLu
--------------------
📢 혁펜하임의 딥러닝 마스터 커리큘럼!
LEVEL 1 - Easy! 딥러닝
hyukppen.modoo.at/?link=2n1a6p7t
LEVEL 1 - 인스톨! 파이토치
hyukppen.modoo.at/?link=131k3k7g
LEVEL 2 - Legend 13
hyukppen.modoo.at/?link=5db82s6p
LEVEL 2 - TTT: To The Transformer
hyukppen.modoo.at/?link=21c4dj8y
LEVEL 3 - ATT: After The Transformer
hyukppen.modoo.at/?link=2mcbufeg
혁펜하임님 강의 감사히 정말 잘 듣고 있습니다! 마침 이 강의를 보고 있는데 방금 달아주신 정정 댓글을 봤네요.
확인차 한가지 여쭤봅니다!
그러면 강의에 사용하신 y=a*x^2 + bx + c 는 결국 다중 선형 회귀로 이해하면 될까요?
y = w1*x1 + w2*x2 + b 형태요!
(밑에 댓글에서 Ju-Hwan Seo 님과 길게 debate 하신 부분은 일단은 논외로 하고,
정정 댓글을 통해 전달하시고자 하는 의미를 제가 제대로 이해했는지 확인하고자 합니다)
즉 강의에서 설명하셨던 a,b,c (옳은 표현으로는 w1, w2, b) 에 대해서 선형이라는 것이 아니라,
x1, x2 (강의에서 A 로 표현하신) 에 대해서 y 가 선형이라는 것이 맞을까요?
@@범범-r4d 넵넵 말씀하신대로 입력 변수가 여러 개인 다중 선형 회귀로 이해해야 합니다.
두 번째 것은 좀 애매한데요, 행렬과 벡터식으로 표현한 것은 [data를 수집해서 모은 행렬]과 [계수를 모은 벡터]의 곱으로 표현한 것이기 때문에 이 식 자체는 사실 계수 벡터에 대한 선형 식입니다.
(신호 처리 쪽에서는 이렇게 많이 전개하다보니 제가 이 식이 계수에 대해 선형이라서 선형 회귀라고 하는구나 하고 오해했던 포인트 입니다)
하지만 이렇게 a,b,c를 구하기 위해서 데이터에 대한 수식을 행렬과 벡터의 곱으로 나타낸 이 식이 선형이라서 선형회귀라고 해석하기 보다는 정의 그대로 입력과 출력을 linear approach로 모델링 한다는 점에서 선형을 이해하는 것이 맞다고 생각했습니다.
결론적으로 강의에서 나온 수식에서는
x1, x2는 "변수"로 되어있지 않고 수집한 데이터 "값"으로 되어있기 때문에 이 식을 보고 x1, x2에 대해서 y가 선형이다 아니다를 이야기하긴 좀 어려울 것 같습니다. (입력 변수 x1, x2에 대한 함수로 표현한 식이 아니고 x1, x2에 해당하는 수집된 입력 데이터들을 그저 행렬로 쌓아서 표현한, 그냥 상수 값으로서 식에 들어가있는 형태이기 때문에!)
안녕하세요, 강의 정말 감사하게 듣고 있습니다. 댓글을 보다보니 헷갈려서 질문드립니다.. 위의 질문자님이 제시하신 예시인 y=ax^2+bx+c가 다중 선형회귀의 예시라면 단순 비선형 회귀의 예시는 어떤 것이 있을수 있나요? 보는 관점에 따라 (x 변수 하나로 보느냐, x^2 ,x 변수 두개로 보느냐) 단순 비선형 회귀 혹은 다중 선형 회귀 두가지로 모두 볼 수 있는 건가요?
@@라벤더-z2f 네넵 x 하나 입력된다면 x애 대한 2차 함수로 회귀시키고자 할 때 non linearity가 필요하지만 x^2, x 두개 입력으로 같은 함수를 바라보면 1차 함수입니다. 따라서 두 입력 축으로 그림을 그리면 평면에 회귀시키려는 것을 알 수 있고 non linearity 가 필요없게 때문에 다중 선형 회귀인 것이죠!
x^2을 y로 치환해서 생각하면 더 잘 와닿을것 같습니다
와... 한학기동안 인공지능 수업 듣는데 리니어가 왜 리니어인지 처음 알았습니다. 고맙습니다.
공대 졸업한 직장인입니다
전공자도 아닌데 너무 재밌어요 설명 최고에요
유익한 동영상과 5배 유익한 덧글들 잘보고 갑니다 따봉
어우 이해가 확 됐어요!
항상 잘 보고 있습니다!! ㅎㅎㅎ
ㅎㅎㅎ감사해용!
와 유익해요 이거 궁금했었는데 ㅋㅋ
최고십니다!
종속 변수 y가 정규 분포를 따른다는 중요한 핵심도 이야기 해주셨으면 좋았을듯 !!!
충격적이네요!
댓글 감사합니다!
근데 지금 생각에서는
"a,b,c에 대해 linear 해서"
는 좀 어색한 감이 있고
"입력을 x로 보지 않고
1,x,x^2 으로 봤기 때문에"
가 수학적으로 좀더 알맞은 것 같습니다!
간단한 거긴 하지만 이거 분류해주시면 좋을 거 같습니다.
알고리즘 > 인공지능 > 머신러닝 > 딥러닝
이렇게 보면 알고리즘으로 갈수록 큰 집합이잖아요.
이것을 어떻게 구분할 수 있는지도 정리해주시면 정말 좋을 거 같습니다.
안녕하세요. 위에식은 다항회귀가 더 적합하지 않나요?
Regression을 사용할때는 입력이 되는 독립변인(x)와 출력이 되는 종속변인(y)는 이미 정해진 상태입니다. 그리고 이 둘 사이의 관계를 표현하는 수학적 모델을 linear model로 선택하여 표현하고자한다면 linear regression이 되는거고, polynomial model로 선택한다면 polynomial regression, logistic model로 선택한다면 logistic regression이 됩니다.
동영상에서 설명하신 내용은 polynomial regression 문제를 일종의 trick(=a,b,c라는 파라미터를 독립변인으로 간주하는 trick)을 이용하여 linear regression의 형태로 풀 수 있다는 내용입니다. 종속변인(y)과 독립변인(x)의 관계를 y=ax^2+bx+c로 정의하는 순간 이 문제는 linear regression이 아니며, 사용하신 trick이 적용 가능하다는 것이 이 문제의 정의 자체를 linear regression으로 변화시키지는 않습니다.
그리고 linearity 에 대한 설명은 Additivity와 Homogeneity 로 설명하시는게 더 나을 것 같습니다.
관심있게 봐주셔서 감사합니다!
"종속변인(y)과 독립변인(x)의 관계를 y=ax^2+bx+c로 정의하는 순간 이 문제는 linear regression이 아니며" 라고 말씀해주셨습니다만
아래 링크에서
( en.wikipedia.org/wiki/Linear_regression#Simple_and_multiple_linear_regression )
중간 쯤 그림으로 가보시면 이런 말이 있습니다.
"Example of a cubic polynomial regression, which is a type of linear regression. Although polynomial regression fits a nonlinear model to the data, as a statistical estimation problem it is linear, in the sense that the regression function E(y | x) is linear in the unknown parameters that are estimated from the data. For this reason, polynomial regression is considered to be a special case of multiple linear regression."
그래서 말씀하신대로, linear regression의 "linear" 그리고 polynomial regression의 "polynomal"과 같은 단어가 붙은 것은 x와 y와의 관계로 정의된 것 같습니다.
하지만 polynomial regression도 linear regression의 일종이다라고 하는 것을 보면, linear의 의미는 모델 파라미터 a,b,c와 y와의 관계로도, 좀더 폭 넓게 확장되는 것 같습니다.
즉, x와 y와의 관계가 linear 한것은 당연히 linear regression이나 a,b,c와 y와의 관계가 linear 한것도 linear regression으로 부르는 것 같습니다.
@@hyukppen linear regression이냐 polynomial regression이냐는 앞서 언급한대로 x와 y의 관계로 인해 결정나는 부분이며, 답글 달아주신 내용은 x,y와의 관계나 (a,b,c)와 y와의 관계에 초점을 맞추기 보다는 독립변인(x)의 정의에 초점을 맞추는 것이 더 바람직한 이해입니다.
종속변인(y)와 독립변인(x)의 관계를 y=ax^2+bx+c로 정의한다면 이는 polynomial regression이며, 여기에 trick을 적용하여 X=(x1, x2)=(x^2, x) 라는 형태로 독립변인을 변환하여 표현한 후, "종속변인(y)와 독립변인(x)의 관계"가 아닌 "종속변인(y)와 독립변인(X=(x1,x2)=(x^2,x))의 관계를 y=ax1+bx2+c"로 표현한다면 multivariate linear regression 문제가 되는 것이구요. 즉, a,b,c와 y의 관계가 linear 해서가 아니라 독립변인의 정의가 변화함으로 인해 문제는 재정의되어 linear regression이 됩니다.
언급하신 예시가 multivariate linear regression의 special case라 표현하는 이유도 일반적인 multivariate linear regression에서는 독립변인 X=(x1, x2, ..., xN)사이의 dependency가 없는 반면, y=ax^2+bx+c를 linear regression 문제로 변환하기 위해 수행하는 X=(x1, x2)=(x^2, x) 절차에서는 x1, x2 사이에 dependency가 존재(또는 자유도의 구속)한다라는 면에서 special case라 표현하는 것이구요. 이런 식으로 redundancy를 추가하여 문제를 해결하는 것은 다른 분야에서도 볼 수 있는 trick이구요.
계수와 종속변인(y)와의 관계에 초점을 맞추면 regression의 종류를 분류하는데 있어서 얻어갈 것이 없습니다. 심지어 y=a*sin(2x)+b*cos^2(-3x)+c*e^5x 같은 복잡한 수식들 조차도 독립변인 x가 아닌 재정의된 독립변인 X=(sin2x, cos^2(-3x), e^5x)에 대해서는 linear regression으로 간주할 수 있게 되니까요.
수학적으로 문제를 정의하는데 있어 우선되어야하는 절차는 변인의 정의인데, 많은 강의에서 이 부분이 생략되며 이로 인해 오해를 불러일으키는 것 같습니다. 변인의 정의가 중요하다는 것을 인지하여야 "y=ax^2+bx+c에 대해 regression하세요" 라는 문제를 접했을 때 "아, 이건 polynomial regression인데 x를 조금 변환하면 linear regression이니까 least square method로 풀면 되겠다"가 아니라 "종속변인과 독립변인에 대한 정의가 불충분 하니 문제가 아직 완전히 정의되지 않았다" 라는 생각을 할 수 있게됩니다.
저도 영상 작성하신 분과 같은 학교에서 박사 학위취득하며 오랜 교육과정을 거쳤습니다. 감히 예상하건데 '문제를 푸는 방법'에 대해 생각할 시간에 비해 '문제의 정의'에 대해 생각할 시간은 거의 없지 않으셨나요? 저는 그랬던 것 같습니다... 돌이켜 생각하면 다소 아쉬운 부분이구요. 'Find x∈ℤ that satisfies x^2-1=0', 'Find x∈ℕ that satisfies x^2-1=0', 'Find x that satisfies x^2-1=0' 이 다른 문제라는 걸 알기까지 너무 오래 걸린 것 같아서요.
다른 의견 있으시다면 얼마든지 환영입니다. 제작자분의 영상과 유튜브 알고리즘의 인도덕분에 간만에 생각을 정리할 기회가 되어 감사드립니다.
@@seojh1989 친절한 설명 감사합니다! ㅎㅎ
"x,y와의 관계나 (a,b,c)와 y와의 관계에 초점을 맞추기 보다는 독립변인(x)의 정의에 초점을 맞추는 것이 더 바람직한 이해다"
라는 점과
"계수와 종속변인(y)와의 관계에 초점을 맞추면 regression의 종류를 분류하는데 있어서 얻어갈 것이 없다."
라고 말씀하신 것에 대해 의문점이 있습니다.
"y=a*sin(2x)+b*cos^2(-3x)+c*e^5x 같은 복잡한 수식들 조차도 독립변인 x가 아닌 재정의된 독립변인 X=(sin2x, cos^2(-3x), e^5x)에 대해서는 linear regression으로 간주할 수 있게 된다"
라면
이것이야말로 (a,b,c)와 y와의 관계만 보고 linear 인지 아닌지를 통해
Linear model로 문제를 정의할 수 있음 즉, linear regression으로 간주할 수 있음.
이라는 의미를 가지는 것아닌가요??
@@hyukppen
앞서 언급드린 대로 linear regression인지 아닌지를 판별하는 것은 독립변인(x)와 종속변인(y) 사이의 관계가 linear model인지 아닌지에 의해 결정됩니다. "(a,b,c)와 y와의 관계를 보고 linearity를 판정한 후 linear라면 linear regression으로 간주한다"는 것은 ((a,b,c)y)가 (독립변인종속변인) 이거나 (종속변인독립변인)이라는 뜻이됩니다. 하지만, (a,b,c)라는 것은 독립변인도 종속변인도 아닌 모델 파라미터일 뿐입니다. 그러니 (a,b,c)는 현재 풀려는 문제가 linear regression인지 아닌지에 영향을 주지 못한다는 게 제가 드리고 싶은 얘기이구요.
독립변인의 정의는 문제를 정의하는 사람에 의해 결정됩니다. 하지만 (a,b,c)라는 모델 파라미터는 문제의 정의가 아니라 문제에서 활용할 수학적 모델이 결정났을때 결정되는 요소이구요. 수학적 모델을 세울 때 coefficient간 dependency가 있도록 정의하는 경우는 저는 일단 못보았습니다. 독립변인(x)와 종속변인(y)에 대해 y=a2*x^2+a1*x+a0 같은 수식은 사용하지만 a1^2*x^2+a1*x+a0 같은 수식을 세우지는 않잖아요. 이는 곧 대부분 수학적 모델에서 독립변인(x)의 적절한 치환만 이루어진다면 'coefficient'와 '치환된 독립변인(X)'의 관계는 linear 하다는 뜻이되며, 이처럼 구분력(?)이 없는 기준을 regression의 종류를 구분하는데 사용할 것 같지는 않다는게 제 생각이구요. (x,y) 관계를 표현하는데 있어 어떠한 수학적 모델을 가지고 오는지에 상관없이 독립변인의 적절한 변환만 있으면 모델 파라미터와 종속변인의 관계는 linear 할 수 있는데 뭣하러 polynomial regression, logistic regression 같은 분류를 만들어서 얘기하느냐 인거죠. (x,y)가 주어졌을때 모델파라미터(a,b,c)와 종속변인(y)의 관계가 non-linear한 수학적 모델의 예시를 제안해주실 수 있을까요? 저는 잘 떠오르지가 않아서요...
'어떠한 문제가 linear regression이냐 아니냐'의 문제와 '어떠한 문제를 적절한 변환을 이용하여 linear regression으로 간주할 수 있다'의 문제는 같아 보이면서도 미묘한 차이가 있습니다.
적절한 예시인지 모르겠습니다만.... 3층짜리 neural network를 생각해봅시다. 그리고 그럴 일은 없겠지만 마지막 레이어는 activation function이 없는 linear model이라고 합시다. 이 때, 입력이 되는 독립변인은 x, 출력인 종속변인은 y, 출력의 바로 앞에 있는 레이어의 결과 vector를 f라 합시다. 이때, (x,y)의 관계는 중간레이어의 activation function으로 인해 non-linear일테지만 (f,y)의 관계는 activation function이 없으니 linear 할겁니다.
위 예시에서, "어찌되었건 독립변인 x를 적절히 가공한 f와 종속변인 y의 관계는 linear 하니 우리는 linear 모델을 이용하여 (x,y) 사이의 관계를 풀었다" 라고 얘기하는 것이 적절할까요? 아니면 "독립변인 x를 non-linear function을 이용하여 가공한 f와 관계없이, 태초에 우리가 풀려던 문제에서 독립변인은 x이고 종속변인은 y이므로 (f,y)의 관계는 상관없이 (x,y)의 관계만을 보아 이 문제는 non-linear model을 이용하여 (x,y)사이의 관계를 표현한 것이다"라고 하는 것이 적절할까요?
또는 (x1,x2)=(x^2, x) 라고 변환하는 것과 SVM에서 사용하는 kernel trick의 연관성도 생각해보시면 도움이 되지 않을까합니다. Kernel trick 또한 선형분리가 불가능한 경우에 사용하여 선형분리가 가능하도록 만드는 trick인데, kernel trick을 사용했다고 해서 입력(x)과 출력(y)의 관계가 비선형이 아닌 선형관계가 되지는 않잖아요. 입력(x)에 대해 kernel trick을 사용한 x' 내지는 z가 출력(y)와 선형관계일 뿐이구요.
제 생각에도 오류가 있을 수 있으니 비판적으로 해석해봐주시면 감사하겠습니다.
@@seojh1989 아이고 답이 늦었습니다 ㅠ
1) "(a,b,c)와 종속변인(y)의 관계가 non-linear한 수학적 모델의 예시를 제안해주실 수 있을까요?"
=>출력단에 activation function을 사용하면 (a.b.c)에 대해서 non-linear 하죠!
2) SVM kernel trick은 말씀하신대로 data transfomation을 이용해서 고차원으로 이동한 다음 그 공간에서 "선형 분류"를 하는 방법이죠.
하지만 지금은 분류보다는 회귀에 대해 좀더 집중해서 보고 싶어요.
3) " '어떠한 문제가 linear regression이냐 아니냐'의 문제와 '어떠한 문제를 적절한 변환을 이용하여 linear regression으로 간주할 수 있다'의 문제는 같아 보이면서도 미묘한 차이가 있습니다. "
=> 동의합니다. linearizable 하냐 아니냐 이렇게 구별하는 것 같더라구요. 하지만 linearizable 한 polynomial regression 같은 경우 linear regression으로 분류된다는것으로 이해했습니다.
linearizable하지 않을 때, non-linear regression (후속 강의) 으로 이어지는 것이죠!
명쾌한 설명 감사합니다!
한가지 궁금한게, 그럼 어째서 nonlinear를 2개 이상 쌓는게 중요한가요?
더 복잡한 함수를 표현하기 위함입니다!
혁펜하임님 파라미터(a,b,c)에 대해 함수가 linear하다는게 그 함수가 어떤 함수를 말하는건가요?
a*무언가+b*무언가+c*무언가로 표현되는 함수면 a,b,c에 대해서 linear한 함수입니다.
a,b,c를 변수로, 무언가로 상수로 생각해야 하므로 헷갈리실 수 있어요.
ax^2+bx+c는 x에 대해서는 2차 함수 (non-linear 함수)지만 a,b,c에 대해서는 linear함수 입니다!
@@hyukppen 그러면 저희의 예측값(y_hat)이 a,b,c,에 대해 linear하다는 건가요?
@@samdasu550 넵 맞습니다
저렇게 행렬의 곱, 벡터의 합으로 나타내진다면 선형입니다.
선형대수학에서 항상 다루는 함수의 형태이고 선형대수학에선 모든게 평평합니다.
안녕하십니까 선생님, 저는 인공지능 쪽을 진로로 희망하고있는 고3입니다. 영상을 보면서 여쭙고 싶은게 생겼는데요.
영상에서의 예시와 같이 파라미터 a b c가 있고 데이터 x1^2 x1 1, x2^2 x2 1 ... 있으면나중에 오차함수는 E = (y1- ax1^2 - bx1 - c) + (y2 ... 와 같이 나오잖아요. 그래서 결국 오차함수 E는 a b c라는 변수들에 대한 (abc축들을 갖는 다차원의) 선형방정식이기 때문에 '선형'이라고 말 할 수 있다. 이렇게 설명하면 되나요??
위의 이해를 방해하는 햇갈리는 부분은, y= ax + b를 피팅하는 선형회귀문제를 푼다고 할 때, 오차함수는 E축 a축 b축을 갖는 3차원 모양의 함수가 되는데, 이 함수는 중앙이 움푹들어간 면처럼 생겼는데, 선형이라고 말할 수 있는건가요?
아아 오차 구하기 전에 출력되는 함수가 계수에 대해 선형이기 때문에 선형회귀라고 영상에서는 설명하고 있습니다.
하지만 지금 돌이켜 생각해보면 이건 좀 편법같다는 생각이 들어서
지금은 입력에 대해 출력이 선형인가로 생각하고 있습니다.
이차방정식은 x를 입력으로 생각했을 때는 선형이 아니지만
1,x,x^2 이렇게 세 개의 입력에 대해서는 선형이기 때문에 선형회귀인거죠.
이렇게 입력과 출력과의 관계로 파악하는 게 좀더 맞을 거 같다는 생각입니다~
@@hyukppen 오차 구하기 전에 출력되는 함수는 곡선의 회귀함수를 말씀하시는 건가요? x랑 x^2,x,1이 입력되고 출력되는 과정이 이해가 잘 되지 않네요ㅠ
@@강동흔-r5o 입력 노드가 1,x,x^2으로 세개인 겁니다 각각을 xyz라고 생각하면 평면의 방정식을 얻게 되겠죠? 따라서 선형입니다!
@@강동흔-r5o 선형대수학 1-1강에서 잠깐 다뤘습니다
ruclips.net/video/7vV2SF8DyQE/видео.html
크라머 공식으로 ㄱ ㄱ
짝짝짝