개발/AI 정리 15

bag of words

- 허민석님의 강의를 참고하였습니다. 링크는 맨 아래에 bag of words 가 뭔지 알아보고 가겠습니다. 간단하게 bag 안에 단어들이 들어 있고, 이 단어들을 이용해서 문장의 유사도를 구하는 방식입니다. 아래와 같은 단어들이 있을 때 이 친구들을 아래와 같이 벡터 형태로 표현합니다. 이 것들을 이용해서 문장들간의 유사도를 추출해낼 수 있습니다. 구현 참고 [1] - https://www.youtube.com/watch?v=dKYFfUtij_U [2] - https://wikidocs.net/22650

개발/AI 정리 2020.08.03

NLTK 사용법

영어 문장에서 단어만 추출하고 싶을 때, NLTK를 사용합니다. 어떻게 사용하는지 보면 아래와 같이 사용 가능하고, 원형복원 lemmatize 도 가능합니다. lemmatize 할 때 맥에서 에러가 나면 python -m nltk.downloader -d /usr/local/share/nltk_data wordnet 를 실행해주시면 됩니다. 불용어 처리하는 방법은 아래와 같이 해주시면 가능합니다. 불용어 설치가 안된다면 python -m nltk.downloader stopwords 참고 [1] - https://datascienceschool.net/view-notebook/8895b16a141749a9bb381007d52721c1/ [2] - https://wikidocs.net/22530

개발/AI 정리 2020.07.29

엔드로피란

정보의 불확실성을 나타내는 지표입니다. 동전던지기를 할 때, 때문에 엔트로피가 높은 경우, 정보가 불확실할 확률이 높습니다. 예를 들면 평평한 동전 같은 경우 앞 뒤가 나올 확률이 50:50이기 때문에, 불확실성이 높은데 동전이 기울어져서 앞면이 나올 확률과 뒷면이 나올 확률이 90:10이라고 하면, 상대적으로 앞면이 나올 확률이 거의 확실시 되기 때문에, 엔트로피(불확실성)이 낮습니다. 얘를 머신러닝 모델에서 적용하려고 생각을 하면 기본적으로 1차적으로 데이터를 예측한 모델에서, 엔트로피가 높은 예측값들만 뽑아와서 2차적으로 가공하여 다시 예측하는 방법으로 사용합니다. 왜냐하면 엔트로피가 높은 값은, 머신러닝 모델이 예측했어도 이 것의 정확도를 확신할 수 있는 확률이 낮기 때문입니다. 참조 [1] - ..

개발/AI 정리 2020.07.28

TF-IDF

TF-IDF에 대해서 알아보겠습니다. 문서간의 연관성을 알아보는 방법인데 예를 들면 어떤 문서(문장)에 단어가 많이 출연하면 이 단어가 중요하다고 판단할 수 있습니다. 그런데 실제로 가면 I am a boy You are a girl 이런 문장이 있을 때, 'a'라는 것이 많이 출현하지만, 이게 실제로는 전혀 중요하지 않은 단어입니다. 이 때 나타나는 개념이 IDF라는 개념입니다. 이렇게 연관성이 없는데 자주 출현하는 단어들에 페널티를 주기 위한 방법입니다. 참조 [1] - https://www.youtube.com/watch?v=meEchvkdB1U

개발/AI 정리 2020.07.27

코사인 유사도 Cosine Similarity

코사인 유사도와 텍스트 마이닝에 대해서 알아보겠습니다. 이 빌어먹을 벡터를 고등학교 때 배웠는데 이나먹고 다시 볼 줄은 몰랐네요 자 정말정말 간단하게 처리하면 문서의 유사도에 대해서 알고 싶은 것인데, 이 문서(문장)을 벡터화 시켜서 문장간의 유사도를 비교해보는 방법입니다. 얘를 그림과 수식으로 나타내면 위와 같이 만들어 낼 수 있습니다. 실제 상황에서 적용을 한다고 하면 아래와 같이 적용해 볼 수 있습니다 참조 [1] - https://wikidocs.net/24603

개발/AI 정리 2020.07.27

Tensorflow lite

텐서플로우 라이트에 대해서 알아보겠습니다. 이름에서 알 수 있듯이 텐서플로우의 가벼운 버전? 입니다. 그러면 이게 왜 필요한가... 에 대한 의문이 바로 드는데 성능이 조금 떨어지는 디바이스(ex 모바일 기기)에서는 기존에 텐서플로우를 돌리면 퍼포먼스가 굉장히 떨어지겠죠? 때문에, 텐서플로우 라이트라고 조금 가벼운 버전으로 빌드해서 모바일 기기에 사용합니다. https://www.tensorflow.org/lite TensorFlow Lite TensorFlow Lite는 기기 내 추론을 위한 오픈소스 딥 러닝 프레임워크입니다. www.tensorflow.org

개발/AI 정리 2020.02.16

Random Forest

랜덤 포레스트(Random Forest)에 대해서 알아보겠습니다. 랜덤 포레스트는 다수의 결정 트리를 학습하는 앙상블 방법입니다. 여기에서 처음보는 단어가 결정트리와, 앙상블 방법 이라는 것이 나옵니다. 자, 이게 뭔지 한번 보겠습니다. 결정트리란 의사 결정 규칙과 그 결과들을 트리 구조로 도식화한 의사 결정 자원 도구의 일종입니다. 쉽게 말하면, 밖에 나가서 운동을 하는데, 날씨가 좋은지 안 좋은지 햇빛이 있는지 바람이 부는지 등에 여러 조건들을 검토합니다. 앙상블학습이라는 것을 무엇일까요? 무슨 요리프로그램에서 앙상블을 이룬다 이런 말을 들어본 것 같기도 한데, 더 좋은 성능을 얻기 위해 여러가지 학습 알고리즘을 이용하는 것입니다. 참조 [1] - https://ko.wikipedia.org/wiki..

개발/AI 정리 2020.02.12