본문 바로가기

Programming/Machine Learning

[ML] Why do I want to study Machine Learning

근 반년이 넘게 위고레고 팀에 소속되어서 flutter 개발자로 개발을 공부하고 진행해 왔었다.

 

Flutter가 강력한 크로스 플랫폼임에는 틀림이 없고, 나아가 웹까지 건드리고 있으니 정말 앱과 웹이 하나의 코드로 실행이 될 수 있따는 것은 아주 먼 이야기는 아닐 것이다.

 

그럼에도 나는 머신러닝과 같이 최근의 기술들을 공부하고 싶었다.

 

그래서 모두를 위한 딥러닝 시즌2 TensorFlow과정을 남은 2월동안 따라가면서 공부하고자 한다.

 

또한 이제는 블로그를 단순 메모장 형식이 아닌 어느정도 정리를 다시 진행하고자 한다. 

바쁜거 안다. 그러나 크리에이터 처럼 다른이를 위한 글도 작성하자.

 

각설하고 앞으로의 게시글은 강의의 간단한 요약과 진행과정을 적어두고자 한다. 

강의 링크는 아래와 같다. 

https://www.youtube.com/watch?v=7eldOrjQVi0&list=PLQ28Nx3M4Jrguyuwg4xe9d9t2XE639e5C 

 

 

시작하자


1. Docker

- 실습환경을 동일하게 만들어줌

- Container-Based virtualization system

기존의 가상화 시스템은 똑같은 하드웨어 위에 다른 OS를 띄움. 근데 한번에 돌리게 되면 시간이 오래걸림. 그리고 이 모두 리눅스 기반

그래서 Host OS위에 Docker를 띄우면 필요한 부분만 Containerized application을 띄울 수 있게 된다. 

 

Docker는 리눅스를 기반으로 만들어진 것이라, 리눅스에 비해 속도가 조금 느리고 gpu를 사용할 수 없음. 

 

2. Docker 설치

Intel chip Macbook Pro 사용중

OS : BIg sur 11.6.3 이용중

https://docs.docker.com/desktop/mac/install/

 

Install Docker Desktop on Mac

 

docs.docker.com

여기서 자신의 cpu에 맞는 버전을 다운로드 받아서 dng 파일을 설치하면 된다.

 

설치 완료
터미널 까지 완료


머신러닝의 기본적인 개념

 

1. What is ML?

  - 프로그래밍이 고도화 된다면 그에 따라 규칙들도 많이 생김 -> 이 모든 규칙을 다 프로그래밍 하기에는 한계가 있음

  - 그렇다면 원인과 결과만 주어지고 프로그램 자체가 학습을 해서 풀어나간다면? -> 머신러닝

 

2. Supervised/ UnSupervised Learning

  - Supervised : label을 가지고 학습을 하는 것. (image labeling, email spam filter, predicting exam score)

  - Unsupurvised : label없이 그룹화 시켜서 학습을 하는 것. 

 

3. how to get supervised ML

  - train data set으로 ML을 학습시킴

  - 그 결과를 가지고 필요한 값을 넣어서 결과를 얻어냄.