프로그래밍/인공지능26 다중 회귀(multiple regression) 이번엔 다중 회귀 입니다. 특성이 1개만 있지 않으니까 이 회귀도 꼭 필요합니다. * 다항 회귀랑 헷갈리지 않게 주의해 주세요..! * 선형회귀는 특성을 1개만 사용했습니다. 오늘은 여러 특성을 사용하는 선형 회귀인 다중회귀를 공부해보겠습니다. 1. 다중 회귀와 특성 공학 선형 회귀를 다시 기억해 볼까요? 1개의 특성으로 산점도와 그래프를 그려보면 직선으로 되었습니다. 2개의 특성으로 그리면 평면이 그려집니다. 그럼 방정식은 $(target) = a × (feature 1) + b × (feature 2) + (intercept) $ 이 됩니다. 다시 농어의 데이터를 가져올게요.. ㅋㅋ 이번엔 길이 뿐만 아니라 높이와 두께도 추가되었습니다. 데이터를 전처리 할 때, 2가지 특성을 만들 것 입니다. 특성들.. 2024. 2. 5. 다항 회귀(polynomial regression) 맨 처음 글이 선형 회귀였던 것 같은데 이번엔 다항 회귀를 공부하도록 하겠습니다. 1. 다항 회귀 농어의 무게와 길이의 산점도를 기억하시나요? 다시 가져와 볼게요. 만약 이 그래프를 선형 회귀 시키면 우상향 직선 그래프가 그려질 것입니다. 음.. 하지만 이 산점도는 약간의 곡선이 있잖아요? 그럼 곡선을 그리기 위해선 2차항 이상의 방정식이 필요할 것입니다. 식은 $ (weight) = a×(length)^2 + b×(length) + c $ 처럼 될 것입니다. 이 식을 구현하려면 $(length)^2$ 의 항이 학습셋에 추가가 되어야 합니다. 넘파이를 이용해서 데이터 앞에 붙여볼게요 더보기 * 기본 준비 코드 import numpy as np perch_length = np.array([8.4, 13.7.. 2024. 2. 2. k - 최근접 이웃 회귀 아주아주 오랜만에 인공지능입니다. 그동안 입시랑 방학으로 계속 쉬었기 때문이죠. 이건 안되겠다 싶어 다시 공부하러 왔습니다. 오랜만에 회귀를 해보겠습니다. 전에는 선형회귀, 다중회귀만 올린 것 같은데 회귀의 방법도 여러가지가 있습니다. 그중 오늘은 k - 최근접 이웃 회귀 입니다. 1. k - 최근접 이웃 회귀 먼저 k - 최근접 이웃 알고리즘의 원리는 간단한데 이름처럼 예측하려는 샘플에 가장 가까운 샘플 k개를 고르고 근접한 클래스들의 개수를 비교해서 샘플의 클래스를 예측하는 것입니다. 음 예를 들면 지금 제 지갑에서 동전 하나를 골랐고, 가장 가까운 주변엔 5개의 동전이 있습니다. 그 중 4개는 100원이고, 1개는 500원일 때, 고른 동전은 100원이라고 예측할 수 있습니다. k - 최근접 이웃 .. 2024. 2. 1. 오차역전파 계산법 -2 6. 은닉층의 오차 수정하기 오차 업데이트 식을 구했으니 과정을 보도록 하겠습니다. 가중치에 기울기를 뺀 값을 구해야 하므로 $$ w_{11}(t+1) = w_{11}t - \frac{\partial Er Y_{out}}{\partial w_{11}} $$ 으로 계산해야 합니다. $y_{h1}$이 아니라 $Y_{out}$인 이유는 $y_{h1}$이 은닉층에 있기 때문입니다. 기울기를 구하면 $$ \frac{\partial Er Y_{out}}{\partial w_{11}} = \frac{\partial Er Y_{out}}{\partial y_{h1}} \cdot \frac{\partial y_{h1}}{\partial ws_1} \cdot \frac{\partial ws_1}{\partial w_{11.. 2023. 8. 11. 오차 역전파의 계산법 -1 앞 글에서 오차 역전파에 대해 간단히 알아보았었습니다. 이번에는 오차 역전파를 계산하는 방법을 더 자세히 공부해 보도록 하겠습니다. 한 번에 담으면 글이 너무 길어지니 끊어서 가보도록 하겠습니다. https://austag.tistory.com/18 오차 역전파와 활성화 함수 이번글에서는 은닉층에 대해 좀 더 알아보려합니다. 이전 글들에 은닉층을 넣어서 딥러닝 모델을 만들고 그 은닉층안에서는 가중치가 부여되고 수정되는 과정, 즉, 가중치의 업데이트가 일어나 austag.tistory.com 1. 출력층의 오차 업데이트 딥러닝 안에서 오차 역전파는 이러한 과정이 일어납니다. 각 노드 네부에서는 입력값을 이용해 가중합을 만드는 단계와 이 가중합을 활성화 함수를 적용해 출력하는 단계로 구분됩니다. 오차 역전파.. 2023. 8. 11. 전이 학습 - 2 앞글에서는 전이 학습을 넣지 않은 학습이었지만 이 글에서는 전이 학습으로 모델 성능을 극대화해보도록 하겠습니다. 앞 글에서 전이 학습은 '기존의 학습 결과를 가져와서 유사한 프로젝트에 사용하는 방법'이라고 했습니다. 전이학습을 위해서 이미지넷(ImageNet) 데이터셋에서 정보를 추출해오겠습니다. 이미지넷(ImageNet) 데이터셋 1000가지 종류로 나뉜 120만 개가 넘는 이미지를 놓고 어떤 물체인지 맞히는 '이미지넷 이미지 인식 대회(ILSVRC)'에 사용되는 데이터셋으로 MNIST와 같이 가장 유명한 데이터셋 뇌 사진만 필요한데 관련없는 이미지넷의 데이터를 가져오는 이유는 '형태'를 구분하는 기본적인 학습이 되어 있기 때문입니다. 딥러닝은 학습이 시작되면 어떤 픽셀의 조합이 '선'이고 '면'인지 .. 2023. 8. 6. 전이 학습(transfer learning) - 1 이제 거의 막바지에 도달했습니다. 열심히 해보자구요. 주말에 이 책을 끝내는 것이 목표입니다! (좀 많이 늦긴 했지만...) 전이학습(transfer learning)은 수만 장에 달하는 기존의 이미지에서 학습한 정보를 가져와 프로젝트에 활용하는 것입니다. 방대한 자료를 통해 미리 학습한 가중치 값을 가져와 프로젝트에 사용하는 방법으로 컴퓨터 비전, 자연어 처리 등에서 예측율을 높이고 있습니다. 많은 데이터가 필요한 딥러닝에서 데이터가 충분하지 않을 때 활용할 수 있는 방법이기도 합니다. 딥러닝은 데이터에 따라 방식이 달라집니다. 정답을 알려주는(레이블이 있는) 지도학습(supervised learning)과 정답을 알려주지 않는(레이블이 없는) 비지도 학습(upsupervised learning)이 있.. 2023. 8. 5. 오토인코더(Auto-Encoder) 음 오토인코더는 처음보는 것 같은데요, 이 알고리즘도 딥러닝을 이용해 가상의 이미지를 만드는 또 하나의 유명한 알고리즘입니다. 오토인코더(Auto-Encoder)는 비지도 학습 방법이고, 입력 데이터의 특징을 효율적으로 담아낸 이미지를 만들어냅니다. 완전히 가상의 이미지를 만드는 GAN과는 다르죠. 안경을 안쓰고 보는 것처럼 흐릿하게 나옵니다. 근시가 있는데 안경을 쓰지 않으면 그 물체의 특징이나 색, 형태는 보이지만 흐릿하게 보이는 것처럼 이미지가 생성됩니다. 그렇다면 흐릿하게 나오는 이 알고리즘이 어디에서 쓰일까요? 영상 의학 분야 같은데이터가 충분하지 않은 곳에서 사용할 수 있다고 합니다. 학습 데이터는 현실 세계의 정보를 담고 있어야 하기 때문에 가상의 이미지를 넣으면 결과가 다르게 나올 수 있지.. 2023. 8. 4. 생성적 적대 신경망(Generative Adversarial Networks) 네. 글을 날리고 다시 쓰는 GAN 입니다. 역시 생성적 적대 신경망이라고 하면 어색하군요. GAN.... 처음 접했을 때 어려웠던 부분입니다. 신기하긴한데 이론이랑 코드가 어려웠습니다. 다시 실습해보면서 공부해보도록 하겠습니다. 많아요 많을거에요.... 재밌으면서 신기한데 어려워요.... GAN(Generative Adversarial Networks)은 딥러닝의 원리를 활용해 가상의 이미지를 생성하는 알고리즘입니다. 음 예를 들자면 얼굴 이미지를 만들기, Midjourney, Dalle 같은 이미지 생성, 그리고 이미지 복원 등이 있습니다. GAN을 설명하는 데에는 위조지폐범과 경찰의 예를 가장 많이 듭니다. 위조지폐범은 위조지폐를 진짜 지폐처럼 만들려고 할 것이고 경찰을 이를 진짜 지폐와 비교하여 .. 2023. 8. 3. 이전 1 2 3 다음