목록코딩공부 (37)
슈코딩
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CuYdm/btrDIoCcJMS/IT8oOdkuNuSLxLBXj6rcP1/img.jpg)
퀴즈 내용 제한시간 1시간 (권장 30분내) 1. Django 프로젝트를 생성하고, blog 라는 앱을 만들어서 settings.py 에 등록해보세요. - 장고 프로젝트를 생성하고, 터미널에 django-admin startapp blog 를 입력하면 생성된다. - settings.py 에 blog 추가 2.models.py 에 이 들어갈 수 있는 Article 이라는 모델을 만들어보세요. 3.models.py에 이 들어갈 수 있는 Category 라는 모델을 만들어 보세요. 4.Article 모델의 글 카테고리에는, Category 모델에 존재하는 카테고리만 들어갈 수 있도록 만들어보세요. (힌트: Foreign Key) -내가 적은 답- from django.db import models class ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lEJuv/btrDAPUWmnX/GHnfnHrIhliMRHKKjj1430/img.png)
1. 데이터 베이스 연결 파이참으로 프로젝트 세팅을 하게되면 settings.py 안에 DATABASES 가 있다. 강의에서는 SQLlite를 사용해서 기본세팅으로 실습을 했다. 다른 DB를 사용하기위해선 우선 그 DB를 설치를 하고 settings.py에 새로 작성을 해야 한다. 예시) mysql 그 후 파이참을 실행시켜서 서버를 작동시키고 파이참 우측에 데이터베이스 클릭 후 + 버튼을 눌러서 프로젝트 파일에 자동으로 생성된 db파일을 연동시켜서 우리가 볼 수 있는 형태까지 연결을 하면 준비는 끝난다. 이미지에 나와있는 my_user 테이블을 제외한 나머지 테이블은 장고에서 기본적으로 제공하는 테이블구조이다. 생성한 APP의 models.py에서 모델을 생성하고 추가하게되면 my_user테이블과 함께 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1Mi1M/btrDz6waPlR/os6cW7CUteEM2EPUQZZ8lK/img.jpg)
Django 프로젝트 세팅이 끝나고 실행을 해보면 처음에 나오게 되는 페이지가 있다. 신기하게도 아무런 html을 작성하지 않았는데도 127.0.0.1:8000 포트로 접속해보면 이런 페이지가 뜬다. 장고에서 기본으로 제공하는 기본페이지이다. 이렇게 장고에서 우리가 기본적으로 사용 할 수 있도록 하는 많은 기능들이 있는데, 제공하는 기능중 하나가 바로 'Admin' 이다. 페이지의 관리자를 위해 각종 관리를 할 수 있는 관리자 페이지이다. 이 페이지는 127.0.0.1:8000/admin 주소로 접속을 하면 접속 할 수 있다. 그리고 접속을 하게되면 로그인을 해야되는데 계정이 없으니 계정을 생성해야 한다. 터미널을 열어서 python manage.py createsuperuser 를 입력하고 나오는 Us..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/4N4fR/btrDywulVq3/PGontUlirRykrhUcbOSYak/img.png)
Pycharm 파이참에서 장고를 처음 시작할때 따로 장고를 설치하거나 할 필요없이, 새프로젝트에서 왼쪽창에 있는 Django를 클릭해서 파일경로만 설정해주면 자동으로 세팅이 된다. 이렇게 생성을 누르게 되면 장고를 설치하게되고 조금 기다리면 초기 파일들이 자동으로 생성된다. templates 파일 안에는 html 파일을 생성해서 들어가게 된다. manage.py는 장고프로젝트를 관리하고, 실행하거나 하는 역할을 한다. 새로운 APP 기능을 생성할때 터미널에 명령어를 사용하게 되는데, user와 tweet 이라는 두가지 APP을 만든다고 가정했을때 파이썬 하단에 터미널을 열어서 입력을하면 위 사진처럼 user앱 폴더, tweet 앱 폴더가 생성되고 안에 기본 파일들이 생성된다. 이렇게 APP 기능을 생성하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ceWSME/btrDcFk759G/j3sm9t0I8wn74Dlkz6mvS0/img.png)
1. Framework 파이썬의 대표적인 웹프레임워크는 두가지로 나눌 수가 있다고 한다. - 최소한의 기능만을 제공하는 형태 - 이미 많은 기능들을 제공하는 형태 최소한의 기능만을 제공하는 형태의 프레임워크에는 그동안 사용했던 Flask가있고 Flask외에도 Pyramid라는 프레임워크가 대표적이라고 한다. 많은 기능들을 제공하는 형태의 프레임워크는 대표적으로 Django가 있다. Django와 Flask,Pyramid를 비교해보면 이러한 특징들이 있다. 실제로 강의를 들으며 Django에서 간단한 기능들을 실습해보니, Flask에서 직접 만들어야 했던 기능들을 Django에서는 다 제공을해주어 연결시키거나, 간단한 코드로 이미 다 구현이 되는걸 보면서 신기하면서도 편리하다고 느껴졌었다. 이 두가지의 프..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/us470/btrCiuxCOaA/BPfFDaOdiwHQXaX70UiFTK/img.png)
1. CNN 합성곱 신경망 Convolution 연산이라고도 하는 합성곱은 컴퓨터 비전 분야에서 성능이 좋아서 많이 쓰이던 것이다. 기존의 Neural Network에 Convolution 연산을 적용시키면 이미지 처리에 유용하지 않을까 하는 생각에서 만들어지게 됐다고한다. 합성곱 계산 방식 입력데이터와 필터의 각각의 요소를 서로 곱한후 다더한다. 입력데이터의 3x3 크기를 오른쪽으로 한칸이동해서 필터와 곱하고, 아래왼쪽서부터 다시 반복해서 결과 2x2의 값이 나오게된다. 필터(커널), 스트라이드, 패딩 위 사진에서 합성곱이 진행되고 있는 5x5블록의 3x3 어두운 부분을 필터 혹은 커널이라고 하고 한칸씩움직이며 합성곱을하는데, 움직이는 간격을 스트라이드라고 한다. 패딩(padding) 은 가상의 구역을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/crS8GO/btrCibxSCQ2/r5JnPTHCpOuNLjifWWgVkk/img.png)
1. 딥러닝이란? 딥러닝은 머신 러닝의 한 분야이다. 선형회귀와 논리회귀는 모두 1차 함수를 이용해서 문제를 풀었는데, 자연계에서는 직선으로 설명할 수 없는 문제들이 훨씬 많다. 그래서 복잡한 문제들을 풀기위해서 선형회귀를 여러번 반복했지만, 그럼에도 풀리지않아서 선형회귀 사이에 비선형의 무언가를 넣어야 한다고 생각을했더니 층(Layer)이 여러개 쌓이게 되면서 잘 작동하는 모델이 탄생했다. 층(Layer)을 깊게(Deep) 쌓는다고 해서 딥러닝이라고 불리게 되었다. #딥러닝의 다른 표현 1.딥러닝(Deep learning) 2.Deep neural networks 3.Multilayer Preceptron(MLP) 2. Deep Neural Networks 구성 방법 보통 설계를 할때 노드의 갯수를 늘..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JWjGC/btrCdHcU7OO/vyB9wG7ck8ldXvt3ML3Klk/img.png)
1. Support Vector Machine ( SVM ) 강아지와 고양이를 분류하는 문제를 풀때, 이것은 Classification problem 이고 이러한 문제를 푸는 모델을 Classifier라고 부른다. 강아지와 고양이의 특징(Feature)을 가지고 분류를 하고 가운데 직선을 하나 그린다. 선을 잘 긋기 위해서는 선과 고양이, 강아지의 거리를 구해서 거리가 최대가 되도록 한다. Margin이 노랑색 영역인데, Margin이 넓어지도록 학습시켜야 훌륭한 SVM이 된다. #충성심 강한 개냥이가 있을경우 : Feature를 추가(다리길이, 울음소리의 높낮이) 그래프를 3차원으로 만들수가 있게된다. 3차원이 되면 선으로는 구분이 안되고 면이된다. Feature는 부족할수록 늘려가면서 학습을 시켜 정..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bh5C19/btrCcFshEdV/aksJkkYLcGq8oOf2NSLDF1/img.png)
1. Logistic regression Logistic regression (논리회귀)는 선형회귀로 풀기 힘든 문제를 풀 수 있다. 다음과 같은 문제를 선형회귀로 그래프를 나타내면 첫번째 그래프처럼 그려지고, 논리회귀로 그래프를 그리면 두번째 처럼 그려진다. 이 문제를 선형으로 풀려고하니 정확도도 낮고, 그래프도 우스꽝스러운 모습을 가지게 되어 수학자들이 고민하다가 발견한것이 Logistic funtion(=Sigmoid function) 이다. Logistic function은 입력값(x)으로 어떤 값이든 받을 수 있고, 출력값(y)는 항상 0에서 1사이 값이 된다. 0(미이수) , 1(이수) 임계치(Threshold)는 pass냐 fail이냐 의 기준이된다. 0.5가되면 0.5를 넘으면 pass 0..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cEIHI5/btrCjEl1P0P/ITD3tpbh1kRtZ9qqoaTYpk/img.png)
1. 선형 회귀 (Linear Regression) >모든 문제는 선형으로 풀 수 있다라고 가정하는게 선형회귀이다. >이세상에 완벽한 것은 없으니까 일단 선형으로 풀어보겠다. >가설을 세워 직선으로 표시 할 수 있다. >직선 가설과 정답값의 거리를 좁히는 방법으로 학습을 기계한테 시킨다. >기계는 W랑 b값을 계속 바꿔가면서 cost가 최소화되는 방향으로 학습을 시킨다. #선형회귀와 가설(Hyphothesis), 손실함수(Cost function, loss function) 위그래프를 통해서 가설을 세울수 있는데 수식으로 나타내면 H(x) = W(x) + b 1차함수 위 그래프처럼 정확한 점수를 예측하기 위해 점 = 정답 , 점선 = 가설 의 거리가 가까워지도록 해야한다.(=mean squared err..