딥러닝 2일차

박철민·2021년 11월 5일
0

Window PowerShell은
리눅스 명령어 몇가지 인식을 한다.

명령어 복잡-> 기본적인것만을 공부할 것

일반적으로 서버 급은 윈도우나 유닉스 계열 사용하니까 besh shell같은것

나중에 관심있으면 shell 프로그램을 할것

우분투 말고 다른 리눅스 사용하고 싶으면 디스트록을 다른 것으로 할 수 있다.

ls

ls /mnt

ls /mnt -l

mnt 마운트
: 보조기억장치나 파일 시스템이 다른 디스크를 /의 하위 디렉터리로 연결하여 사용 가능하게 해주는 명령어 mount

tilde는 홈 디렉토리


pipenv로 파이썬 가상 환경 구축

파이썬 가상 환경
: 특정 버전의 파이썬과 패키지를 포함하는 프로젝트 디렉터리 트리를 생성하기 위한 파이썬다운 방법

파이썬 가상 환경의 이점
: 프로젝트 개발 환경 복제 용이하므로 여러 사람이 같이 개발할 때 유용
: 개발, 테스트 및 배포 등 별도의 환경을 구축(또는 재구축)하는데 유용
: 한 컴퓨터 안에 프로젝트 별로 상충하는 파이썬 버전과 패키지 설치 가능

우분투를 껐다가 켜야 버전이 확인이 된다.

pip 버전 확인

왜? 껐다가 키거나 sudo로 깔아야만 볼 수 있는가?

현재 디렉토리의 위치 바꾸는 명령어 cd

pipenv가 깔려진 위치로 가면 깔린 것을 알 수 있지만 실행이 불가능하다.

* 실행파일

  • binary file이라고도 함
  • 그래서 bin 이라는 이름의 폴더(디렉터리)에는 실행 파일을 두게 됨
  • 실행 파일 구분
    ~ 윈도: 확장자 -> 이진파일(com, exe), 텍스트파일(bat)

*터미널 환경에서 실행 파일 실행 과정

  • 실행 파일을 찾는 순서
    1) 현재 작업 디렉터리(폴더)
    2) PATH 환경 변수에 등록된 디렉터리를 순차적으로 방문

cmd 에서 PATH를 쳐서 다음과 같이 환경변수들을 확인한다.

우분투에서는 env를 쳐서 환경 변수를 확인한다.

이를 해결하기 위해서는 3가지 방법이 있는데
1. PATH를 직접 추가
2. sudo apt install pipenv
3. 껐다가 키면 된다.


다음과 같이 /home/kosa가 추가된것을 확인 할 수 있다.

.profile는 맨 처음 우분투가 실행되면서 자동으로 실행되는 것이다.

cat .profile

cat은 수정
-> 새로운 text를 만들거나 수정할 때 사용한다.


조건식은 대괄호 안에
$기호는 변수임을 알린다,

$BASH_VERSION이라는 변수가 0이 아닐경우
$HOME/.bashrc가 있을 경우 "$HOME/.bashrc를 실행해라


여기에 처음 시작하였을 때 환경변수에 추가 해주는 명령어가 있다. 그래서 환경변수가 올라가는 것이다.

만약 자동으로 추가가 되지 않는다면 탐색기를 이용해서 추가해야한다.

nano 명령어

첫번째 환경 변수 설정

** 상위 폴더를 하나하나씩 차근차근 만들어야 한다.

만약 한번에 만들고 싶다면 옵션을 사용한다.

디렉토리 생성, 삭제, 이름 수정


move로 리네임을 대신하였다.

dl_chatbot으로 이동


가상환경 관련 명령어

pypy
파이썬으로 파이썬 인터프린터 만드는 것


다음과 같이 가상환경이 만들어진 것을 확인 할 수 있습니다.

jupyterlab 설치

에러 발생

서버에 들어가기 위해서 위에 적힌 이미지에 있는 토큰이 있는 주소를 복사 붙여넣기하여 들어가서 해결이 되었다.

왜 이런 문제가 발생하였는지 의문

-> A. 교수님과 화면이 다르지만 잘못된것이 아닌것으로 판명

교재 : 처음 배우는 딥러닝 챗봇

챗봇의 이해

챗봇은 특정 분야에 맞게 개발되어야 합니다. 범용 챗봇 개발은 기술적 어려움이 많은 분야

책에서는 음식 주문을 도와주는 챗봇을 만든다.

파이썬 시작하기

파이썬은 약타입 언어. 타입에 선언이 빡빡하지 않은 언어를 읽컫는다.

동적 타입과 정적 타입

파이썬은 인터프린터 언어이다.
-> 그래서 약 타입 언어이다.

이 이후로는 파이썬 관련 이야기를 진행하였다.

객체의 크기는 항상 같다.

파이썬에서 변수의 크기가 항상 같다

a = 1234

b = a

c = 1234

a==b True
a==c True
a is b True
a is c False

이스케이프 코드

파라미터와 아규먼트
->둘대 매개변수를 뜻하는 것은 아닌가?
매개변수와 인수를 뜻한다.

매개변수(parameter)란 함수의 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수를 의미합니다.

인수(argument)란 함수가 호출될 때 함수로 값을 전달해주는 값을 말합니다.

표현식

func1(len('hello'), 20)

https://wikidocs.net/60021

01. 머신 러닝 용어 이해하기

실제 모델을 평가하기 위해서 데이터를 훈련용, 검증용, 테스트용 이렇게 세 가지로 분리하는 것이 일반적입니다. 다만, 이 책의 목적은 개념 학습이므로 일부 실습에서는 별도로 세 가지로 분리하지 않고 훈련용, 테스트용으로만 분리해서 사용합니다. 그렇다면 훈련용, 테스트용 두 가지로만 나눠서 테스트 데이터로 한 번만 테스트하면 더 편할텐데 굳이 왜 검증용 데이터를 만들어 놓는 것일까요?

검증용 데이터는 모델의 성능을 평가하기 위한 용도가 아니라, 모델의 성능을 조정하기 위한 용도입니다. 더 정확히는 과적합이 되고 있는지 판단하거나 하이퍼파라미터의 조정을 위한 용도입니다. 하이퍼파라미터(초매개변수)란 값에 따라서 모델의 서능에 영향을 주는 매개변수들을 말합니다. 반면, 가중치와 편향과 같은 학습을 통해 바뀌어져가는 변수를 이 책에서는 매개변수라고 부릅니다.

이 두 값 하이퍼파라미터와 매개변수의 가장 큰 차이는 하이퍼파라미터는 보통 사용자가 직접 정해줄 수 있는 변수라는 점입니다. 선형 회귀 챕터에서 배우게 되는 경사 하강법에서 학습률이 이에 해당됩니다. 반면 매개변수는 사용자가 결정해주는 것이 아니라 모델이 학습하는 과정에서 얻어지는 값입니다. 정리하면 하이퍼파라미터는 사람이 정하는 변수인 반면, 매개변수는 기계가 훈련을 통해서 바꾸는 변수라고 할 수 있으며 이 책에서는 이와 같은 기준으로 변수의 이름을 명명합니다.

훈련용 데이터로 훈련을 모두 시킨 모델은 검증용 데이터를 사용하여 정확도를 검증하며 하이퍼파라미터를 튜닝합니다. 또한 이 모델의 매개변수는 검증용 데이터로 정확도가 검증되는 과정에서 점차 검증용 데이터에 점점 맞추어져 가기 시작합니다.

하이퍼파라미터 튜닝이 끝났다면, 이제 검증용 데이터로 모델을 평가하는 것은 적합하지 않습니다. 이제 모델은 검증용 데이터에 대해서도 일정 부분 최적호가 되어있기 때문입니다. 모델에 대한 평가는 모델이 아직까지 보지 못한 데이터로 하는 것이 가장 바람직합니다. 검증이 끝났다면 테스트 데이터를 가지고 모델의 진짜 성능을 평가합니다. 비유하자면 훈련 데이터는 문제지, 검증 데이터는 모의고사, 테스트 데이터는 실력을 최종적으로 평가하는 수능 시험이라고 볼 수 있습니다.

만약, 검증 데이터와 테스트 데이터를 나눌 만큼 데이터가 충분하지 않다면 k-폴드 교차 검증이라는 또 다른 방법을 사용합니다.

2. 분류와 회귀

전부라고 할 수 업ㅅ지만, 머신 러니의 많은 문제는 분류 또는 회귀 문제에 속합니다. 이 책에서는 앞서 머신 러닝 기법 중 선형 회귀과 로지스틕 회귀를 다루는데 선형 회귀를 통해

profile
취준좀비 컴공

0개의 댓글