Loading...

Python / / 2022. 5. 9. 16:30

파이썬 9강. 머신러닝 딥러닝

반응형

전제조건 : 데이터가 있어야 함

 

전 세계 IPv4 주소 32억 개 - DNS 등록된 것들! -> Http Request -> 다운(샤딩-병렬)

- 검색 플랫폼을 할 건데 검색이 중요한 게 아니라 실시간 지속적인 수집이 화난다

- 이건 알고리즘만으로 되는 게 아니라 돈이 필요함

-> 투자를 받아서 돈을 모아 하드웨어 구매하여 수집에 성공함

- 검색 로봇 (명백히 알고리즘으로 가능)

 

모든 사이트들은 구글에 검색이 되려면 html 헤더에 meta name="robots"라고 적어둬야 한다.

지금은 자바스크립트 걸어두는 것으로 바뀌었음!

 

- 도서 프로젝트 (전 세계 모든 책 다 모으기 - 전자문서화)

 

이 그림을 보고 text로 분석하기 위해서

수많은 "안녕"이라는 글자를 찾아봤겠지만 이런 빅데이터가 없다.

 

데이터가 많지 않다는 말이다.

 

2가지 "안녕"이라는 글자를 보고 안녕이라고 분석해낼 수 없다는 것이다.

 

비슷한 데이터가 수십억개는 있어야 "안녕"이라고 분석이 될 것이다.

 

분석이 안된다고 판단한 후 사람(알바)을 고용했다.

 

컴퓨터가 인공지능으로 분석하지 못하는 글자를 사람이 읽는다.

 

A는 "안뇽"

B는 "'한영"

C는 "안녕"이라고 읽었다.

 

이것도 정확하지 않다.

 

사람도 매우 많이 필요할 것이다.

이때 70% 이상이 "안녕"이라고 판단하면

안녕이라는 데이터를 DB에 저장하는 것이다.

 

인건비가 너무 많이 든다.

 

이때 구글이 인수한 게 리캡차라는 회사이다.

컴퓨터 봇에 의한 스팸, 해킹 등을 방지하기 위해 제공하는 봇 방지 API 회사이다.

 

누군가가 해킹하거나 크롤링하는 것을 방지하는 것이다.

 

로그인에 3회 실패하였을 때

내가 컴퓨터 봇이 아님을 증명하기 위해 문자나 숫자를 입력한다.

 

일반인들이 분석한 데이터를 모으는 것이다.

 

방대한 양의 데이터가 있어야 가능한 게 인공지능, AI 분야이다.

 

 

[빅데이터 3대 요소] - 3V

Volumn 양, Velocity 속도, Variety 종류(feature, column, field)

 

카카오톡의 텍스트로만 봤을 때 이 사람이 웃고 있는지 울고 있는지 알 수 없듯이

사람이 어떤 말을 하는지 손짓, 표정, 목소리 등 종류를 다양하게 수집한다.

 

필요한 데이터 하나만 수집하지 않는 것이다.

 

인공지능 (AI Artificial Inteligence)
- 머신러닝
- 딥러닝

 

사과를 정의해보자

 

길이 : 10 ~ 15cm

무게 : 300 ~ 600g

색깔 : 빨강

 

→ 실제 사과 : 11cm, 500g, 빨강 = 사과로 인식 O

→ 실제 사과 : 11cm, 500g, 초록 = 사과로 인식 X

 

이건 if문이지 머신러닝이라고 하지 않는다.

 

머신러닝 → 사과 데이터를 엄청나게 많이 던져준다.

(5, 300, 빨강) ~ (15, 500, 초록) ~ ... 수많은 데이터를 주는 것이다.

딱 정의된 정보만 사과인 게 아니다.

 

이런 정보들을 2차원 평면에 시각화를 시킨다.

 

그래프 위에 점(데이터)이 많이 찍히다 보면 어느 정도 선이 생기고,

선 근처에 있는 데이터를 사과로 인식하는 것이다.

 

1차원을 스칼라, 2차원을 벡터, 3차원을 메트릭스라고 한다.

 

길이와 무게뿐 아니라 색상도 비교하기 위해서는 3차원 메트릭스로 분석해야 한다.

 

색깔 또한 초록, 빨강으로 지정할 수 없고 비슷한 색깔을 점으로 찍어 분석한다.

 

이를 머신러닝이라고 한다.

 

엄청나게 많은 방대한 양의 데이터를 받아서 특징을 추출하여 분석하는 것이다.

확률에 근거하는 것이다.

 


 

여기서 딥러닝으로 가면 어떤 점이 달라질까?

똑같이 많은 양의 데이터를 받아서 이미지나 소리를 그대로 인식한다.

그대로 인식하여 자동으로 특징을 추출해낸다.

 

이미지를 비트화 시켜서 행렬 데이터로 바꿔버린다.

 

특징이 너무 많아서 경우의 수가 매우 많아지고 분석하는데 오래 걸린다.

매우 많은 경우의 수를 다 분석하기 위해 슈퍼컴퓨터가 필요하다.

 

머신러닝 : 특정 알고리즘을 이용해서 빅데이터의 특징을 추출하여 분석하고 학습하며 예측한다.

딥러닝 : 뇌의 뉴런과 유사한 알고리즘(인공신경망)을 통해서 이미지, 자연어, 소리 등 컴퓨터가 잘 인식하지 못하는 것들을 특징을 추출할 필요 없이 알아서 분석하고 학습하며 예측한다.

 

머신러닝을 하려면 파이썬 언어가 필요하고, 머신러닝 라이브러리가 필요하다.

pip로 라이브러리 설치하고 세팅이 필요한 것이다.

 

일반인이 세팅하기 어려워하기 때문에 클라우드 컴퓨터를 제공해주는 게 구글 코랩이다.

 

파이썬이나 라이브러리를 설치할 필요도 없고

컴퓨터도 구글 컴퓨터를 제공해준다.

 

환경이 다 만들어져 있어서 편하지만 좋은 컴퓨터를 제공해주진 않는다.

 

내 컴퓨터에서 하려면 파이썬과 라이브러리 설치도 해줘야 하고 버전 관리도 해줘야 한다.

 

주피터 노트북도 똑같이 파이썬과 라이브러리를 설치할 필요 없다.

구글 코랩과 똑같지만 내 컴퓨터 환경을 사용한다.

 

주피터 노트북을 사용해보자.

 

 

 

[출처]

 

https://cafe.naver.com/metacoding

 

메타코딩 : 네이버 카페

코린이들의 궁금증

cafe.naver.com

메타 코딩 유튜브

https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

 

메타코딩

문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist 유료강좌 : https://www.easyupclass.com

www.youtube.com

 
반응형