[Multi-Variable Linear Regression] Linear Regression 중 변수가 여러개인 경우가 많습니다. (사실 실생활에서는 이게 대부분입니다.)변수라 함은 Hypothesis에서 x가 여러개라는 뜻입니다. x가 여러개면, Hypothesis는 어떤 모습일까요? 3개의 x에 따라서 3개의 W(weight)와 3개의 Hypothesis가 나왔네요. (bias는 constant이므로 제외하고 말하겠습니다.) 각각 독립적인 변수들이므로 모든 항의 합으로 식을 통일시킬 수 있겠군요. 이과생들 중에서 조금만 공부를 하신 분이라면(물론 이걸 아는 문과 능력자 분들도 많죠) 이 식 표현을 어디서 많이 보셨을 겁니다. Dot Product. 내적이죠. 여기서 우리는 행렬이 얼마나 강력한 힘을..
[Linear Regression] Regression(회귀)는 지도학습에 포함되는 방법론입니다. 그 중에서도 Linear Regression을 알아볼텐데요.Linear은 "선형"이라는 뜻을 가지고 있습니다. 선형이라 함은 배수로 늘어나는 값을 가진 것들의 모양세를 말합니다.그래프로 표현하면 기울기를 가지고 있는 직선으로 표현됩니다.즉, Linear Regression은 배수로 늘어나는 연속적인 값들의 데이터로 예측하는 것입니다. 값을 예측하기 전에 가설을 세울 필요가 있습니다.Linear Regression의 경우 "이 데이터들은 배수로 늘어나는 연속적인 값들의 데이터이기 때문에 이를 만족하는 1차 함수가 있을 것이다"라는 가설입니다. 그리고 그 1차 함수를 Hypothesis라고 합니다. (Linea..
[Machine Learning 이란] 머신러닝을 그대로 풀이해보면 기계학습입니다. AI(인공지능)의 근간이 되죠.예전부터 우리는 생각하는 기계에 대해서 관심이 많았습니다. 그리고 기계가 인간을 점령(?)하는 영화도 많이 보셨을 겁니다."기계가 인간처럼 생각한다."알파고가 이세돌과의 대국에서 승리한 순간에 이런 생각은 그리 이상한 생각이 아니었죠. 기계를 왜 학습시켜야 하는가?이 질문은 인간이 "사고력"을 갖게 되는 과정을 그대로 가져왔다는 점에서 의미 있습니다. 우리가 기억하지 못할 만큼의 어린 시절을 기억해 봅시다(?)네. 그냥 주변의 갓난 아기들을 생각해보죠.갓난 아기들은 공원에 있는 네발로 걸어다니는 동물을 "개"라고 인식하지 못합니다.하지만 충분히 학습된 아기들은 귀여운 손가락으로 그 동물을 가..
[Selenium(셀레늄) 사용하기] 그전에 사용했던 Requests와 BeautifulSoup는 HTML문서를 가져오고 Parsing하는 역할을 했습니다.Selenium은 조금더 업그레이드 해서 브라우저를 가동시켜 HTML문서를 객체화 시킵니다.직접 브라우저를 가동시키면 어떤점이 다르냐.웹페이지를 작동시킨 이 후, 나중에 구동되는 Javascript 이 후의 내용도 볼 수 있습니다. 웹페이지가 최초 동작한 이 후, HTML DOM (구조)이 바뀌는 경우에 필수적이죠.실제로 해외축구 사이트 (프리미어리그, 라리가)와 같은 순위표를 보여주는 사이트에 들어가서 순위를 클릭해보면최초로 보여지는 테이블 이 후, 현재 순위에 맞게 순위가 정렬되는 걸 아주 찰나에 확인해 볼 수 있습니다. 이런 경우에는 실제로 페이..
[크롤링을 위한 Tool] 크롤링을 위해서 HTML문서를 가져오는 작업이 필요합니다. 1. Requests Requests로 원하는 페이지의 HTML문서를 불러올 수 있습니다.먼저 python 라이브러리로 requests를 설치 합니다. pip install requests(Mac 이용자는 python3를 이용할 시 pip3로 다운로드) import requests req = requests.get('https://importer.ec21.com/shoe.html') ## HTML Sourcehtml = req.text ## HTTP Headerheader = req.headers ## HTTP Status (200이면 성공응답)status = req.status_code ## HTTPis_ok = re..
[크롤링이란?] 인터넷에 데이터가 방대해지면서 우리는 그걸 활용할 필요성이 높아졌습니다. 그런 정보들을 우리가 분석하기 쉽고 활용하기 쉽게 끔 데이터를 수집하는 행위를 크롤링(Crawling) 이라고 하고 크롤링하는 프로그램을 크롤러(Crawler) 라고 합니다. 원하는 데이터를 추출하는 스크래핑(Scraping)과 개념이 혼동되기도 하는데요.사실 크롤링의 정확한 정의는 다양한 웹사이트의 페이지를 브라우징하는 작업을 말합니다.그런데 사실상 정보를 수집하기 위해선 브라우징만 하지 않죠. 페이지 안에 있는 데이터를 추출해서 가공하는게 대부분 최종 목표입니다.결국 크롤링 => 스크래핑의 과정으로 넘어가는 거죠.그래서 이 두 개념이 혼용되는 것 같습니다. 해외에서는 주로 스크래핑이라고 쓰는 걸로 알고 있습니다...
텐서플로우를 사용하려면 가상의 환경이 필요합니다. Python을 기반으로 사용되는 텐서플로우의 라이브러리를 사용하기 위해서는 다른 Python의 기능으로 인한 방해를 받지 않도록 가상의 공간을 설정해야 합니다.즉, 기존에 사용하던 Python 환경에서 독립된 환경을 제공하는 가상의 공간을 따로 만들어서 사용합니다. (이를 Docker에서는 컨테이너라고 부릅니다.) 가상의 공간을 만드는 방법은 여러가지가 있습니다. VirtualenvDockerNative pip 등이 있습니다. Native pip은 Python의 환경을 잘 이해하고 있다면 사용하기에 수월하지만 그렇지 않다면 Python 설치프로그램들과의 충돌이 많이 일어납니다.Docker은 컨테이너 설정과정에서 많은 메모리를 필요로 할 수 있습니다. (리..
- 재귀
- 크롤러
- BFS
- logistic regression
- Machine Learning
- softmax
- 백준
- Express
- Crawling
- LR
- 딥러닝
- DFS
- 머신러닝
- Queue
- Linear Regression
- query string
- 크롤링
- 알고리즘
- Crawler
- neural network
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |