일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 데이터베이스
- 컴퓨터구조
- 혼공머신
- 데이터분석
- 자바스크립트
- JSP
- SQL
- 연습문제
- ChatGPT
- 중학수학
- 정보처리기사필기
- 상속
- 자바스크립트심화
- CSS
- 머신러닝
- 컴퓨터비전
- 자바
- 파이썬
- 디버깅
- 개발일기
- JSP/Servlet
- 딥러닝
- 중학1-1
- JDBC
- 자바 실습
- c언어
- rnn
- 순환신경망
- 정보처리기사실기
- html/css
- Today
- Total
목록인공지능/머신러닝 (113)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
지도학습의 한 종류인 회귀 모델을 학습해볼 것이다. 코드 하나 하나 제대로 읽으면서 진짜 공부를 시작해본다. k-최근접 이웃 회귀 실습해보기 데이터가 어떤 형태를 띄고 있는지 산점도를 그렸다. 하나의 특성을 사용하기 대문에 특성 데이터를 x에 놓고, 타깃 데이터를 y축에 놓는다. 농어의 길이에 따라 무게도 늘어나는 것을 볼 수 있다. 이 실습은 농어의 무게 단위로 가격을 책정하는 모델을 만드는 문제이다. 훈련 세트와 테스트 세트로 나누었다. 사이킷런에 사용할 훈련 세트는 2차원 배열이어야 한다. perch_length가 1차원 배열이기 때문에 이를 나눈 train_input과 test_input도 1차원 배열이다. 이것을 2차원 배열로 바꾸어야 한다.지난 장에서는 2개의 특성을 사용했기 때문에 자..
2장의 두번째 단원 실습을 한번 더 진행해보려고 한다. 지난번에 실습할 때는 시간에 쫓겨 실습일지를 쓸 때는 설명을 거의 쓰지 않았다. 이번에는 이해할 수 있는 만큼 충분히 기록하고 있다. 데이터 전처리 실습해보기 튜플은 리스트와 매우 비슷하다. 리스트처럼 원소에 순서가 있지만 한 번 만들어진 튜플은 수정할 수 없다. 튜플을 사용하면 함수로 전달한 값이 바뀌지 않는다는 것을 믿을 수 있기 때문에 매개변수 값으로 많이 사용한다. 넘파이 배열로 출력하면 리스트처럼 한 줄로 길게 출력되지 않고 행과 열을 맞추어 가지런히 정리된다. 2개의 열에 길이와 무게가 잘 들어있음을 확인할 수 있다.이제 동일한 방법으로 타깃 데이터도 만들어본다. np.one()와 np.zeros() 함수를 사용하여 각각 원하는..
이어서 훈련 세트와 테스트 세트도 심화 학습을 진행해보려고 한다. 훈련 세트와 테스트 세트 실습해보기 슬라이싱 연산으로 인덱스 0~34까지 처음 35개 샘플을 훈련 세트로 선택했고, 인덱스 35~48까지 나머지 14개의 샘플을 테스트 세트로 선택했다. 모델을 훈련하고 평가하는데 정확도가 0이 나왔다. 무엇이 잘못된 걸까? 이는 훈련 세트와 테스트 세트에 샘플이 골고루 섞여 있지 않고 샘플링이 한쪽으로 치우쳤기 때문이다. 넘파이 를 사용해 이 작업을 진행해볼 것이다. 넘파이는 배열의 차원을 구분하기 쉽도록 행과 열을 가지런히 출력한다. 출력 결과 49개의 행과 2개의 열을 쉽게 확인할 수 있다. 여기서는 배열을 섞은 후 나누는 방식 대신 무작위로 샘플을 고르는 방법을 사용하겠다. 주의..
머신러닝을 4일 동안 빠르게 학습했지만 거의 이해하지 못한 상태로 진도만 나가기에 급급한 것 같았다. 다시 처음부터 공부를 한번 더 해보기로 했다. 완전히 이해하지 못한 상태에서 딥러닝을 공부한들 아무 소용이 없고, 어떤 분야든 빠르게 성장하려고 하다보면 기초가 부족하다는 걸 알게 되었다. 난 많은 것들을 빠르게 공부해서 두 달만에 끝내고 내가 좋아하는 게임 개발에 전념하고 싶었다. 하지만 이렇게 수박 겉핥기 식으로 대충 공부하면 시간 낭비만 될 뿐이었다. 이해하지 못한 코드는 확실하게 알고 넘어가기로 다짐해본다. 이제 다시 머신러닝 공부를 시작해본다. 그리고 새롭게 공부하는 환경은 주피터 노트북이 아니라 코랩으로 진행할 것이다. 생선 분류 실습해보기 두 개의 데이터를 하나의 산점도로 합쳐서 그렸다. 주..
비지도 학습의 마지막 여정이 남아있다. 주성분 분석에 대한 실습을 바로 시작해보자. 주성분 분석 실습해보기 이 함수를 먼저 구현해야 사용할 수 있다. 과일이 잘 복원되었다. 이 코드를 실행하면 로지스틱 회귀 모델이 완전히 수렴하지 못했으니 반복 횟수를 증가하라는 경고가 출력된다. 하지만 교차 검증의 결과가 충분히 좋기 때문에 무시해도 괜찮다. 단원 마무리하기 모든 문제를 다 맞추었다. 공부를 제대로 했다는 증거일 것이다. 학습을 마치고오늘 새벽 4시부터 거의 쉬지도 않고 10시간을 공부했다. 내가 생각해도 참 대단하고 기특했다. 이제 오후 수업에 갈 준비를 해야겠다. 오늘은 아무 이유없이 공부가 하고 싶어 지각한 날이었다.비지도학습까..
비지도 학습의 마지막 단원이다. 이 공부도 최대한 빠르게 학습해 볼 것이다. 학습 목표차원 축소에 대해 이해하고 대표적인 차원 축소 알고리즘 중 하나인 PCA(주성분 분석) 모델을 만들어본다. 시작하기 전에k-평균 알고리즘으로 업로드된 사진을 클러스터에 분류하여 폴더별로 저장했다. 그런데 이벤트가 진행되면서 문제가 생겼다. 너무 많은 사진이 등록되어 저장 공간이 부족하다. 나중에 군집이나 분류에 형향을 끼치지 않으면서 업로드된 사진의 용량을 줄일 수 있을까? 차원과 차원 축소지금까지 데이터가 가진 속성을 특성이라 불렀다. 머신러닝에서는 이런 틈성을 차원이라고도 부른다. 10000개의 특성은 결국 10000개의 차원이라는 것인데, 이 차원을 줄일 수 있다면 저장 공간을 크게 절약할 수 있다.2차원 ..
k-평균 알고리즘에 대한 실습을 진행해볼 것이다. k-평균 알고리즘 실습해보기메모리 누수가 발생하는 경고창이 뜨고 있다. 이 경고 메시지는 KMeans 알고리즘을 사용하는 동안 Windows 운영체제에서 특정 상황에서 메모리 누수(memory leak)가 발생할 수 있음을 알려주는 것이다. 이 문제는 MKL (Intel의 수학 커널 라이브러리, Math Kernel Library)와 관련이 있으며, 특히 사용 가능한 스레드 수보다 처리해야 할 데이터 청크가 적을 때 발생할 수 있다. 그냥 놔두어도 되지만 완벽한 코드 작성을 위해 해결해보기로 했다. 하지만 문제는 해결되지 않았다. 그냥 넘어가지로 했다. 여기에 시간은 많이 투자할 수 없으니까. 하지만 여전히 ..
이번에는 평균 알고리즘에 대해 학습해 보겠다. 학습 목표k-평균 알고리즘의 작동 방식을 이해하고, 과일사진을 자동으로 모으는 비지도 학습 모델을 만들어본다. 시작하기 전에이전 학습에서 사과, 파인애플, 바나나에 있는 각 픽셀의 평균값을 구하서 가장 가까운 사진을 골랐다. 하지만 진짜 비지도 학습에서는 사진에 어떤 과일이 들어있는지 알지 못한다.이런 경우 어떻게 평균을 구할 수 있을까? 바로 k-평균 군집 알고리즘이 평균값을 자동으로 찾아준다. 이 평균값이 클러스트의 중심에 위치하기 때문에 클러스트 정 심 또는 센트로이드라고 부른다. k-평균 알고리즘 소개k-평균 알고리즘의 작동 방식은 다음과 같다.무작위로 k개의 클러스터 중심을 정한다.각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터..
군집 알고리즘에 대한 실습을 진행해볼 것이다. 군집 알고리즘 실습해보기 난 코랩이 아닌 주피터 노트북에서 실행하기에 책과는 다른 방식으로 파일을 다운받아야 했다. 이렇게 하니 잘 되었다. 파일은 맨 아래에 저장이 잘 되어 있다. 이제 데이터를 로드하며 실행해보겠다. 첫번째 이미지는 사과같다. 단원 마무리하기 뭔가 오류가 잔뜩 떴다. 이름을 하나 잘못 지정해서 틀린 거였다. 바나나가 아닌 것 마지막에 2개만 빼고 모두 바나나가 잘 출력되는 것을 볼 수 있다. 학습을 마치고 이렇게 40분만에 모든 실습을 마치고 확인문제까지 풀어볼 수 있어서 좋았다. 왠지 아침 시간에 6단원 학습을 모두 마칠 수 있을 것 같은 예감이 든다. 오늘은 아마도 수학공부는 못..
머신러닝의 마지막 단원 학습이 남아있다. 이것도 세 장으로 나누어져 있으니 공부하는데 한참의 시간이 걸릴 것 같다. 가능하면 오늘 오후 2시 전에는 공부를 다 마칠 생각이다.그럼 군집 알고리즘부터 공부를 시작해 보자. 학습 목표흑백 사진을 분류하기 위해 여러 가지 아이디어를 내면서 비지도 학습과 군집 알고리즘에 대해 이해하기 시작하기 전에한빛 마켓은 낭산물 판매로 확대하며 새 이벤트를 기획하고 있다. 고객이 한빛 마켓에서 사고 싶은 과일 사진을 보내면 그중 가장 많이 요청하는 과일을 판매 품목으로 선정하려 한다. 또 1위로 선정된 과일 사진을 보낸 고객 중 몇 명을 뽑아 이벤트 당첨자로 선정할 것이다. 사진에 대한 정답(타깃)을 알지 못하는데 어떻게 이 사진을 종류대로 모을 수 있을까? 타깃을 ..