전체 글
-
More Complex Neural Networks | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 1. 27. 14:49
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition 지난 시간에 Neural Network에서 각 레이어에서 노드들이 어떻게 계산을 하고 입.출력을 받아서 결과값을 만들어내는지에 대해 배웠다. 이번에는 Hidden Layer(은닉 레이어)가 1개 이상인 경우를 만들어보자. 만약, 레이어의 수가 총 5개인데, 인풋 레이어 (layer0), Hidden Layer (layer 1, 2, 3) 그리고 아웃풋 레이어 (layer 4)가 있고, 아래와 같다고 가정해보자. layer 1: 노드 4개 layer 2: 노드 5개 layer 3:..
-
Neural Network Layer | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 1. 27. 09:49
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition 현대 ML분야에서 대부분의 Neural Networks들은 뉴런 Layers들로 구성되어 있다. 그렇다면 이 계층을 어떻게 구성하면 좋을까? 이 계층 구성하는 방법을 이용해서 구성하고 나면, 이 모든것을 취합해서 대규모 신경망을 형성할 수 있다. Neural Network가 어떻게 작동하는지 알아보자. 아래와 같은 뉴런 네트워크가 있다고 가정해보자. 1개의 layer가 있는 네트워크이고, 그 layer에서 나온 결과값을 출력하는 구조이다. 가운데 3개의 뉴런이 있는 "은닉 레이어..
-
ML Intro | Iris Analysis - Training Data & Testing DataMachine Learning/ML with Python Library 2024. 1. 24. 22:05
지난번, 데이터 적재 과정을 마지고 나서, 이제 본격적으로 데이터를 전처리하는 과정으로 넘어가보자. 어떤 전처리가 필요할까? 지도학습을 완성시키기 위해서는 모델을 트레이닝하는것도 중요하지만, 테스팅 데이터를 따로 준비해두고, 트레이닝한 모델의 성능이 얼마나 좋은지를 판단할 수 있도록 하는 과정도 꼭 필요하다. 여기서 중요한점이 있다. 바로 모델을 만들 때 쓴 데이터는 평가 목적으로 사용하지 말아야한다는 것이다. 만약 트레이닝 데이터와 테스팅 데이터가 일치한다면, 새로운 사항들이 주어졌을 때, 이 모델은 어떠한 새로운것에 대해서는 잘 작동하지 않을수도 있다. 그렇기 때문에 우리가 가진 150개의 데이터를 두 그룹으로 나눈다. 하나는 모델을 만들 때 사용하며, 이것을 훈련 데이터(Training Data) ..
-
ML Intro | Iris Analysis - Import Data and CheckMachine Learning/ML with Python Library 2024. 1. 23. 19:02
Scikit Learn을 사용해서 첫번째 ML 어플리케이션을 만들어보자. 바로 Iris의 품종을 예측하는 모델인데, 꽃잎(petal)과 꽃받침(sepal)의 폭과 길이를 cm 단위로 측정한 값과 전문가들이 setosa, versicolor, virginica종으로 분류한 iris의 데이터도 가지고 이 값들을 이용해 어떤 품종인지 구분, 즉 Classification하는 어플을 만들것이다. 그래서 iris(붓꽃)의 종류는 클래스(class)라고 한다. 그리고 iris의 하나하나 특징은 레이블(label)이라고 한다. 먼저 코랩에서 sklearn에서 제공해주는 iris데이터를 import해서 살펴보았다. from sklearn.datasets import load_iris iris_dataset = load..
-
Introduction to Machine Learning with PythonMachine Learning/ML with Python Library 2024. 1. 22. 19:58
새해를 맞아 다시한번 머신러닝 프로젝트를 구상한다. 매년 배우려고 해도, 쌓여가는 업무에 제대로 된 모델을 만들어본 적 없었다. 2024년에는 반드시 해내고 내겠다는 다짐으로 커뮤니티에서 추천을 많이 하는 책을 샀다. 표지만 봐도 믿고 산다는 파충류 책이었다. 이 책을 정독하고 follow 하면서 ML의 엔트로피를 줄이고자 한다. https://www.yes24.com/Product/Goods/42806875 파이썬 라이브러리를 활용한 머신러닝 - 예스24 사이킷런 핵심 개발자에게 배우는 머신러닝 이론과 구현 현업에서 머신러닝을 연구하고 인공지능 서비스를 개발하기 위해 꼭 학위를 받을 필요는 없다. 사이킷런(scikit-learn)과 같은 훌륭한 머신 www.yes24.com 그렇다면, 머신러닝으로 어떤..
-
What is Pandas?Machine Learning/Pandas 2024. 1. 17. 18:33
Pandas(팬더스)는 데이터 분석을 위한 Python 패키지 중 가장 중요하다고 해도 과언이 아니다. 다양한 형태로 읽고 쓸수 있는 기능은 Data Science 실무자(practitioners)들에게 다재다능한 도구를 제공한다. 정확하게 Pandas란 무엇일까? 표 형식의 데이터를 다루기 위한 Python 데이터 패키지이다. Row와 Column의 형태로 된 데이터, 일명 DataFrame으로 불린다. 이 DataFrame은 엑셀시트로 생각할 수 있다. Pandas의 기능에는 데이터 변환(row sorting, taking subsets), 평균과 같은 통계 계산, DataFrame의 재구성 및 DataFrame 결합등이 포함된다. Pandas는 다른 유명한 Data Sceince 패키지들과도 잘 작..
-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 6] SCP Secret File and TestingDevelopment Note/H891: YouTube Playlist Application 2023. 12. 30. 02:34
자, 이제 앱이 정상적으로 통신이 되었다. 하지만, 한가지 Task가 남아있다. 이 프로그램은 YouTube API와 소통을 하는데, OAuth2를 이용해서 credential을 보내고 있다. 그 정보가 담긴 파일이 있는데, GitHub에 올리기에는 안전하지 않아서, 로컬에서 서버로 직접 Copy 하는 방식으로 진행했다. 복사는 간단하다. scp 코멘드를 이용하면 된다. scp -i ~/Downloads/sshKeyYouTube.pem secret-file.json ubuntu@ec2-54-180-92-29.ap-northeast-2.compute.amazonaws.com:/home/ubuntu/h891-youtube-api 자 이제, secret을 이용해서 동작하는 아래 콜을 외부에서 해보자. @app..
-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 5] Gunicorn & NginxDevelopment Note/H891: YouTube Playlist Application 2023. 12. 30. 01:47
지난번에는 git을 설치하고, ssh 세팅을 완료했다. git 설치 ssh 세팅 python 설치, pip 설치 google client 설치 Flask 설치 Security Setting 완료 Gunicorn 설치 nginx 설치 Flask 서버를 돌리면, 이런 메세지가 빨간색으로 나온다. WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. WSGI 서버를 사용하라는 경고이다. 왜일까? Request(요청)이 많아지면, 서버에는 병목 현상이 생기게 된다. gunicorn과 같은 WSGI는 여러개의 Thread를 생성해서 요청을 병렬로 처리해주기..