Build a Neural Net in 4 Minutes

전세계 여러분, Sirajology에 오신 것을 환영합니다 오늘, 우리는 뉴럴 네트워크(신경회로망)을 4분안에 만들거야 시작해 볼까요! 머신러닝 모델은 종류가 아주 다양합니다

그 중 뉴럴 네트워크가 최근 아주 유명하게 된 이유는, 빨라진 컴퓨터와 더 많아진 데이터 두가지 때문입니다 뉴럴 네트워크는 이미지 인식에서 랩 창작과 같은 거의 모든 영역에서 놀라운 결과물을 만들고 있습니다 머신러닝을 하려면 3단계만 기억하시면 됩니다 모델 만들기 훈련하기 테스트하기 우리가 모델을 만들고 나면, 우리의 입력과 출력에 맞춰 더 뛰어나고, 더 인지능력이 있도록 그 모델을 훈련시킬 수 있습니다 자, 모델을 만들어 볼까요 파이썬에서 세 개의 레이어 뉴럴 네트워크를 만들어 보겠습니다

파이썬에서 과학적 계산을 할 수 있는 NumPy 모듈을 import 해보도록 하죠 그런 다음, 우리는 0과 1사이의 어떤값이든 매핑하는 함수를 만들겁니다 이 함수는 시그모이드(sigmoid)라고 불립니다 이 함수는 데이타가 뉴런 네트워크를 지날때마다 실행됩니다 이 함수는 숫자(입력)으로 부터 확률을 생성할때 유용합니다

방금 시그모이드(sigmoid) 함수를 만들었습니다 입력 데이터들을 매트릭스(행렬) 형태로 초기화 합시다 각 행은 다른 훈련 샘플입니다 각 열은 다른 뉴런을 나타냅니다 그래서 우리는 4개의 훈련 샘플과 3개의 입력 뉴런을 그리고 우리는 우리의 출력 데이터 세트 만듭니다

4개의 샘플에 각 한 개의 출력 뉴런(신경)을 가지게 됩니다 랜덤하게 숫자를 만들 예정이기 때문에, 신경회로망에 구성할 수 있도록 값을 만들었습니다 이것은 그저 임의의 숫자들을 의미하고, 동일한 시작점을 생성, 전달하여 프로그램을 실행할 때마다, 동일한 순서로 임의로 생성된 숫자를 얻을 수 있을 것이다 이는 디버깅에 유용합니다 다음으로, 시냅스 행렬을 만들겠습니다

시냅스는 뉴런과 뉴런이 만나게 되는 연결 부위 입니다 (정확히는 하나의 뉴런과 여러개의 다음 뉴런과 만나는 부위) 시냅스는 뉴런과 뉴런이 만나게 되는 연결 부위 입니다 (정확히는 하나의 뉴런과 여러개의 다음 뉴런과 만나는 부위) 우리는 우리의 신경회로에서 3개의 layer를 가지게 되므로, 2개의 시냅스 행렬이 필요합니다 각 시냅스는 임의의 가중치가 할당됩니다

그 다음에, 훈련 코드를 시작하겠습니다 주어진 데이터로 신경회로를 최적화 하기 위해 for-loop로 훈련 데이트를 반복할 수 있도록 코드 만들겠습니다 첫번째 레이어를 만들어 보겠습니다 그것은 단지 우리의 입력 데이터입니다 예측 단계를 만들어 보겠습니다

각 layer와 시냅스간에 행렬 곱셈을 수행합니다 곱해진 행렬값을 시그모이드(sigmoid) 함수를 수행해서 다음 layer 값을 구합니다 곱해진 행렬값을 시그모이드(sigmoid) 함수를 수행해서 다음 layer 값을 구합니다 다음 layer는 출력 데이터의 예측합니다 그 다음 더 정교해진 예측 layer를 구하기 위해 같은 방법을 적용합니다 그 다음 더 정교해진 예측 layer를 구하기 위해 같은 방법을 적용합니다

여기까지, 두번째 layer까지 출력 값을 예측했습니다 예상되는 출력 data와 예상한 값의 차이를 비교해보겠습니다 평균 에러가 매 계산마다 줄어들수 있도록 값을 출력해보겠습니다 다음으로, 우리는 우리의 에러률에 우리의 시그모이드(sigmoid) 기능의 결과를 곱할 것입니다 이 함수는 두개의 layer로 부터 출력 예측값의 미분을 얻는 데 사용됩니다

이 함수는 두개의 layer로 부터 출력 예측값의 미분을 얻는 데 사용됩니다 이 값은 시냅스 값을 매번(every iteration) 업데이트 할때마다, 예측값의 에러율을 줄일수 잇는 델타 값을 제공합니다 그 다음으로 우리는 첫번째 layer가 얼마나 두번째 layer의 에러와 연관이 있는지 보겠습니다 그 다음으로 우리는 첫번째 layer가 얼마나 두번째 layer의 에러와 연관이 있는지 보겠습니다 이 방법을 역전파법(back propagation) 이라고 합니다 우리는 두번째 layer의 델타값(l2_delta)을 시냅스 전치행렬(syn1

T) 값과 곱하면서 이 에러를 구할 수 있습니다 우리는 두번째 layer의 델타값(l2_delta)을 시냅스 전치행렬(syn1T) 값과 곱하면서 이 에러를 구할 수 있습니다 그리고 나서 첫번째 layer의 델타값을 구하기 위해 시그모이드 함수값과 에러값(l1_error)을 곱합니다 그리고 나서 첫번째 layer의 델타값을 구하기 위해 시그모이드 함수값과 에러값(l1_error)을 곱합니다 이 함수는 첫번째 layer의 미분을 구하기 위해 사용합니다

우리는 각 레이어의 deltas를 가지고, 시냅스의 가중치를 변경해서 에러가 매 반복시 마다 줄어들 수 있도록 하겠습니다 이 방법은 그래디언트 디센트(gradient descent) 방법이라고 합니다 그래디언트 디센트를 적용하기 위해, 우리는 단지 각 layer와 delta를 곱합니다 마지막으로 예측된출력값을 print 하도록 하겠습니다 다 되었네요 터미널에서 실행해서 어떤 값이 나오는지 보겠습니다 멋지네요, 우리는 에러률이 반복해가면서(iteration) 줄어드는 것을 볼 수 있네요 예측된 출력값은 실제 출력값과 아주 아주 근접합니다 뉴럴 네트워크를 향상시키기 위해 우리가 할 수 있는게 정말 많습니다 자세한 내용은 아래의 링크 확인을 하시길 바랍니다

더 많은 기술 동영상을 보고 싶다면, 구독하십시오 시청 주셔서 감사합니다

Build your Career in web development as a Professional Web Developer: A Practical Guide in Urdu 2017

안녕하세요 내 이름은 Imran Qasim이고이 비디오에 있습니다

기본적으로 내 비디오는 그 친구들을위한 것입니다 웹 디자인이나 웹 개발을 커리어로 받아들이려는 사람 이것은 완전하고 실용적인 안내서입니다 내가 그 단계들이 무엇인지 말해 줄거야 웹 디자인이나 웹 개발을 취업에 따라 수행 할 수 있습니다

한가지 더 말씀 드리고 싶습니다 웹 개발 또는 웹 디자이너가 되려면 컴퓨터 나 졸업에서 석사 과정을 밟을 필요가 없습니다 이것을 위해서는 두 가지가 필요합니다 헌신과 집중 집중력있는 헌신으로 경력을 쌓으면 성공할 것입니다 자신의 인생에서 진지하게 직업을 갖거나 어떤 분야에서 헌신과 집중력을 보여 주거나 따라 다니면 감염 시키십시오

그렇다면 당신은 성공해야하며 아무도 성공을 위해 당신을 멈출 수 없습니다 Ook 이제 웹 개발에 들어가기를 원합니까? 그런 도구 나 기술은 무엇이며, 가장 필요한 것은 무엇입니까?

Anvil: A New Way to Build Web Apps

여보세요 내 이름은 Meredydd이고 Anvil에 대해 소개하고 싶습니다

모루는 새로운 것이다 파이썬 이외에는 스택 웹 앱을 만드는 방법 나는 그것을 보여줄 것이다 안전한 대화 형 앱을 구축하여 데이터베이스 저장소 및 사용자 계정을 생성하고 웹에 게시 할 수 있습니다 그리고 우리는하지 않을 것입니다

자바 스크립트 나 HTML이 필요합니다 우리가 알아야 할 것은 기본적인 파이썬입니다 준비된? 여기 앤빌 (Anvil) 편집장에 있습니다 새 앱을 만들고 시각적으로 선택하겠습니다 테마

이것은 여기에 우리의 웹 페이지이며,이면에는 컴포넌트의 도구 상자가 있습니다 그 위에 끌 수 있습니다 우리는 "안녕하세요 세상"앱을 만드는 것으로 시작할 것입니다 당신의 이름을 밝히고 인사드립니다 먼저 패널을 배치하는 것으로 시작하겠습니다

일부 텍스트를 표시하기 위해 Label을 추가하겠습니다 여기 아래 모든 속성을 볼 수 있습니다 선택한 구성 요소의 '텍스트'가 관심있는 텍스트입니다 사용자가 이름을 입력하십시오 이제 내가 할 텍스트 상자를 추가 할 것입니다

마다 구성 요소에는 이름이 있으므로 코드에서 사용할 수 있습니다 우리는 이것을 'name_box'라고 부를 것입니다 클릭하기 위해 버튼을 추가하십시오 그리고 마지막으로 인사말을 표시하는 다른 레이블 우리는 다른 속성을 여기에서 바꿀 것입니다 : 우리는 텍스트를 크게 만들고, 등등

마지막으로, 페이지에 제목을 붙이자 좋은 측정을 위해서 이제 우리는 페이지를 시각적으로 디자인했습니다 이 버튼을 두 번 클릭 할 수 있으며 지금은이 때 실행되는 코드를 편집하고 있습니다 버튼이 클릭됩니다

모든 페이지는 파이썬 클래스이며 모든 방금 배치 한 것들은 인스턴스 변수로 접근 할 수 있습니다 우리는 원한다 이름 상자의 텍스트를 기반으로 메시지 레이블의 텍스트를 변경하면됩니다 그게 전부입니다 한번 시도해보십시오

방금 간단한 웹 앱을 만들었습니다 그것을 발표합시다 앱 메뉴를 열고 '게시' 이 링크는 비공개 링크입니다 Google 문서 공유 링크와 비슷합니다

링크를 보내지 않으면 앱을 엽니 다 하지만 대신 앱을 공개 할 수 있습니다 더 나은 URL을 제공하십시오 이제 모든 컴퓨터에서 hello-world-demoanvilapp

net을 열거 나 실제로 내 전화 (모루 앱은 작은 화면에서 자동으로 작동합니다) 우리가 만든 모든 것 지금까지 브라우저에서 실행되었습니다 파이썬 코드조차도 자바 스크립트로 컴파일되었습니다 물론 대부분의 앱은 서버에서도 무언가를 필요로합니다

우리는 서버를 추가 할 수 있습니다 우리의 애플 리케이션에 모듈 이것은 서버에서 실행되는 Python 모듈입니다 virtualenv로 어지럽 혀지면서, 바로 갈 준비가되었습니다 클라이언트에서 사용하려면 코드, 우리가 할 일은 함수를 정의하는 것뿐입니다

이 하나는 단 하나 걸립니다 인수 인 'name'을 입력하고 인사말을 인쇄합니다 우리가 @ anvilservercallable로 꾸미면, 우리는 우리 페이지에서 그것을 부를 수 있습니다

그럼 그렇게 하죠 우리는 단지 anvilservercall ()을 입력하면 autocompleter는 우리가 호출 할 수있는 것을 알고 있습니다 심지어 'name'이라는 인수를 사용한다는 것을 알고 있습니다

그래서 우리는 name_box 텍스트를 전달할 것입니다 다시 실행하십시오 우리는 약간의 결과가 있음을 알 수 있습니다 노란색 배경은 서버에서 실행 중입니다 이것은 파이썬 모듈 일 뿐이므로 어떤 것도 가져올 수 있습니다

당신은 'pip 설치'할 수 있습니다 데이터베이스와 대화하고 싶다면 드라이버를 가져 오기 만하면됩니다 연결하고 멀리 가세요 하지만 많은 앱에 일종의 저장 공간이 필요합니다 그들 자신을 위해서

새 데이터베이스를 설정하는 것은 힘든 일이지만 Anvil을 사용하면 쉽습니다 데이터 테이블 서비스는 순전히 파이썬 API가있는 즉석 데이터베이스이며, PostgreSQL 우리는 우리가 방문한 각 방문자의 이름을 기록 할 테이블을 만들 것입니다 텍스트 열로 표시됩니다 이제 서버에서 인사말을 인쇄 할뿐 아니라 데이터베이스에 이름을 추가 할 수 있습니다

app_tablesvisitors를 사용합니다 우리가 방금 생성 한 테이블 – 우리가 가진 이름 인 name 컬럼을 가진 행 추가 페이지에서 다시 시도해 봅시다 그리고 우리가 테이블로 돌아 가면 그 이름이 추가 된 것을 볼 수 있습니다

정리하자면, 데이터베이스 기반의 웹 애플리케이션을 구축하고 웹, 3 분 조금 넘게 그러나 Anvil에게는 훨씬 더 많은 것들이 있습니다 너의 삶을 편하게해라 예를 들어, 사용자 등록 및 로그인 구축 모든 응용 프로그램의 양식이 자질구레 한 일이 될 수 있으므로 Anvil을 사용하면 쉽게 사용할 수 있습니다 이 한 줄의 코드 만 있으면됩니다

Anvil의 사용자 인증이 예쁘다 강력한 기능 : 전자 메일 및 암호뿐 아니라 Google 또는 Facebook을 사용할 수 있습니다 회사의 Active Directory 또는 인증서 시스템에 연결할 수 있습니다 Anvil을 네트워크에 설치하려고합니다 지금은 이메일을 고집하겠습니다

이메일 주소를 확인하는 한 새로운 가입을 허용합니다 이 테이블 의 사용자는 이전의 방문자 테이블과 약간 유사합니다 그것은 또 다른 데이터 테이블! 우리는 그들을 연결할 수 있습니다 : 우리가 기록하는 모든 방문자에 대해, 우리는 저장할 수 있습니다 그 이름이 입력되었을 때 로그인 한 사용자 우리는 로그인을 보여주고 싶다

양식이 열리면 양식을 작성하십시오 이것은 생성자이므로 페이지가 열리기 전에 실행됩니다 로그인 양식을 보여 드리겠습니다 우리가 이전에 본 코드 이제 우리가 필요로하는 것은 저장했을 때 누가 로그인했는지 저장하는 것입니다

우리 서버 모듈의 이름 이름뿐 아니라 저자를 저장합니다 우리는 할 수있다 anvilusers

get_user ()를 사용하여 현재 기록 된 테이블 행을 가져옵니다 사용자 그것을 보자 : 나는 응용 프로그램을 열면 로그인 양식을 참조하십시오 새 계정에 가입해야합니다 알았어

확인 이메일을 받았어 링크를 클릭하고 확인합니다 이제 앱에 돌아 왔으므로 로그인 할 수 있습니다 내 이름을 입력하십시오 데이터 표를 보면 새 행이있을뿐만 아니라 방금 생성 한 사용자에 대해 방문자 테이블에 새 항목이 연결되었습니다

내 사용자 계정 따라서 우리는 안전한 다중 사용자 데이터베이스 기반 웹을 구축했습니다 신청서를 작성하고 6 분 안에 인터넷에 게시했습니다 내 일을 구할 시간이야 버전 저장을 클릭하고 메모를 작성합니다

변화 한 것의 앤빌 애플리케이션은 완전히 버전 제어됩니다 역사, 내 애플 리케이션을 보유하고있는 자식 저장소를보고있다 너는 할 수있다 원한다면 직접 컴퓨터에서 확인해보십시오

이제이 앱이 있습니다 이 버전을 게시 된 버전으로 선택하겠습니다 이것은 내가 내 앱에서 계속 작업 할 수 있지만 공개 URL을 방문하는 사용자는 앱의 게시 된 버전 Anvil에 대한 소개를 즐겼 으면합니다 더 많은 것을 탐색 할 수 있습니다 나는 너 자신을 서명하는 것이 좋습니다

비디오 자습서 및 참조 설명서를 살펴보십시오 와서 묻는다 커뮤니티 포럼에 질문하고 Anvil과 함께 작성한 것을 공유하십시오 나는 거기에서 당신을 만날 것을 고대한다!

The Python Mega Course: Build 10 Real World Applications | 007 Setting up Atom on Windows

이 강의에서 안녕하세요 다시 다운로드하고 설치하는 방법을 보여 드리겠습니다

Atom 편집기 Atom은 쓰기와 쓰기에 매우 효과적인 편집기입니다 파이썬 코드 구현 이 강의는 Windows에만 국한되므로 사용자 다음 강연 Mac 우리가하기 전에 우리는 설치했다

파이썬과 우리는 cmd에서 파이썬 대화 형 세션을 시도했고 우리는 또한 메모장과 같은 간단한 편집기를 사용하여 파이썬 프로그램을 만들거나 Windows에서 이미 사용하고있는 편집기이므로 지금부터 사용하겠습니다 또 다른 편집기는 Atom이고 당신은 그것을 설치하고 설치해야합니다 Atom 페이지 공식 사이트에서 다운로드하십시오 거기서 버튼을 클릭하십시오 파일을 다운로드하고 다운로드하는 데 시간이 걸립니다

다운로드 프로세스가 훌륭합니다 이제 Atom 파일을 클릭하여 실행합니다 인스톨 될 때까지 기다려야합니다 그리고 네, 설치 프로세스가 빠르며 Atom이 Windows에서 열렸습니다 그러나 여기를 닫고 Atom을 여는 방법에 대한 표준 방법을 보여줍니다

프로그래밍을 시작할 때 보통 Atom을 여는 방법은 다음과 같습니다 Atom 프로그램을 찾아보고 Atom을 클릭하여 엽니 다 그러나 우리는 원자 디렉토리를 무작위로 열어서 가장 효과적인 방법으로 Atom을 프로그램이있는 폴더로 엽니 다 우리가 가진 것은 myprogrampy입니다

그런 다음 오른쪽 바깥 쪽을 클릭하십시오 Atom을 열지 만, 만약 당신이 나를 좋아하는 Atom을 보지 않는다면 그래서 나는 Atom을 아직 열지 않았다 그리고 Atom을 열고 연다 귀하의 프로그램에 대한

파일로 이동하여이 두 가지 옵션을 설치하고 테스트하십시오 옵션은 설정 메뉴의 시스템 탭에서 시스템 아래에 있었고 Atom을 닫고 마우스 오른쪽 버튼을 클릭하면이 메뉴가 나타납니다 열어 라 그리고 이제이 뷰포트가 보일 것입니다 그러나 보시면 트리가 보이지 않을 것입니다

여기를보고, 폴더를보고,보기로 이동 한 다음, 트리보기를 변환 할 수 있습니다 켜고 끕니다 프로그램을 닫았다가 열면 편집 할 수 있습니다 프로그램은 파일을 파이썬 파일에 두 번 클릭하기 만하면됩니다 쓰기 시작

에서 코드 추가를 시작하고 ctrl을 눌러 저장하고 이제이 코드를 실행하면 여기로 이동하여 명령 프롬프트를 열 수 있습니다 여기 마우스의 오른쪽 이동이나 더 효율적인 방법이 있습니다 너는 필요해 패키지, 미안한 패키지를 설치하려면, 당신은 새로운 프로그램을 설치하고 싶어 해당 platformio 압축 및 검색 설치를 클릭하면 설치 또는 통합 할 패키지입니다

터미널, Atom 내부 명령 줄 당신은 외부 창을 사용할 필요가 없습니다 원래의 명령 행 창과 Atom 내에서 프로그램을 실행할 수 있습니다 모든 ide 플랫폼 터미널이 성공적으로 설치되면 닫을 수 있습니다 설정 탭을 클릭하고 여기에 더하기 아이콘이 표시되면 아이콘을 클릭하십시오 새 터미널을 열어 이제는 Atom 폴더를 미러링하는 현재 폴더 열기 디렉토리에 저장하십시오 이제 계속해서 명령을 입력 할 수 있습니다

Python 프로그램을 실행하십시오 자동 완성을위한 내 탭과 자동 완료처럼, 이것에 대해 걱정하지 마십시오 이것은 단지 현재를 의미합니다 그래서 당신이 탭을 할 때, 탭은 이것을 추가 할 것입니다 그것을 무시하고 Enter를 누르십시오

터미널에서 출력 프로그램을 볼 수 있습니다 터미널을 삭제할 수 있습니다 코드는 이전 명령을 실행하며 물론 호출 할 수 있습니다 화살표 키를 사용하여 이전에 실행 된 명령 다시하고하지 마라

파이썬 대화 형 세션을 열고 프로그램을 구현하는 데 혼란을 겪습니다 대화 형 예제의 경우 print 7로 파이썬 코드를 작성하지만 종료하면 이것은 일부 학생들이 여기서 파이썬 코드를 실행하는 것을 볼 수 있기 때문입니다 이것은 잘못되었습니다 이것은 파이썬이 아닙니다 이것은 창, 명령 행 창, 파이썬 코드를 대화식 세션이나 내부에 작성하는 대신 사용하지 마십시오

파이썬 파일 그것이 아이디어이며 이것은 원자입니다 네가 그걸 좋아하길 바란다 그리고 나중에 나에게 말할거야