2016년 3월 28일 월요일

k-means 알고리즘

- 개요

k-means 알고리즘은 데이터를 군집하는 간단하고 자주 사용되는 기법이다. k-means를 사용하면 데이터를 지정한 k개의 군집으로 나눌 수 있다.

이러한 k-means 알고리즘은 복잡한 통계 없이 간단한 원리를 사용하며, 휴리스틱 과정을 사용하여 효율적으로 데이터를 유용한 군집으로 나눌 수 있다.

- k-means 알고리즘

간단히 작동 순서를 살펴보면, 최초에는 무작위로 k개의 중심 데이터를 선정하고, 해당 데이터로부터 각 데이터의 거리(유클리디언, 맨하탄 등)을 계산한다. 그 거리의 평균이 작은 곳으로 중심점을 변경하고 다시 거리를 계산하는 것을 반복하여 최적의 군집을 찾을 수 있다.

정리하자면,

입력값
  1. k: 클러스터 수
  2. D: n 개의 데이터 오브젝트를 포함하는 집합
출력값: k 개의 클러스터
알고리즘
  1. 데이터 오브젝트 집합 D에서 k 개의 데이터 오브젝트를 임의로 추출하고, 이 데이터 오브젝트들을 각 클러스터의 중심 (centroid) 으로 설정한다. (초기값 설정)
  2. 집합 D의 각 데이터 오브젝트들에 대해 k 개의 클러스터 중심 오브젝트와의 거리를 각각 구하고, 각 데이터 오브젝트가 어느 중심점 (centroid) 와 가장 유사도가 높은지 알아낸다. 그리고 그렇게 찾아낸 중심점으로 각 데이터 오브젝트들을 할당한다.
  3. 클러스터의 중심점을 다시 계산한다. 즉, 2에서 재할당된 클러스터들을 기준으로 중심점을 다시 계산한다.
  4. 각 데이터 오브젝트의 소속 클러스터가 바뀌지 않을 때 까지 23 과정을 반복한다.


k-means 알고리즘 결과 예시

k-means 알고리즘에서 중요한 점은 k의 설정이다. k가 매우 큰 값으로 설정하면 군집의 동실성이 향상되는 동시에 데이터에 대한 과적합화가 될 위험이 있다.
k를 선택하는 방법은 데이터의 수의 n/2 제곱근으로 설정하는 경험 법칙, 엘보우 기법 등이 있으나, 무엇보다 도메인 지식을 쌓아서 k를 선택하는 것이 중요하다고 생각한다.
k의 선택에 관련된 내용은 추후에 다루도록 할 것이다.

- k-means 알고리즘의 평가

k-means 알고리즘을 사용하고 클러스터링이 얼마나 잘 되었는가를 측정하는 방법으로는 크게 내부평가와 외부평가를 이용할 수 있다.
내부 평가
내부 평가 (internal evaluation) 은 데이터 집합을 클러스터링한 결과 그 자체를 놓고 평가하는 방식이다. 이러한 방식에서는 클러스터 내 높은 유사도 (high intra-cluster similarity) 를 가지고, 클러스터 간 낮은 유사도 (low inter-cluster similarity) 를 가진 결과물에 높은 점수를 준다. 이와 같은 평가 방법은 오로지 데이터를 클러스터링한 결과물만을 보고 판단하기 때문에, 평가 점수가 높다고 해서 실제 참값 (ground truth) 에 가깝다는 것을 반드시 보장하지는 않는다는 단점이 있다.
유사도를 계산하는 방법으로는 Daives-Bouldin index, Dunn index, 실루엣 기법 등이 있다.

외부 평가
외부 평가 방식 (external evaluation)에서 클러스터링의 결과물은 클러스터링에 사용되지 않은 데이터로 평가된다. 다시 말해, 클러스터링의 결과물을 전문가들이 미리 정해높은 모범답안 혹은 외부 벤치마크 평가 기준 등을 이용해서 클러스터링 알고리즘의 정확도를 평가하는 것이다. 이러한 평가 방식은 클러스터링 결과가 미리 정해진 결과물과 얼마나 비슷한지를 측정한다.
외부 평가 방법으로는 Rand measure, F-measure, Jaccard index 등의 기법이 있다.


- k-means 알고리즘 활용분야

k-평균 알고리즘은 시장 분할, 컴퓨터 비전, 지질통계학, 천문학 및 농업 등 광범위한 분야에 적용될 수 있다. 이 기법은 주로 어떤 알고리즘을 수행하기 전 데이터를 전처리 (pre-processing) 하는 용도로 많이 쓰인다. 구체적으로, 이미지 분할, 벡터 양자화, 클러스터 분석 등에 활용될 수 있다.

- k-means 알고리즘 코드

#iris 데이타 이용
data(iris)

#종 정보를 제외하고, 꽃잎과 꽃받침의 길이와 두께 정보만을 이용하여 군집화를
#수행해 보도록 한다. scale() 함수를 이용하여 변수의 값을 표준화하였다.
iris.data <- scale(iris[-5])

kmeans.ch5 <- function(x, k, maxiter=100, nstart=1, epsilon=0.001)
{
# 데이터를 매트릭스 형태로 변환
x <- as.matrix(x)
centers <- k
xrows <- nrow(x)
xcols <- ncol(x)

# 데이터(point들) 중에서 k개의 임의의 데이터(point) 선택
ids = sample(1:xrows, k)
centroids = x[ids, ]

# 클러스터 초기 매트릭스 공간 설정
initial.cluster=matrix(0, 1, xrows)

# iteration 초기 설정
iter=0

## for 혹은 while 필요
# maxiter가 될 때까지 while문 반복
while(iter < maxiter)
{

# k개의 임의의 데이터(point)와의 유클리디언 거리 계산
dists <- apply(x, 1, function(point)
                  sapply(1:nrow(centroids), function(dim)
                                 dist(rbind(point, centroids[dim,]))
                        )
               )
cDists <- t(dists)

# Centers와 가까운 거리들을 계산하여 클러스터 할당
# 결과: 군집 번호, 1~k
cluster.dist = sapply(1:xrows, function(x) which.min(cDists[x,]))

# for every cluster, calculate its new centroid
newCentroids = t(sapply(1:centers, function(c) colMeans(x[which(cluster.dist == c), ])))

## check if change in centroids is significant
delta = sum((newCentroids - centroids) ^ 2)

# 종료조건..
# 1. iteration
# 2. delta
iter=iter+1

if (delta > epsilon) {
    ## use new centroids for next iteration
    centroids = newCentroids
    } else {
    break
    }
}

cluster.size <- c(table(cluster.dist)[1:centers])

# 출력 함수 설정
# 1. cluster size
# 2. cluster means
# 3. cluster vector

structure(list("Cluster size"=cluster.size , "Cluster means"=newCentroids, 
               "Cluster vector"=cluster.dist, "Iteration"=iter))

}


kmeans.result <- kmeans.ch5(iris.data, 3)
plot(iris[-5], pch = kmeans.result$'Cluster vector', col = kmeans.result$'Cluster vector')



위 결과는 생성함수(kmeans.ch5(iris.data, 3)). 아래 결과는 R 내장함수(kmeans(iris.data, 3))
Plot 비교


두 Plot이 거의 흡사함을 보아 잘 코딩되었음을 확인할 수 있었다.
이로써 기본적인 k-means의 설계를 익히고, 응용할 수 있는 능력 습득!

출처:
1. github
2. R을 활용한 기계학습
3. http://blog.daum.net/sys4ppl/7

2016년 1월 15일 금요일

kNN(k Nearest Neighbors) 알고리즘 소개 및 R 구현

이번 주는 분류에 대한 최근접 알고리즘 접근법인 kNN 알고리즘을 간략하게 공부했다.

kNN알고리즘은 범주를 알지 못하는 데이터가 있을 때, 근접한 k개의 데이터를 이용해 범주를 지정해주는 역할이다.



쓰임새는,
이미지나 비디오에서 얼굴과 글자를 인식하는 컴퓨터 비전 애플리케이션
개인별 추천 영화 예측
특정 단백질과 질병을 추출하는 데 사용하는 유전자 데이터의 패턴 식별

등 다양하다.

이러한 kNN알고리즘의 장단점은 아래와 같다.

장점
단점
- 단순하며 효율적
- 데이터 분산에 대한 추정을 만들 필요가 없음
- 빠른 훈련 단계
- 모델을 생성하지 않음
- 느린 분류 단계
- 많은 메모리가 필요
- 명목형 속성과 결측 데이터는 추가적인 처리 필요

- 거리계산
kNN알고리즘은 최근점 이웃의 거리를 계산하는 다양한 방법이 있다. 대표적으로 유클리디언 거리를 사용한다.



- k의 선택
또한 몇 개의 근접이웃 k를 결정하는 문제도 중요하다. 보통 k의 선택은 학습해야 할 개념의 난이도와 훈련 데이터의 개수에 달려있으며, 일반적으로 훈련 데이터의 개수에 제곱근으로 설정한다. 또한, 훈련 데이터의 개수에 제곱근으로 설정하기도 한다.

만약 k를 너무 크게 설정하면 주변에 있는 데이터와 근접성이 떨어지게 되어 클러스터링이 잘 되지 않고, 너무 작게하면 노이지 데이터나 이상치와 이웃이 될 가능성이 있으므로 이러한 문제들을 피할 수 있도록 적절한 k의 선택이 필요하다.


- kNN R function.
R에서는 다양한 kNN패키지가 있으며 가장 기본적인 패키지는 class 패키지로 이용할 수 있다. 하지만 직접 구현해보며 알고리즘을 익히는 것이 목표이기에 직접 코딩을 하고자 한다.


- kNN in R programming.


normalize <- function(x) {
num <- x - min(x)
denom <- max(x) - min(x)
return (num/denom)
}

## 해당 방식으로 normalize 사용 가능
iris_norm <- as.data.frame(lapply(iris[1:4], normalize))

## set.seed는 난수를 재현 가능하도록, 난수 패턴을 저장해놓는 것
set.seed(1234)

## traning data와 test data를 0.67, 0.33의 확률로 나누기 위한 샘플 생성
ind <- sample(2, nrow(iris), replace=TRUE, prob=c(0.67, 0.33))

## 수치 데이터와 수치 데이터의 Label 을 따로 정의
iris.training <- iris[ind==1, 1:4]
iris.test <- iris[ind==2, 1:4]

iris.trainLabels <- iris[ind==1, 5]
iris.testLabels <- iris[ind==2, 5]

## knn 함수 생성
knn.t <- function(train, test, cl, k)
{
test.result <- numeric(length(test))

## 유클리디언 거리 함수
euclidean.distance <- function(x1, x2) sqrt(sum((x1-x2)^2))

## 전체 데이터에 유클리디언 거리를 계산
for(i in 1:nrow(test)){
train$dist=sapply(1:nrow(train), function(ntrain){
      euclidean.distance(train[ntrain,1:4], test[i,1:4])
      })

## 가장 가까운 k개의 데이터 위치를 저장
nearest.k=order(train$dist)[1:k]
## train data에서 해당 하는 위치의 라벨을 저장
nearest.k.categories=cl[nearest.k]
## k개 중 가장 많이 나온 라벨을 저장
common.category=names(sort(table(nearest.k.categories),decreasing=TRUE)[1])
## 결과값(라벨들)을 저장
test.result[i]=common.category
}
train$dist=NULL
test.result
}

## 실험
result <- knn.t(train=iris.training, test=iris.test, cl=iris.trainLabels, k=3)
result

## gmodels 패키지를 통해 예측률 확인
library(gmodels)
CrossTable(x=iris.testLabels, y=result, prop.chisq=FALSE)



## class패키지의 knn 함수를 통해 결과 비교
library(class)

iris_pred <- knn(train=iris.training, test=iris.test, cl=iris.trainLabels, k=3)
iris_pred

CrossTable(x=iris.testLabels, y=iris_pred, prop.chisq=FALSE)


패키지의 결과와 생성 함수의 결과가 같읕 것으로 보아 성공적으로 코딩하였다.


2016년 1월 6일 수요일

지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)



데이타마이닝을 할 때에 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)이 자주 거론된다.

지도학습(Supervised Learning)은 말 그대로 학습을 지도한다는 뜻으로,
훈련용 데이터(training data)에 알고리즘을 적용하여 함수를 추론하고, 이제 그 추론된 함수를 통해 컴퓨터가 알아서 답을 찾도록 만드는 것이다. 따라서 지도학습은 명확한 input과 output이 존재한다. 이러한 지도학습에는 분류(Classification)과 예측(Regression)이 있다.

먼저 예측(Regression)은 데이터를 대표하는 선형모델 등을 만들고 그 모델을 통해 미래의 사건을 예측하는 것이다.

분류(Classification)는 이전까지 학습된 데이터를 근거로, 새로운 데이터가 기존에 학습된 데이터에 분류가 되냐 안되냐를 판단할 수 있다.


비지도학습(Unsupervised Learning)에서도 역시 분류를 하지만, 컴퓨터에게 답을 알려줄 수 없다. 즉, 훈련용 데이터를 통해 함수를 추론할 수 없다. 컴퓨터가 알아서 분류를 하고, 의미있는 값을 보여준다. 따라서 예측 등이 아닌, 데이터가 어떻게 구성되어 있는지 밝히는데 주로 사용하고, 일종의 그룹핑 알고리즘으로 볼 수 있다.

이러한 지도학습, 비지도학습의 대표적인 알고리즘을 표로 정리해보았다.

지도학습
Classification
kNN
Naïve Bayes
Support Vector machine
Decision Tree
Regression
Linear regression
Locally weighted linear regression
Ridge
Lasso
비지도학습

Clustering
K means
Density estimation
Expectation maximization
Pazen window
DBSCAN


출처
- 머신러닝 입문#1, http://www.slideshare.net/Byungwook/1-knn
- 일반인을 위한 머신러닝, http://gorakgarak.tistory.com/437
- 기계학습의 정의 및 종류, http://eunwoopark.com/wp/2014/03/24/machine_learning/



2015년 11월 29일 일요일

데이터 분석가가 되기 위한 학습

빅데이터, 딥러닝, 머신러닝 등 데이터 과학이 한참 이슈이다.

여테 석사를 하면서 통계적 품질관리(관리도)를 전공했지만,
품질관리던지, 어느 분야던지 데이터 분석에 대한 이슈가 앞으로도 뜨거울 것 같다고 느껴진다.

사실 데이터분석에 대한 사전 지식이 없는 상황에서, 얼마전 모 회사에서 데이터분석 면접을 보았지만... 아무말도 못한 정말 챙피한 경험

그래서 늦었지만 데이터 분석을 제대로 공부하려고 결심을 해보았다. (너무 늦은 결정이 아닐까 걱정되지만... 그래도 해보고 싶다)

몇 가지 데이터분석 관련 책을 선별해보았다.

1. 앞으로 데이터 분석을 시작하려는 사람을 위한 책, 구도 타쿠야
2. R을 활용한 전산통계개론, 손건태
3. R을 활용한 기계 학습, 브레트 란츠

석사시절, 기본적인 통계(아주 기초적)와 R은 어느 정도 익숙했기에, tool은 R로 정하였다. 기회가 된다면 파이썬도 배워야지.

첫 번째 책은 데이터 분석가가 기본적으로 가져야할 마인드와 간단한 분석기법 등을 소개한다. 두 번째 책은 통계적인 알고리즘을 배우기에 무척 좋고, 세 번째 책은 머신러닝을 위한 기본적인 도서이다.

위의 도서를 훑어보고 앞으로 배워야 할 알고리즘 등을 작성해보았다.
하나씩 차근차근.




개념
분석 수법
사례
수리통계학
1변량
기술통계학
분포와 대표값
요약통계량
품질 관리
RFM 분석
롱테일 분석
도수집계
히스토그램
추론 통계학
빈도론
모수적 검정
실험 계획법
임상 시험
부작용의 특정
비모수적 검정
점 추정
구간 추정
주관론
베이지안 확률
스펨 필터링
다변량
탐색적 자료 분석, 기계학습
자율학습
(데이터를 어떤 기준에 따르지 않고 분류, 해석)
주성분 분석
가격 최적화
행렬, 정체 회피 분석
마켓 바스켓 분석
고객 세분화
추천
크로스셀/업셀분석
계통트리(생명과학)
설문 조사 분석
인자 분석
상관 분석
연관 규칙 분석
대응 분석
수량화 이론 III
다차원 척도 구성법
계층적 군집 분석
k-평균법
자기조직화 지도
지도학습
(데이터를 어떤 기준에 따라 분류하고 해석)
협업 필터링
고객 이탈 예측 모델
신용카다의 부정 이용 감지
캠페인 효과 측정
매정별 매출 총량 예측
선거 예측
세이버매트릭스
물류 최적화
소셜 미디어 분석
화상 분석(연령 추정)
화상 진단
예방 의료
유전자 발견
범죄 프로파일링
인공 신경망
의사 결정 트리 분석
k-근접 이웃법
일반 선형 모델
(정규분포를 전체로 한 선형 모델)
단회귀 분석
분산 분석
수량화 이론 I
다중 회귀 분석
정준 상관 분석
공분산 구조 분석
일반화 선형 모델
(정규 분포 이외의 분포를 다룰 수 있도록 일반 선형 모델을 확장한 모델)
로지스틱 회귀 분석
로그 선형 모델
수량화 이론 II
판별 분석
생존 분석
서포트 벡터 머신
<표 1> 주요 데이터 분석법

분석 모델
태스크
최근접 이웃
분류
나이브 베이즈
분류
결정 트리
분류
선형 회귀
수치 예측
회귀 트리
수치 예측
모델 트리
수치 예측
신경망
다중 용도
서포트 벡터 머신
다중 용도
연관 규칙
패턴 탐지
K 평균 군집화
군집화
<표 2> 알고리즘 별 태스크

위의 <표 1, 2>에 작성한 분석 기법들을 전부 R로 구현해보면서 공부 할 계획이다.
이 밖에 Genetic algorithm 등을 추가적으로 습득. 한 주에 1~2가지 알고리즘을 공부하기.


출처

  • "앞으로 데이터 분석을 시작하려는 사람을 위한 책", 구도 타쿠야, 루비페이퍼
  • "R을 활용한 전산통계개론", 손건태, 자유아카데미
  • "R을 활용한 기계 학습",  브레츠 란츠, 에이콘

2014년 12월 28일 일요일

2014년 2월 19일 수요일

유용한 무료 어플 모음집

2014년 2월 업데이트입니다. 짤린어플 몇가지와 용돈벌이앱들은 논란이많아 제외시키고 실용어플 위주로 추가하고 분류를 다시 나누어 업데이트하였습니다. 

  


  

<기본으로 깔아두면 두고두고 유용하게 쓸 앱>



뮤직톡 

https://play.google.com/store/apps/details?id=com.zetaapp.musictalk 

무료로 음악 듣고, 음악리스트로 저장해서 들을 수 있는 앱 

이것도 따로 다운 안받고 바로 들을 수 있는 게 장점. 

곡도 되게 많고 벅스나 멜론만큼 있다고 보심 될 듯? 

반복듣기/랜덤듣기/구간반복 등도 설정해서 들을 수 있음. 





왓챠 

https://play.google.com/store/apps/details?id=com.frograms.watcha 

재밌게 볼만한 영화 추천해주는 앱 

평가 매기면 내가 어떤 영화 좋아할 지 판단해서 영화 쭉 추천해 줌 

영화 뭐 볼지 모르겠을 때 하면 딱딱 재밌을 영화 추천해줘서 되게 신기함. 

현재상영작 평점이랑 영화평들도 볼 수 있어서 좋음. 





지니뉴스 

https://play.google.com/store/apps/details?id=com.saltlux.zinynews 

뉴스 모아서 보는 앱으로 젤 유명한 앱. 

단순히 뉴스 모아 놓은 게 아니라 시중의 모든 뉴스 데이터를 모아서 

내가 관심 있어 할 만한 이슈를 다루는 뉴스들을 모아서 띄워 줌. 

상당히 편리하게, 원하는 내용들만 뉴스 구독할 수 있어 좋음. 





bbc news 

https://play.google.com/store/apps/details?id=bbc.mobile.news.ww 

영어청취에 큰 도움되는 bbc news 들을 수 있는 앱 

비즈니스/뉴스 속보/연예/스포츠 등 모든 분야에 걸친 뉴스 들을 수 있고 

아주 깔끔하게 정리되어 있어서 리스닝에도 도움되고 시사상식 키우는 데에도 좋음. 

다만 외국앱이라 한국어지원 안되는 게 흠. 





에버노트 

https://play.google.com/store/apps/details?id=com.evernote 

메모기능 서비스 중 세계 1인자 앱. 

이미 많이 아시겠지만 메모용으로는 기본적인 기능 모두 다 제공하고 

상상 이상의 기능들도 제공함. 예를 들어 녹음한 게 저절로 텍스트로 정리됨. 

아직 다운안했음 반드시 다운받길~ 





vine 

https://play.google.com/store/apps/details?id=co.vine.android 

6초짜리 짧은 영상찍어서 바로 동영상 만들 수 있는 앱 

이것도 많이 아실텐데 6초짜리 영상을 찍어서 이어 붙인 다음에 

간단한 영상으로 만들 수 있는 앱. 

사진말고도 아주 편리하게 영상으로 추억남길 수 있어 좋음. 



runtastic 

https://play.google.com/store/apps/details?id=com.runtastic.android 

나의 모든 운동활동 기록할 수 있는 앱. 

내가 걷는 모든 거리/시간/속도/칼로리 등 세세하게 기록할 수 있고 

공유해서 경쟁할 수도 있음. 이용하기 편리함. 



눔 

https://play.google.com/store/apps/details?id=com.wsl.noom 

위의 앱이랑 비슷하게 운동활동 기록하면서 좀 더 다이어트에 도움되는 앱 

운동활동뿐만 아니라 음식/운동/몸무게 변화 다 기록하고 분석 가능하고 

자동으로 측정되는 만보기도 있어서 다이어트하는데 도우미 같은 역할 해줌. 

살빼려고 다이어트일지 용도로 쓰려면 눔 추천, 아니면 runtastic 추천 

  


  


  

후후 

  

https://play.google.com/store/apps/details?id=com.ktcs.whowho 

  

스팸, 피싱 전화를 수신하느 즉시 스팸으로 알려주는 어플 

  

이용자 350만명 이상을 바탕으로한 정확도 높은 어플 





캔고루 

https://play.google.com/store/apps/details?id=zeta.FairHiPass 

전시회, 박람회, 축제 무료 입장권 주는 앱 

우리나라 모든 지역의 전시회, 박람회, 축제 정보 달 별로 정리해 주면서 

무료티켓도 주고 50%할인티켓도 주는 고마운 앱. 

특히 데이트할 때 아주아주 유용하게 쓸 수 있음. 





포인트통통 

https://play.google.com/store/apps/details?id=onse.nspt.potong 

남는 무료통화나 문자로 음식 사먹을 수 있는 앱 

의외로 많이들 모르던데 남는 무료통화, 문자 있으면 포인트로 전환해서 

제휴맺은 음식점(각종 빵집/카페/패밀리 레스토랑 등)에서 음식과 교환할 수 있음. 

일종의 돈버는 어플이라 보심 될 듯. 







< 특히 대학생들한테 유용한 무료앱 >



공모전 정보 스펙업: 공모전 정보 올라오는 앱. 디자인이 구린데 그래도 정보는 빠짐없이 올라옴. 

https://play.google.com/store/apps/details?id=com.gongmo_app 



취업스터디: 면접족보, 취준에 필요한 시사상식 올라오는 앱. 

https://play.google.com/store/apps/details?id=hr.Job_Study 


  


  


  


  


  

< 특히 남성한테 유용한 무료앱 >

  


  

남자패션 후즈핫: 브랜드 세일정보, 옷 코디 도우미 올리오는 앱. 다른 사람들의 착샷도 볼 수 있음. 

  

https://play.google.com/store/apps/details?id=whosapp.blog 

  


  




  



< 특히 여성한테 유용한 무료앱 >



생리달력: 생리주기 계산할 수 있는 앱 중에 가장 정확하다고 함.(여친한테 추천받음 ㅋㅋㅋ) 

https://play.google.com/store/apps/details?id=com.period.tracker.lite 







< 심심풀이용 재밌는 무료앱>



에브리싱(노래방반주나오고 녹음할 수 있는앱) https://play.google.com/store/apps/details?id=com.sm1.EverySing 

뇌구조테스트 https://play.google.com/store/apps/details?id=ss.ga.jess 

환상의커플 https://play.google.com/store/apps/details?id=cherry.Fortune 

오늘의운세-4가지 운세보기 

https://play.google.com/store/apps/details?id=com.todayforturn.binsco 

애무의비밀 https://play.google.com/store/apps/details?id=com.multimage.secretlite 

사진워프(얼굴짓이기는앱ㅋㅋ)https://play.google.com/store/apps/details?id=hu.tonuzaba.android 

  

책속의한줄(좋은글귀 보는 앱) https://play.google.com/store/apps/details?id=kr.co.ladybugs.booksns 

  







< 영어공부에 좋을 무료앱>



사전 및 영단어장 



Dictionary.com : 영영사전/동의어/반의어 빡세게 다 정리되어 있음. 영어공부할때 한영사전대신 영영사전쓰는 것만으로도 도움 많이 됨. 

https://play.google.com/store/apps/details?id=com.dictionary 



컬러딕트사전 : 영영사전. Dictionary.com보다 보기 편함. 

https://play.google.com/store/apps/details?id=com.socialnmobile.colordict 



보카로이드 : 한영사전. 쓰기 편함 

https://play.google.com/store/apps/details?id=com.wonshinhyo.VocaRoidLite 



워드톡 : 기본적으로 사전이고 단어장 만들 수 있음. 쓰기 편함. 

https://play.google.com/store/apps/details?id=com.zetty.wordtalk 





회화 



비네이티브: 원어민이 쓰는 영여표현 수록 

https://play.google.com/store/apps/details?id=kr.co.benativeapps.viewers 



굿모닝팝스: 영어사전/회화/듣기 다 할 수 있음. 

https://play.google.com/store/apps/details?id=com.zetty.zettygmp 





듣기 



umano: 전세계적으로 유명한 영어듣기앱이고 뉴스 외에 잡다한 듣기컨텐츠 많음. 

https://play.google.com/store/apps/details?id=com.sothree.umano 



미디어랑: 뉴스로 영어듣기.. 팝송버전도 있음. 

https://play.google.com/store/apps/details?id=kr.co.medialang.newsenglish 



영어듣기 리스너: 걍 쓰기 편하고 나쁘진 않은데 컨텐츠가 별로 없음. 

https://play.google.com/store/apps/details?id=kr.co.listener.listener 







< 예쁜 사진 모아둔 앱>



핀터레스트https://play.google.com/store/apps/details?id=com.pinterest 

텀블러https://play.google.com/store/apps/details?id=com.tumblr 


  


  

< 운전에 관한 앱 >

  


  

고속도로교통정보 Lite : 한국도로공사에서 고속도로 소통 상황을 실시간으로 제공하는 교통정보 어플 

  

https://play.google.com/store/apps/details?id=com.roadplus.lite 

  


  

카닥 : 자동차 흠집, 도색, 범퍼 등 수리시 비용이 궁금할 때 브랜드별 사진과 견적 등 제공 어플 

  

https://play.google.com/store/apps/details?id=kr.co.cardoc 

  


  


  

< 기타 유용한 앱 >

  


  

스마트택배 : 31개 택배사의 배송현황을 푸쉬알림으로 보내주는 어플 

  

https://play.google.com/store/apps/details?id=com.sweettracker.smartparcel 

  


  

아스트로 파일관리자 : 파일, 그림, 문서, 음악 공유 및 복사를 지원하는 안드로이드 필수 어플 

  

https://play.google.com/store/apps/details?id=com.metago.astro 

  


  

클린마스터 : 컴퓨터처럼 스마트폰 불필요 파일을 지워줘서 용량 확보 해주는 어플 

  

https://play.google.com/store/apps/details?id=com.cleanmaster.mguard 

  


  

빅워크 : 내가 걸은만큼 기부되는 어플(10m당 1원) 

  

https://play.google.com/store/apps/details?id=kr.co.bigwalk 

  


  

쿠폰모아 : 쿠팡, 티몬 등 소셜 커머스 등 인기 할인 정보를 한꺼번에 모아보는 어플 

  

https://play.google.com/store/apps/details?id=com.thinkreals.couponmoa 

  


  

TED : 전세계 유명인사 강연을 보는 어플 영어공부에 도움이 됨 

  

https://play.google.com/store/apps/details?id=com.ted.android 



유용한 무료 어플