본문 바로가기

분류 전체보기137

2021.10.6 TIL : [ML] 지도 학습 - Decision Tree (의사결정 트리) 만약 다음과 같은 데이터가 있다고 할 때, 분류를 위해서는 어떤 선을 그어야 할까? SVM이나 linear regression, Naive Bayes 등을 이용하면 하나의 선을 그을 수도 있겠지만, DT에서는 x축 혹은 y축과 평행한 직선부터 그려서 나눈다. 그럼 다음 선들 중에 어떤 선을 처음으로 그려야 가장 효율적으로 사과와 배를 구분할 수 있을까? height를 기준으로 선을 그으면 최소 2개의 오류가 발생한다. 반면에 width를 기준으로 그으면 최소 오류가 하나이다. 이 때 주의해야 할 점은 사과와 배를 구분하는 기준선은 train data 위에 그을 수 없다는 점이다. train data들은 이미 분류가 된 데이터들인데, 이 위에 선을 그으면 선에 위치한 데이터들을 분류할 수 없기 때문이다. .. 2021. 10. 6.
2021.9.21 TIL : [ML] 지도 학습 - Naive Bayes 머신 러닝에서 가장 기초 알고리즘으로 배우면서도 자주 쓰이는 것 중 하나도 나이브 베이즈 알고리즘을 배운다. 특징(feature)과 라벨링 예를 들어 하루종일 Let it go를 듣는 나에게 새로운 음악을 추천하는 머신러닝 알고리즘을 만들고 싶다고 해보자. 그러면 Let it go의 특징들 (템포, 장르, 가수의 성별, 음악의 밀도)을 분석하고 다른 음악들을 라벨링(내가 좋아할 것 같은 음악, 좋아하지 않는 음악) 할 수 있다. 이렇게 라벨링된 데이터들은 특징을 시각화한 산포도(scatter plot)으로 나타낼 수 있다. 컴퓨터는 3차원도 이해할 수 있지만 우리는 2차원으로 그려야 이해가 쉽기 때문에 2차원으로 그린다. Stanley Terrain Classification Stanley라는 자동차는 .. 2021. 9. 21.
2021.9.20 TIL : [컴퓨터 구조] MIPS 어셈블리어 1. 메모리 내의 명령어 명령어는 컴퓨터의 언어로, 컴퓨터가 이해하는 명령 체계를 의미한다. 명령어는 어휘와 공식 문법들을 따라줘야 한다. 같은 명령어 집합 구조(ISA) family는 같은 명령어를 지원하는데, 예를 들면 Intel x86 family나 ARM, MIPS, DEC Alpha 등 이 있다. 이들은 하휘 호환성을 지원한다. ※하위 호환성이란? 새 제품이 이전 제품을 염두에 두고 만들어진 제품에서 별도의 수정 없이 그대로 쓰일 수 있는 것을 의미. 다른 컴퓨터에서는 다른 명령어 집합을 가지지만 이들 사이에서도 동일한 성질들이 존재한다. 초기의 컴퓨터들은 굉장히 간단한 명령어 집합들을 가졌다. 그 이래로 ISA는 점점 복잡해지는 경향이 있었고, 이를 CISC(Complex Instruction.. 2021. 9. 20.
2021.9.3 TIL : [네트워크] 스위칭 패킷 교환과 회선 교환 1. 교환망(switching network) 단말(station)들이 통신을 하기 위해서는 통선선이 유선 혹은 무선으로 연결되어 있어야 한다. 스위치 (혹은 인터넷 망에서의 라우터)로 망을 구성하는 경우 많은 단말들을 연결하기 위한 통신선의 수를 줄일 수 있다. 2. 스위칭 방식 1) 회선 교환망 회선 교환망에서는 두 개의 단말 사이에 물리적 선로(channel, 찐 구리줄을 의미)가 연결되어 통신을 하는 동안에는 두 단말만이 이 물리 channel을 이용한다. 두 단말이 통신할 때 사용하는 이 물리 선로를 회선(circuit)이라고 한다. 여기서 A와 D를 잇는 회선과 C와 G를 잇는 회선은 서로 다른 별도의 구리선이다. 전화망이 회선 교환망을 사용하는 대표적인 예시이다. 회선 교환의 절차에는 세 가.. 2021. 9. 3.
2021.9.3 TIL : R 기초 - 1 이번 학기 데이터 사이언스 수업을 수강하면서 통계 프로그래밍 언어로 R을 사용하게 되었다. 이번 학기 머신 러닝 관련 수업들에서는 전부 python을 쓰기 때문에 데사 수업도 파이썬을 사용하길 바랬지만, 교수님이 파이썬은 다른 수업에서도 많이 배울 수 있고, 아직까지는 R언어를 사용하는 회사들도 많기 때문에 R을 다뤄보는 게 좋을 것 같다고 말씀하셨다.. (다른 수업에서 많이 배우는 거 들켜서 할말은 없음) 그래서 R 기초를 미리 배워두려고 한다. R과 R studio는 쉽게 다운로드 할 수 있다. 내가 참고한 것은 여기. 전에는 다운로드 해야 될 거 필요하면 설명 안 읽고 무작정 다운로드부터 받아보기 시작했는데, 그렇게 하니 기본 설정을 빼먹었다던가 하는 오류가 자주 나서 나중에 헤매는 경험을 많이 했.. 2021. 9. 3.
2021.8.29 TIL : [ML] 지도학습 - KNN(K-Nearest Algorithm) 알고리즘 만약, 우리가 어떤 영화를 분류해야 한다고 가정해보자. 이 영화 외에 여러 영화들을 분석했을 때, 다음과 같은 결과가 나왔다. 우리가 분석해야 하는 영화가 별이라고 하자. KNN 알고리즘은 거리가 가까운 k개의 표본을 보고 k 개 중에 가장 다수를 차지하는 쪽으로 분류하는 것이다. 그래서 먼저 k 값을 정해줘야 하는데, 이 때 k 값은 홀수이면서 작은 값이 좋다. 짝수인 경우는 2대 2와 같은 한 쪽으로 치우치지 않는 결과가 나올 수 있기 때문이다. k = 3 이라고 할 때 위의 예시에서 별에 가까운 영화들을 분석해보면 2개는 액션 영화, 1개는 로맨스영화이다. 따라서 별은 액션 영화다 라고 하는 prediction, 예측을 할 수 있게 된다. 이 때 별과 다른 neighbor 사이의 거리를 구하는 방법.. 2021. 8. 29.