목록분류 전체보기 (124)
minhui study
네트워킹이란? 네트워킹은 인터넷에 연결되어 있는 원격지의 서버 또는 원격지의 단말과 통신해서 데이터를 주고받는 동작들을 포함한다. 즉, 여러분이 가지고 있는 단말의 데이터만사용하는 것이 아니라 멀리 떨어져 있는 서버나 다른 사람의 데이터를 조회할 수도 있다. 서버에 데이터를 저장할 때는 먼저 인터넷을 통해 데이터 통신이 가능한지를 알아본 후 데이터를 주고받는 과정도 진행하며 데이터를 주고받는 과정은 매우 복잡하다. 그럼에도 불구하고 네트워킹을 사용하는 이유는 인터넷에 연결되어 있는 여러 단말을 동시에 사용할 수 있어 다양한 데이터를 효율적으로 사용할 수 있기 때문이다. 원격지의 서버를 연결하는 가장 단순한 방식은 클라이언트와 서버가 일대일로 연결하는 2-tier C/S방식이다. 대부분 클라이언트가 서버에..
텍스트 분류 텍스트 분류에는 여러 가지 방법이 사용되는데 자주 사용되는 방법으로는 베이즈 정리를 이용한 "베이지안 필터(Bayesian filter)"가 있다. 학습을 많이 시킬수록 필터의 분류 능력이 오른다는 특징이 있어 스팸 글을 구분할 때 많이 사용되고 문자의 카테고리 분류에도 많이 사용된다. 머신러닝은 "교사 학습", "비교사 학습", "강화 학습"이라는 3가지 종류가 있는데 베이지안 필터는 이 중에서 "교사 학습"에 해당한다. *교사 학습(Supervised learning)이란? 훈련 데이터로부터 하나의 함수를 유추해내기 위해 기계 학습의 한 방법으로 데이터와 답을 함께 줘서 학습시켜 머신러닝 모델을 구축하면 새로운 데이터를 줬을 때 답을 예측할 수 있다. 종류 설명 교사 학습 데이터와 함께 ..
Word2Vec란 문장 내부의 단어를 벡터로 변환하는 도구이다. 단어의 연결을 기반으로 단어의 연관성을 벡터로 만들어준다. 즉, 단어를 벡터로 표현해주는 것이다. 이를 활용하면 단어의 의미를 파악할 수 있다. 단어를 벡터로 만들면 단어와 단어의 유사도를 쉽게 확인할 수 있다. 다음 그림은 Word2Vec으로 글을 읽게 하고 단어를 2차원 그래프에 그린 것이다. 그림을 보면 "아버지"와 "어머니"는 "사랑"과 가깝고 "인생"과 "개", "고양이"는 멀리 있다는 것을 알 수 있다. Word2Vec을 이용하면 의미를 선형으로 계산할 수 있는데 예를 들어 "아빠 - 남자 + 여자" 라는 계산을 하면 "엄마"가 나온다. Gensim의 Word2Vec으로 "토지"를 읽어오기 다음은 konlpy의 Okt 형태소 분석..
형태소 분석 수많은 형태소 분석 라이브러리가 오픈소스로 배포되고 있고 파이썬에서도 사용할 수 있다. 파이썬 한국어 형태소 분석 라이크러리 KoNLPy를 이용하면 한나눔, 꼬꼬마, Komoran, MeCab, 트위터 등의 형태소 분석기를 쉽게 사용할 수 있다. 이 중에서 트위토 형태소 분석기를 사용해보자 from konlpy.tag import Okt okt=Okt() malist = okt.pos("아버지 가방에 들어가신다.", norm=True, stem=True) print(malist) Okt()메서드로 Okt객체를 생성하고 pos() 메서드에 형태소 분석을 수행할 문장을 지정하기만 하면 된다. 이 때 두가지 옵션을 지정했는데 사실 지정하지 않아도 실행은 된다. (1) norm옵션을 지정하면 "그래..
서포트 벡터 머신 알고리즘 서포트 벡터 머신은 데이터 분포를 나누는 지도학습의 분류에 해당하며 지도학습 모델로서 라벨이 달린 이진 분류 문제에 주로 사용된다. 서포트 벡터 머신 알고리즘에서는 각 데이터 항목을 다차원의 벡터 공간에 점으로 표시한다. 예를 들어 두 보기 중 하나의 보기를 선택하는 데 영향을 주는 요소가 2가지이면 2차원 모델이 된다. 이번 글에서는 이해하기 쉽도록 2차원 공간에 있는 두 그룹을 분류하다는 가정하에 서포트 벡터 머신을 알아볼 것이다.여기서 중요한 점은 밑에 그림들 처럼 두 그룹을 매우 잘 구분하는 직선을 찾는 것이다. 서포트 벡터 머신은 데이터를 선형 또는 비선형으로 분리하는 최적의 경계를 찾는 알고리즘이다. 서포트 벡터 머신의 동작 원리 첫 번째. 어떻게 구룹을 나눌 것인가..
의사결정나무 Decision tree 의사결정나무는 데이터 분포를 나누는 지도학습의 분류에 해당하는 모델 연속적인 질문을 통해 예측 결과를 제공하는 예측 모델로서 사람이 조건에 따라 행동하고 판단하는 것을 머신러닝에 응용한 것이 의사결정나무다. 즉, 의사결정에 필요한 규칙을 나무 형태로 분류해 나가는 분석 기법을 말한다. ▶ 알고리즘 해석이 용이하다. : 처리 결과를 해석하기가 쉬운 점이 의사결정나무의 가장 큰 장점이다. 의사결정나무 모델을 이용하여 데이터를 예측하는 경우도 있고 데이터가 분류되어가는 과정에서 분류의 기준이 되는 중요한 아이템을 찾는 경우에도 쓰일 수 있다. ▶ 수치형, 범주형 데이터도 적용이 가능하다. : 입력 데이터로 숫자 데이터나 범주 데이터 등 다양한 데이터 형식을 사용할 수 있다..
머신러닝의 유형 1. 지도학습 (Supervised Learning) : 훈련 데이터에 정답(Label)이 있어 주어진 정답에 맞게 특징이 학습되기를 기대하는 경우에 사용한다. ① 분류 ex) 의사결정나무, 서포트백터머신 ② 회귀 ex) 선형회귀, 로지스틱 회귀 2. 비지도학습 (Unsupervised Learning) : 훈련 데이터에 정답이 없고 주어진 특징 내에서 분류 간 서로 구분이 잘 되도록 나누기 원하는 경우에 사용한다. ① 군집화 ex) K-평균 ② 회귀 ex) PCA, SVD 3. 강화 학습 (Reinforcement Learning) : 학습(혹은 수집)되는 데이터에 정답은 없으나 동작하거나 반응하는 결과에 상과 벌을 주어서 스스로 진화할 수 있는 경우에 사용한다. 지도학습 정답을 알려주..
https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 � www.acmicpc.net 문제 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 길이는 B의 길이보다 작거나 같다. 이제 A의 길이가 B의 길이와 같아질 때 까지 다음과 같은 연산을 할 수 있다..