케라스 창시자에게 배우는 딥러닝


  • 1장 ~ 2장 3절 공부 : mnist예제, 0~3D 텐서, 텐서 연산

  • 3장 3절, 케라스 실습 환경 만들기 : 주피터 노트북 커널이 파이썬 버전을 제대로 찾지 못해서, 아나콘다 가상환경들을 싹다 밀어버리고 새로 만들었다. python 3.6으로 새로 설치하고, 딥러닝에 필요한 라이브러리 설치함.


50쪽 공부하는데만 4~5시간이 걸렸다. 어려운 개념이 많다.

예전에 타리크 라시드의 ‘신경망 첫걸음’이라는 책으로 머신러닝 공부하면서 정리한 개념을 다시 정리한다.


학습 모델 종류


  • 의사결정트리 : 기호주의, 귀납적 추론

  • 신경망 기반 : 노드, 연결주의

  • KNN, 서포트벡터머신 : 유사성 근거로 학습

  • 베이지안모델 : 확률 추론

  • 유전 알고리즘 : 모든 선택은 자연 선택에 의해 이뤄진다, 진화주의, 유전학

  • 모델 앙상블(여러 학습 모델을 활용하는 것)


모델 평가하기


  • 에러의 제곱

  • 정확도

  • 우도 (가능도) : 모델의 예측값을 ‘가능성’이 큰 쪽으로 이동시킨다. 로그함수 이용

  • 정밀도와 재현률

  • 엔트로피


머신러닝의 응용분야

  • 분류 : 특정 데이터에 레이블을 붙여 분류

  • 클러스터링 : 데이터의 유사성을 기반으로 데이터를 여러 그룹으로 나눈다.

  • 추천 : 과거 데이터를 기반으로 다른 제품 추천

  • 회귀 : 과거 데이터를 기반으로 미래, 미래 데이터를 예측하는 것 (판매, 주가 예측)

  • 차원 축소 : 데이터의 특성을 유지하면서 데이터 양을 줄여주는 것 (많은 데이터를 계산하기보다는 특성을 기반으로 데이터 양을 줄여 메모리 양을 줄이고 계산 속도를 빠르게 함)

활성화 함수(activation function)

생물학적 뉴런은 입력된 신호의 합들이 특정 분계점을 넘을 때에만 반응한다.

즉, 딸기를 보았을 때, 빨간색, 씨앗, 달콤한 냄새, 시큼한 냄새 등 입력 신호의 합이 ‘딸기’라는 점을 넘어섰을 때 우리는 ‘딸기’임을 인식하는 반응(출력)을 한다.

​활성화함수도 이와 마찬가지로, 입력된 값들을 합해보았을 때 특정 분계점을 넘지 않으면 반응하지 않고, 특정 분계점을 넘으면 반응을 할 수 있게 해주는 함수이다.

활성화함수는 여러 종류가 있고 그중에서도 ReLU함수가 실무에서 많이 쓰이지만 학습 용도로는 시그모이드 함수가 쉽다.

※ ReLU 함수는 입력이 0보다 크면 입력을 그대로 반환. 0보다 작으면 0을 반환

​<hr>

Django 모델 공부 ​


어제 Django 모델을 직접 만들고 참조 테이블을 만들었다. Django의 OneToOneField, ManyToOneField, ManyToManyField에 대해 이해가 안되서 데이터베이스의 1:1, 1:N, N:N 관계를 공부했다.

​공부하는 과정에서 마이그레이션, 마이그레이트의 차이, 용도 공부 + sqllite3를 브라우저에서 볼 수 있는 파일을 발견했다.




파이썬으로 데이터 주무르기


1. 시카고 샌드위치 맛집 분석, 날짜별 영화 평점 변화 분석




2. 생활 정도에 따른 범죄율


상류층과 중산층, 저소득층 사이의 격차가 매우 심하다. 중산층이라 해도 범죄율이 낮지 않은데, 상류층은 상위 7개의 범죄들을 빼면 범죄율이 모두 5 ~ 10% 대. 압도적으로 범죄율이 낮다.



각 계층별 범죄 종류는 어떤지 보자. (※ 아래 사진에서 x축을 보면 퍼센티지를 알 수 있다.)

※증수뢰 : 뇌물을 주고 받는 범죄

상류층

중류층

하류층

상류층은 범죄율이 낮지만 지능범죄(특히 뇌물수수)가 많고, 안보, 선거, 직권남용 등 어느 정도의 사회적 위치에 올라야 저지를 수 있는 범죄가 많다. 중산층은 상류층보다도 더 지능범죄가 중심적으로 일어난다. 상류층과 중산층의 경우, 각 계층이 속한 직종, 직급에 따라 범죄의 종류도 달라지는 것 같다고 추측해본다. 그리고 저소득층은 살인미수, 강도 등의 강력범죄가 많은데 반대로 지능범죄는 가장 낮다.

무전유죄, 유전무죄는 죄의 판결에만 그치는 이야기가 아니다. 생활이 어려우면 범죄에 노출되기 십상이다.

캐나다, 네덜란드의 mincome은 저소득층의 기본 소득을 보장하여 삶의 질은 물론 노동의 질까지 향상시키고 있다.

mincome과 같은 사회보장제도로 생활이 어려운 사람들에게 더 많은 지원을 하고, 기본 소득을 보장해주면 저소득층에게 교육, 사회참여는 물론 범죄 발생율도 줄어들지 않을까.

  • 저소득층(빨간색) : 강력범죄 중심

  • 중산층(초록색) : 지능범죄 중심(직무유기, 직권남용)

  • 상류층(노란색) : 지능범죄, 안보, 선거범죄, 직권남용 등