전체 글 113

챕터 03 - 2

머신러닝의 지도학습을 계속 익히고 있는중이다. 앞의 학습과정을 정리하면 (과정이 점점 늘고있다 ㅡㅡ;;;) 1. 데이터 준비 및 데이터 패턴 파악하기 ( 주로 그래프들을 그려가며 대략적인 추세 파악 ) 2. 만약 스케일이 안맞는 데이터들이라면 스케일 맞추기 3. 훈련세트와 테스트세트 준비하기 4. 특정 알고리즘 (여기선 k-최근접 이웃 알고리즘 ) 으로 훈련하기 5. 과소적합, 과대적합 파악해서 파라미터 조정하기 6. 평가 7. 예측 및 사용하기 앞의 과정을 거친 모델을 사용중에 예측 할 데이터로 다시 예측을 해보는데 실데이터와 예측데이터와 큰 차이가 발생했다면? 그럼 모델 사용에 또 뭔가 수정할 부분이 생겼다는 말이다. 그걸 살펴보자. 1. 데이터 준비 및 패턴 파악하기 ( 주로 그래프들을 그려가며 대..

로컬 깃랩 세팅하기

참조글은 https://ux.stories.pe.kr/161 을 참고해서 작성했다. 원래는 M1칩의 맥에서 세팅하려 했지만 실패후 정보검색을 해보니 2023.7 현재 M1 칩에서는 도커로 깃랩서버 설치가 잘 안된다고해서 리눅스로 변경했음. https://gksdudrb922.tistory.com/214 https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/6659 글에서는 CentOS 7 환경에서 작업을 했지만 Rocky 리눅스 9.x 버전에서 작업을 진행했다. 참조글대로 하면 잘되는데 몇가지 시행착오를 겪은걸 적어봤다. 1. 설치중 "일치하는 인수가 없습니다: policycoreutils-python " 이 메세지 나오면 policycoreutils-pytho..

개발환경 구축 2023.07.14

챕터 03 - 1

미리 결론부터 말하면 이번 챕터도 머신러닝의 학습과정이 익숙해지는 연습이다. 또한 앞의 두 챕터는 무게와 길이로 도미인지 빙어인지 분류하는 작업이었고 이번 챕터는 주어진 데이터로 농어의 무게를 예측하는 문제를 풀어나가는 챕터이다. 즉 이번 챕터는 특정값을 예측하는 문제(회귀 regression)이다. 알고리즘 또한 1,2장에서 썼던 k-최근접 이웃 알고리즘을 여기서도 똑같이 적용해보면서 익혀보자. 전체과정을 아예 외우기 위해 여기까지 학습한 작업 순서대로 나열해보자면 1. 데이터 준비 및 데이터 패턴 파악하기 ( 주로 그래프들을 그려가며 대략적인 추세 파악 ) 2. 만약 스케일이 안맞는 데이터들이라면 스케일 맞추기 3. 훈련세트와 테스트세트 준비하기 4. 특정 알고리즘 (여기선 k-최근접 이웃 알고리즘 ..

챕터 02 - 2

챕터 2-1 에서는 주어진 샘플을 훈련세트와 테스트세트로 나누어야 하는 이유와 랜덤처리를 위해 넘파이 라이브러리를 사용해봤다. 하지만 아직 데이터 입력 단계에서 할 일이 좀 더 남아있다. 사실 지금까지 한 작업은 무게와 길이의 스케일 범위가 틀리기때문에 제대로 작업한건 아니다. 그걸 맞춰가는 작업을 살펴보자. 문제 : 생선 길이, 무게로 도미 알아내기 + 수상한 도미 한마리 (2-1장에서 계속 이어짐) (아직도 이 문제는 해결이 안됐다. ㄷㄷㄷ) 2.1에서 작업한 모델로 수상한 도미 데이터(길이25cm, 무게 150g) 한마리를 예측해보니 빙어로 나오는 문제가 발생했다. 이걸 해결해보자. 먼저 넘파이라는 효율적인 라이브러리를 배웠기 때문에 작업환경을 다시 맞춰보자. 데이터 준비 사이킷런으로 훈련 세트와 ..

챕터 02 - 1

챕터 1 에서는 인공지능이 뭔지, 데이터가 있을때 어떤식으로 머신러닝을 적용해야 할지 대략적으로 살펴보았다. - 데이터 입력 및 파악 - 훈련 - 예측 이런식으로 이루어지는데 이번 챕터에서는 데이터를 파악하는데 좀 더 깊게 들어가게 된다. 지도학습과 비지도학습 머신러닝 알고리즘은 크게 지도 학습과 비지도 학습으로 나누어 지는데 지도학습은 정답을 가지고 알고리즘이 정답을 맞히는것을 학습하는데 반대로 정답이 없이 입력데이터만 가지고 학습하는걸 비지도학습이라고 한다. 1장의 도미와 빙어 데이터는 무게와 길이 데이터( 무게와 길이를 특성이라고 함. 그리고 정답이외의 데이터를 입력이라고 함)와 어떤 특성 세트가 도미와 빙어것인지 정답데이터(타겟이라고 함)도 함께 제공하기 때문에 지도학습이라고 할 수 있겠다. 입력..

챕터 01

이 글은 혼자 공부하는 머신러닝 + 딥러닝 (한빛미디어 2020)이라는 책을 공부하면서 정리한 글이다. 인공지능이란? 역사 좀 더 자세한 역사는 다른 글이나 영상에서 언급되어 있기 때문에 여기서는 간단히 중요 사건만 정리해보면 최초의 언급은 150년전 소설에서 등장한다. 그후에는 막연히 공상과학 소설에서나 간간히 등장하던 개념이 1943년 워런매컬러와 월터 피츠가 최초로 뇌의 뉴런 개념을 발표하면서 인공지능이라는 개념이 실체화되기 시작한다. 이후 1950년에 그 유명한 엘런 튜링이 튜링 테스트를 발표하고 1956년에 다트머스 AI 컨퍼런스에서 인공지능에 대한 전망이 최고조에 도달하게 된다. 1957년에는 프랑크 로젠블라트의 퍼셉트론이라는 중요한 AI연구의 기본이 되는 알고리즘이 발표된다. 1959년에 데..

C++ 비주얼 스튜디오 초기 세팅

아무도 알려주지 않은 C++ 코딩의 기술 책에서 발췌했음. 비주얼 스튜디오 2019 기준으로 C++ 기본 구성용 템플릿을 만들어보자. 최초 프로젝트 생성시 솔루션 이름과 위치만 신경쓴다. 프로젝트 이름은 아무거나 일단 정하고 만들기 클릭한다. 이렇게 만들어진 빈 프로젝트에서 프로젝트를 삭제하고 새 솔루션 폴더를 선택해서 Src 폴더를 만든다. 그리고 일단 한번 프로그램을 종료하고 Src 폴더를 수동폴더로 생성한뒤에 해당 폴더로 가서 sln 파일을 Src 폴더로 옮겨 놓고 나머지 폴더들은 삭제한다. 그리고 다시 비주얼스튜디오를 sln 파일을 클릭해서 오픈한다. 이 상태에서 다시 추가 > 새 프로젝트 선택하고 프로젝트 구성화면이 뜨면 아래와 같이 위치세팅시 위에서 만든 Src 밑에 위치하도록 한다. 그럼 새..