본문 바로가기

반응형

Study

(57)
인공지능 모델의 성능을 높이는 방법 좋은 인공지능 모델이란 무엇일까요? 당연히 train set을 벗어난 완전히 새로운 데이터의 결과도 알맞게 예측할 수 있는 모델일 것입니다. 그러기 위해서 개발자들은 아래의 두 가지를 고려하면서 모델의 예측 정확도를 높일 수 있어야 합니다. 모델이 기존 데이터에 underfitting/overfitting 되지 않아야 한다. 모델이 새로운 데이터에 유연히 대처할 수 있도록 충분히 일반화(generalization) 되어야 한다. 사실 이 둘은 어찌보면 같은 맥락 상에 있습니다. 그렇다면 모델의 성능을 높이기 위해 어떤 것들을 시도해볼 수 있을까요? 데이터 조작 알고리즘 튜닝 크게 두 가지 방향으로 모델 성능을 개선할 수 있습니다. 일반적으로는 데이터 조작이 모델 성능에 가장 큰 영향을 주고 번호 순으로 ..
[부스트코스 코칭스터디 AI Basic 1기] #1-3. 파이썬 기초 문법Ⅱ 보호되어 있는 글입니다.
[모두의 딥러닝](Pytorch) #4. XOR 문제에서 발견한 퍼셉트론의 한계 + 다층 퍼셉트론(신경망)을 통한 해결 '모두의 딥러닝' 개정 2판 + 세종대학교 최유경 교수님의 인공지능(2021)으로 공부한 글입니다. # 신경망의 이해 # 6장: 퍼셉트론(perceptron) 입력 값이 일정한 수준을 넘으면 참을, 그렇지 않으면 거짓을 내보내는 회로는 뇌의 뉴런과 비슷한 매커니즘을 갖고 있습니다. 뉴런 또한 신경 말단에서 자극을 받아 생기는 전위가 임계 값을 넘으면 다음 뉴런으로 신호를 전달하고, 그렇지 않으면 아무것도 하지 않기 때문입니다. 뉴런은 서로 긴밀히 연결되어서 인간이 '생각'할 수 있게 합니다. 그렇다면 컴퓨터에도 뉴런과 비슷한 매커니즘을 도입하면 인공적으로 '생각'하게 만들 수도 있을 것 같습니다. 이런 아이디어를 바탕으로 출발한 연구가 바로 인공 신경망(Artificial Neural Network, 신..
[유니티 ML-Agents] #01. 머신러닝 및 ML-Agents 소개 본 포스트는 교재 '따라하면서 배우는 유니티 ML-Agents'를 공부하며 작성하였습니다. 이 책은 번역서이기 때문에 번역이 어색한 부분이 많이 있어서 알아서 잘 해석하고 검색해봐야 합니다. 이 책은 유니티에서 ML-Agents 플랫폼을 사용하는 것에 대해 설명한다. 이 책의 목차부터 살펴보면 이렇다. #01. 머신러닝 및 ML-Agents 소개 #02. 밴딧과 강화학습 #03. 파이썬을 이용한 심층강화학습 #04. 더 깊은 딥러닝 속으로 #05. 게임하기 #06. 다시 만들어 보는 테라리엄 - 다중 에이전트 생태계 먼저 머신러닝과 ML-Agents에 대해 살펴보고 훈련(training)에 대해 공부한다. (이 책에서 훈련은 학습과 같은 의미로 사용되었다.) 그리고 강화학습(reinforcement le..
[모두의 딥러닝] #3. 로지스틱 회귀(logistic regression) '모두의 딥러닝' 개정 2판 + 세종대학교 최유경 교수님의 머신러닝(2021) + alpha 로 공부한 글입니다. # 딥러닝의 동작 원리 # 5장: 로지스틱 회귀(logistic regression) 로지스틱 회귀(logistic regression)는 참과 거짓 중에 하나를 내놓는 과정입니다. 그리고 이 과정이 바로 딥러닝의 토대를 이룹니다. # 5.1.1 로지스틱 회귀(logistic regression)의 정의 독립변수와 종속변수의 관계를 좌표에 나타냈을 때, 직선으로 그래프가 표시되는 경우에는 선형 회귀를 사용하는 것이 적절했습니다. 그러나 독립변수에 따라 0 아니면 1, O 아니면 X 등 두 개의 종속변수 값으로만 나타나는 경우도 있습니다. 예를 들어 다음과 같은 경우가 있을 것입니다. 공부한 ..
[부스트코스 코칭스터디 AI Basic 1기] #1-1. 파이썬/AI 개발환경 준비하기 본 포스트는 '부스트코스 코칭스터디 AI Basic 1기'로 활동하고 '인공지능 기초 다지기' 강의를 들으며 공부한 것을 정리한 글입니다. # 1-1-1. 기본적인 컴퓨터 시스템(파일 시스템&터미널 환경) 컴퓨터 OS Operating System, 즉 운영체제를 말한다. 프로그램이 동작할 수 있는 구동 환경이다. application은 모두 OS에 의존적이기 때문에 프로그램을 설치할 때 사용하는 OS에 맞추어서 설치해야 한다. 그러나 Python은 운영체제에 독립적인 프로그래밍 언어이다. 파일 시스템(File system) OS에서 파일을 저장하는 트리구조 저장 체계 파일의 기본 체계는 파일과 디렉토리로 나누어지며 디렉토리(Directory)는 폴더로, 파일과 다른 디렉토리를 포함할 수 있다. 윈도우를..
[모두의 딥러닝](Pytorch) #2-3. 선형 회귀(Linear regression) 코딩으로 구현하기 세종대학교 최유경 교수님의 인공지능 강의(2021) + alpha 로 공부한 후 작성한 포스트이며, 작성한 코드는 모두 강의 코드의 사본입니다. Pytorch란? Torch라는 딥러닝과 머신러닝 용 라이브러리가 있는데, 이것을 Python 언어로 사용할 수 있게끔 한 언어입니다. Pytorch를 사용하면 Torch라는 언어를 사용해서 프로그래밍 할 것을 Python 언어를 사용해서 프로그래밍 할 수 있습니다. # Lab 1: optimizer 사용해서 SGD 구현 GD는 Gradient Descent(경사하강법)의 약어입니다. SGD는 조금 더 개선된 GD로 확률적 경사하강법입니다. https://colab.research.google.com/drive/1vhUu2pHtQnNwnPuQ3ttYRAAG-gP..
[선형대수] 행렬과 벡터의 차이 + 성분곱과 행렬곱, 벡터곱 # 1. 행렬과 벡터의 차이 벡터는 m×1이나 1×m으로 나타납니다. 행렬의 행이나 열 size가 1이면 그 행렬을 vector라고 부릅니다. 행렬은 m×n으로 나타낼 수 있습니다. 이는 m개의 행과 n개의 열로 이루어진 행렬입니다. 벡터를 원소로 가지는 2차원 배열로도 볼 수 있습니다. 의식해서 각 수를 개수라고 생각해야지, 안 그러면 헷갈립니다. 전 고등학교 과정에서 벡터만 배웠기 때문에 실수로 행렬과 벡터를 같은 개념으로 생각했습니다. 그러나 행렬과 벡터는 엄연히 다르게 사용되는 개념이기 때문에 혼동하지 않도록 주의해야 합니다. 행렬의 쓰임에 대한 정보는 링크한 포스트 참조(https://pasus.tistory.com/2) # 2. 성분곱(Hadamard product, 아다마르 곱) 성분곱은 벡..

반응형