BIG DATA & AI/Machine Learning
-
[책 리뷰] 파이썬 라이브러리를 활용한 머신러닝 (2판)BIG DATA & AI/Machine Learning 2022. 3. 31. 22:37
이 책은 무려 Scikit-learn 핵심 contributor인 안드레아스 뮐러가 지은 '머신러닝 바이블'이라고 감히 소개한다. 머신러닝 이론과 실습을 전반적으로 시작/복습하기 좋으며, 머신러닝에 관심이 있는 개발자라면 누구나 이해할 수 있는 책이다. 물론 머신러닝을 해 본 사람들에게는 기초를 다시 닦기에도 너무 좋은 책이다. 즉 초급자부터 실무자에게 모두 도움이 되는 알찬 contents를 담고 있다고 할 수 있겠다. 다만 머신러닝에 관한 책이라 딥러닝은 keras만 잠깐 언급할 뿐 딥하게 다루지는 않는다. 참고로 1판에 비해서 개정2판은 흑백->컬러본으로 좀 더 컨텐츠 가시성이 좋아졌으며 trendy한 코드를 많이 담고 있다고 한다. 지도 학습, 비지도 학습, 모델 평가, NLP 등이 다뤄지고 마지..
-
K-NN (K-Nearest Neighbor)BIG DATA & AI/Machine Learning 2021. 10. 19. 16:50
K-NN의 개념은 직관적이다. K-NN Regression이란 가까운 K개의 점들의 평균 값을 구하여 값을 도출하는 회귀 방법이고, K-NN Classification은 가까운 K개의 점들이 A라는 classification이 많으면 A로 분류되는 방식이다. K-NN classifier는 지금도 많이 사용하고 있다고 한다. 여기서 K란 근처의 data 중 몇 개를 참조할 것인지를 결정하는 hyperparameter이다. 또한 근처라는 개념을 정의할 수 있는 거리는 일반적으로 점 사이의 거리를 구할 때 사용되는 유클리드 거리(Euclidean Distance)가 사용된다. 그 외에도 격자 무늬로 간 거리를 계산하는 맨해튼 거리(Manhatten Distance) 방식도 있다. K-NN은 query가 들어오..
-
Decision Tree (의사결정 트리)BIG DATA & AI/Machine Learning 2021. 10. 19. 10:29
Decision Tree AI를 이용한 마케팅 중, 백화점 앱에서 성별, 연령, 관심사, 구매 내역 등을 봤을 때 관련 상품을 할인하여 주는 쿠폰을 발송하는 이벤트를 종종 보곤 한다. 이 AI는 어떤 원리를 거쳐서 만들어진 것일까? (물론 다른 방법으로도 가능하지만, decision tree의 대표 예 중 하나를 든 것이다.) Decision tree는 위에서부터 아래로(top-down) data에게 기준을 주어 질문을 한 뒤 원하는 class로 분류될 수 있도록, 또는 원하는 값을 찾을 수 있도록 하는 machine learning의 한 방식이다. 아주 basic한 Iris를 예로 들면, 꽃잎의 길이가 50cm가 넘는가? -> Yes 이면 setosa로 분류되는 것과 같은 방식이다. No라면, 꽃잎의 ..
-
Handling Devices in TensorFlow 2.0 (Colab)BIG DATA & AI/Machine Learning 2021. 9. 24. 23:24
Using CPU: Using GPU: Colab으로 GPU를 이용할 때에는 추가적인 설정이 필요하다. 런타임 ➡ 런타임 유형 변경 선택 하드웨어 가속기가 None으로 되어 있으면, GPU로 변경 세션이 재시작되었으니, tensorflow를 다시 import를 해준다. 아래와 같이 gpu_device_name을 얻어오는 것을 볼 수 있다. 또한, GPU를 사용할 시 GPU 지원 tensorflow library가 설치 되어 있어야 한다. (아래는 notebook 전용 command) !pip install tensorflow-gpu==2.3.0 위 조건이 만족된 상태에서 아래와 같이 GPU를 이용하여 tensorflow library를 사용할 수 있다. +) 추가 - 내가 참고한 예제에서는 tf.test..
-
Anaconda에 Tensorflow 2.0 설치하기 (쉬움주의)BIG DATA & AI/Machine Learning 2021. 8. 11. 16:36
회사에서 온라인 강좌를 신청할 수 있어서 tensorflow 2.0 강의를 듣게 되었다! 근데 Anaconda에 대한 이해가 부족하여... tensorflow 설치를 한 번에 하지 못하였는데, 이번 김에 정리해보려고 한다. command를 정리하면 다음과 같이 매우 간단하다. Anaconda Commands # conda version conda --version # list up conda's packages conda list Anaconda Environment Commands # make conda env conda create -n [name] python=[python_version] # activate/deactivate conda env conda activate [conda_name] c..
-
머신러닝과 일반 소프트웨어 비교 (Machine Learning VS General Software)BIG DATA & AI/Machine Learning 2021. 5. 1. 16:09
머신러닝 - Machine Learning! 👾 간단한 머신러닝 알고리즘의 경우 일반 소프트웨어와 비교했을 때 거의 차이가 없는 것처럼 보이지만, 사실은 완전히 다른 구조를 갖고 있다. 우리가 쉽게 접할 수 있는 일반적인 소프트웨어는 언제나 똑같은 과정(알고리즘)을 통해 똑같은 결과를 낸다. 즉 1+1=2라는 일종의 계획된 "계산"을 한다. 하지만 머신러닝 기반 소프트웨어는 데이터와 알고리즘에 따라 다른 결과를 "추론"하는 일을 한다. 즉 이미 알고있는 것으로부터 논리적 결론을 도출한다. 이를 도식화하면 다음과 같다. 우리가 많이 사용하는 스마트폰 잠금 화면을 예로 들어보자. 비밀번호 PIN CODE의 경우 general SW로 적용할 수 있다. 그래서 사용자가 설정한 비밀번호를 저장하여, 이를 입력과 ..
-
Deep Learning 관련 TMI들BIG DATA & AI/Machine Learning 2021. 4. 29. 16:59
그냥, deep learning 공부하기엔 지루하지 않은가? 아니다! 난 아직 열정이 너무 넘쳐서 공부를 계속 할 거다! ... 라면 뒤로 가기를 누르시고, 쉬어가는 차원에서 deep learning 관련하여 정리해 본 TMI들을 공유하겠다. TMI#1. tensorflow 수학에서 1차원 배열은 벡터(vector), 2차원 배열은 행렬(matrix)이라고 부른다. 또 벡터와 행렬을 일반화한 것을 텐서(tensor)라고 한다. Google의 딥러닝 프레임워크 원탑인 tensorflow의 이름이 여기서 유래했으며, 그 뜻은 텐서(tensor)가 신경망을 타고 흐른다(flow)는 뜻이 되겠다. Reference: Deep Learning from Scratch (사이토 고키, Oreilly, 2017)