목록공부 (172)
꿈 많은 사람의 이야기
이번 포스팅은 스탠포드 대학 cs231n 4강 정리 포스팅입니다. 이번 강의에서는 backpropagation(오차역전파)과 neural network에 대해서 배웁니다.그럼 바로 시작하겠습니다. 맨 처음 부분은 여기 강의 과제에 대한 이야기라서 넘어가도록 하겠습니다. 우리는 지난 시간에 score function에 대해서 배웠습니다.그리고 SVM의 loss인 hinge loss에 대해서 배웠습니다.또 다른 loss인 softmax loss를 배웠습니다. 이건 cross entropy loss라고도 불리우죠. 그리고 규제(regularization)에 대해서도 배웠습니다. 이후 optimization에 대해서도 배웠습니다. 이 과정에서 경사하강법을 배웠지요. 그냥 일반적으로 계산하는 방법은 numeric..
요즘 머신러닝을 공부하면서 여러가지 책들을 많이 찾고 있다.근데 마땅히 끌리는 책이 없더라.. 나는 머신러닝 기초부터 배우고 싶었는데 기초에 대한 설명은 거의 없고사이킷런 라이브러리 사용하는 방법에 대해서만 설명이 주구장창 나와있는 책이 대부분이었다.물론 라이브러리 사용하는 책들도 썩 맘에 드는 책은 없었다 아.. 그래서 어쩌지 유료 강의를 들어야하나.. 돈은 없는데 하는데 지인이 일단 뭐라든 시작은 해보라고 책을 추천해주었다. 파이썬 라이브러리를 활용한 머신러닝 이미 유명한 책이다.사이킷런 라이브러리를 개발한 개발자가 쓴 책이다. 이 책을 시작한지 벌써 1달.. 진짜 힘들었다.처음에는 뭔 말인지 이해도 안되고 왜 책을 이딴식으로 썼지 라는 생각뿐이었다.포기할까 생각도 많이 했지만.. 결국 끝끝내 성공했..
개발하는 사람들은 거의 필수적으로 깃을 이용합니다깃(git)은 오픈소스로서 일종의 버전관리에 매우 최적화된 것인데요 이것을 이용해 웹 상에서 서비스를 제공해주는 깃허브너무 많이 사용하고 있습니다. 이 깃허브(github)와 파이참(pycharm)을 연동하는 방법을 설명해볼까합니다. 먼저 https://github.com으로 이동하셔서회원가입을 해줍니다!그리고 repository(저장소)를 하나 생성하죠 저는 주로 keras를 사용해서repository 이름을 keras로 하나 생성했습니다. 이것은 그냥 테스트를 위해서 이렇게 올린거구요원래는 좀 명확하게 이름을 지어주셔야 합니다.아무튼 이제 파이참으로 넘어가서 연동해보죠 파이참의 VCS -> Github가 있을겁니다.Github가 없으면 Git으로 해도 ..
캐글에서 커널을 추가하는 방법에 대해서 알아봅니다 먼저 캐글 사이트로 이동합니다당연히 회원가입 및 로그인은 하셔야겠죠? 캐글 메인으로 접속하면 위 처럼 화면이 나올겁니다~이제 검색에서 원하는 데이터를 찾아봅시다 저는 캐글에서 가장 기본적인 타이타닉(titanic)데이터를 추가하기로 합니다캐글(kaggle) 뉴비분들이 자주 이용하는 데이터죠저걸 클릭해서 들어갑니다 그러면 저기 kernels이 보일겁니다 저기로 들어갑니다 그러면 여기에서 오른쪽에 new kernel이 보이시죠?저기를 클릭합니다~ 그러면 커널을 선택하라고 창이 나오는데요본인이 원하시는 창을 선택하시면 됩니다스크립트는 마치 파이참(pycharm)과 같구요 오른쪽 notebook은 주피터 노트북(jupyter notebook)과 비슷합니다저는 주..
해당 코드는 https://github.com/lsjsj92 에 있습니다. 참고하시고 스타도 주시면 감사하겠습니다 :) 파이썬으로 케라스(keras)와 사이킷런(scikit-learn)을 독학한지 어느덧 1달이 조금 넘었습니다. 그 동안 카테고리 분류도 해보고, 감정 분석도 해보고(실패....) 여러가지 해보면서 일반적인 머신러닝 알고리즘(서포트 벡터 머신(SVM), 랜덤 포레스트(random forest) 등)이 아닌 케라스로 다층 퍼셉트론(MLP)을 구현해서 해봤습니다. 뭐 아직 다음 단계로 넘어갈 실력은 아니었지만 일단은 여러가지 경험을 쌓고자 이젠 컨볼루션 뉴런 네트워크(convolutional neural networks)를 해보려고 합니다. 컨볼루션 신경망이라고도 불리는데요 케라스에선 컨볼루션..
상당히 피곤하다대전에서 방금 올라와서 그런지 더 피곤하다딥러닝에 입문한지 1달. 나의 짧은 지식과 독학으로는 힘든 부분이 너무 많았다. 머신러닝과 딥러닝이 어려울줄은 알았지만 이정도 일줄은 몰랐다그러다가 도저히 몰라서 이분 저분 이메일을 드리면서 물어봤었다. 우연치 않게 간 이메일 1개가인스페이스 김태영 기술이사님이셨다.페이스북 케라스 코리아를 운영중이시고 이 대회를 주최하신 분이셨다. 김태영씨의 조언으로 컨퍼런스에 참가하게 되었고너무 유익했다 많은 분들이 세미나를 해주셨다.이미지 인식의 CNN부터 Generative Adversarial Network(GAN), 강화학습(RI)까지 다양한 주제로 진행되었다. 장소는 과학기술연합대학원대학교(UST)에서 진행되었다인스페이스와 케라스 코리아, 대딥사, 한국원..
머신러닝과 딥러닝을 혼자서 독학하면서 여러가지 상황에 맞닥드리게 되고 있다. 어찌저찌 해결을 해나가고 있지만, 어제 같은 경우는 도저히 혼자서 해결이 안되었다. val_loss가 나아지지 않았고, val_acc 즉 정확도가 높아지지 않은 문제가 있었다. 과적합(오버피팅, overfitting) 문제도 아니었다. 케라스에서는 오버피팅을 방지할 수 있다. Dropout이나 callbacks 라이브러리의 modelcheckpoint, earlystopping을 통해서 overfitting을 방지하기 때문이다. 근데 참 웃긴게 아래와 같은 상황이었다. 나는 데이터 셋을 2개로 나누어서 진행했다. 데이터가 너무 커서 경량화를 하나 추가했다. 예를 들어, 기존 데이터가 1G 짜리라면 경량화는 200MB짜리이다. 데..
이전 글인http://lsjsj92.tistory.com/350 에서 파이썬으로 머신러닝을 진행해 뉴스 카테고리 분석을 만들었다.keras(케라스)와 scikit learn(사이킷런)을 이용해서 만든 카테고리 분류이다 이번에는 이 데이터를 이용해서파이썬에서 wordcloud(워드클라우드)로 시각화를 진행할 것이다.또한, gensim의 word2vec를 이용해서 연관 단어를 추출해보려고 한다 일단 워드클라우드가 되려면 mapreduce(맵리듀스)가 되어 있어야 한다.즉, word count(워드 카운트)가 되어 있어야 한다. 그리고 그 워드 카운트는 가장 많이 카운트 된 단어가 위쪽으로 나오게 할 것이다.이 과정에선 hadoop hdfs와 spark를 이용할 것이다하둡은 2.7 버전, 스파크는 2.0.3 ..
최근 네이버 뉴스 기사를 토대로 카테고리를 분류하는 머신러닝을 진행해봤다먼저 정치, 경제, 사회, IT 등을 파이썬으로 크롤링했다 데이터는 아래와 같이 모아졌다 각 카테고리별 폴더로 데이터를 떨궜다.문화, 경제, it, 오피니언, 정치, 사회 총 6개의 카테고리를 크롤링했으며 위와 같이 엑셀파일에 날짜, 제목, 내용을 긁어왔다. 이제 이 내용들을 전처리 작업 및 형태소 분석을 해야했다.왜냐하면 content에 보면 위와 같이 flash 오류를 우회하기 위한 함수 추가 등 이런 문구가 있다.또한, 특수 문자를 제거할 것이었고, 숫자, 영어도 제거하려고 했다.왜냐하면 한글을 기준으로 하려고 했기 때문이다 형태소 분석기는 은전한닢(mecab)으로 진행했다.은전한닢은 한글 형태소 분석기로 정말 좋다 konlpy..
요즘 머신러닝과 딥러닝을 공부하고 있습니다 블로그에 다 정리해서 올리고 싶은데 처음부터.. 너무 복잡하고 올리는데 시간적 소모가 커서 감히 엄두가 안나네요 ㅠㅠ그래서 중간중간 만든 결과를 올려보려고 합니다저는 주로 케라스(keras)와 사이킷런(scikit learn)으로 공부하고 있습니다사이킷런이야 파이썬에서 머신러닝으로 유명한 라이브러리죠. 케라스는 딥러닝에서 많이 쓰는데요 (물론 머신러닝도 가능합니다.)텐서플로우(tensorflow)보단 사용법도 쉽고 접근성이 좋아서 케라스를 선택해서 공부하고 있습니다.(물론 keras 내부는 tensorflow가 동작됩니다.) 아무튼 저는 그 동안 공부한 것으로 비만도 측정을 해봤습니다!1. 데이터 수집2. 훈련3. 모델 생성4. 모델을 이용한 예측 크게 4가지 ..