15/05/2024
공지: 이곳 Ai코딩영어 특강이 기초반이라면, 새로 론칭한 아이부스 아카데미는 연습반이라 할 것입니다. 거기선 좀은 더 난이도가 높은 몇 시간짜리 비디오를 다루도록 하겠습니다.
https://morioh.com/a/d2e99f468750/building-a-python-sentiment-analysis-project-with-nltk-and-transformer
이 비디오가 재밋지 않을까요? 앞으로 이런 류의 현장실습과 방송을 통해서 우리의 학습법을 널리 전파해내는 것이 필요할 것입니다^^
(0:10 - 2:27) sentiment analysis it's the use of natural language processing to identify the motions behind text we're going to walk through a traditional approach to sentiment analysis using python's natural language toolkit or nltk
and then we'll implement a more complex model called roberta that's provided by hugging face we'll do some analysis of how the different models perform and we'll even explore using some pre-trained pipelines for making sentiment analysis really quick and easy
hi, my name is rob and i make videos about data science machine learning and coding in python i'm going to share everything we do today in a kaggle notebook so you can find the link in the description copy that notebook and explore all the stuff that we would do today
if you do enjoy this video please consider subscribing liking and follow me on twitch where i stream live coding all right let's get to the code
okay so here we are in a kaggle notebook you can see this is the basic outline of what we're going to be talking about today we're going to be doing some sentiment analysis in python and we're going to use two main techniques the first one is the older kind of way of approaching sentiment analysis with a model called vader and this uses a bag of words approach
and then we're gonna look at a pre-trained model from hugging face that's a roberta type model and this is a more advanced transformer model that we're going to see how the results compare between those two models and then we're going to also explore a hugging face pipeline
but before we get into that let's talk about the data and do some basic analysis with the natural language toolkit which is a great library for python i'm going to show you over here to the right side that we are going to use
this data set that is a bunch of amazon fine food reviews so these are text reviews for food on amazon as well as the rating that out of five stars that the reviewer gave them and all of this is in csv format that we're going to pull in
贊
Building a Python Sentiment Analysis Project with NLTK and Transformer
In this tutorial, you will go through a Natural Language Processing Python Project creating a Sentiment Analysis classifier with NLTK's VADER and Huggingface Ro
11/05/2024
이 두 가지 기술은 전통적인 국내 소프트웨어 개발자들이 갖추지 못한 차별점을 제공할 수 있습니다. 국내 개발자 대부분은 영어를 배울 여유가 없었으며, AI 붐은 정부 기관부터 대기업, 중소기업에 이르기까지 모든 곳에서 도입하려는 움직임이 활발합니다. 솔루션이 주로 미국에서 들어오기 때문에, 영어로 소통할 수 있는 능력은 필수적입니다.
영어와 AI 코딩 능력을 갖춘 인재는 취업 시장에서 성공할 가능성을 크게 높일 수 있습니다
부제: Hard work without talent is a shame, but talent without hard work is a tragedy.
'Abstract 학습법' 소개 (7/19)
지식은 쉽게 변하지 않습니다. 이 워크시트는 John R. Rossiter와 Larry Percy가 공동 저술한 《Advertising Communications and Promotion Management》의 1997년 개정판에서 가져온 포지셔닝에 관한 내용입니다. 발행 이후 30년 가까이 지났음에도 많은 이들이 여전히 이 방식을 선호합니다.
영어와 AI 코딩을 학습해야 하는 이들은 누구일까요? 주로 취업을 준비하는 청년들입니다. 현재 소프트웨어 개발자 시장은 침체기에 접어들었다고 합니다. 제 제자 중 한 명도 여러 곳에 이력서를 냈지만, 단 두세 곳만이 면접 기회를 제공했습니다. 이렇게 얼어붙은 취업 시장에서 성공하려면, 낙타가 바늘구멍을 통과하듯 특별한 능력이 필요하지 않을까요? 그것이 영어와 AI 코딩 실력이라면, 과연 그 가능성을 높일 수 있을까요?
이 두 가지 기술은 전통적인 국내 소프트웨어 개발자들이 갖추지 못한 차별점을 제공할 수 있습니다. 국내 개발자 대부분은 영어를 배울 여유가 없었으며, AI 붐은 정부 기관부터 대기업, 중소기업에 이르기까지 모든 곳에서 도입하려는 움직임이 활발합니다. 솔루션이 주로 미국에서 들어오기 때문에, 영어로 소통할 수 있는 능력은 필수적입니다. 영어와 AI 코딩 능력을 갖춘 인재는 취업 시장에서 성공할 가능성을 크게 높일 수 있습니다.
다음 주제는 학습 결과를 구체적으로 보여주는 방법입니다. 제 제자들은 Franky's Abstract 학습일지 처럼 자신들의 학습 과정을 기록하고 있습니다. 또한, iBooth.net 워크스페이스를 활용하여 평소 보안이 지켜진 가운데 영어와 AI 코딩 소통에도 익숙해지고 있습니다.
저희 브랜드는 Ai코딩영어 특강 입니다. palhana.com 을 통해 자세한 정보와 접속이 가능합니다.
贊
#컨셉팅
03/05/2024
오는 화요밤에 함 실습해보실까요? 아래 대본(dialog script)을 출력해 손에 들고선 비디오를 반복 틀어서 거의 외워버립니다. 그리고 다시 비디오를 처음부터 틀면 쉽게 화자를 따라서 실습을 마칠 수 있게 해준답니다. 영어는 화자마다 출신에 따라 발음 톤이 다릅니다.(캐나다 몬트리올, 프랑스톤) 그러니 먼저 적응해서 그 사람의 말하는 톤을 들어낼 수 있어야 합니다.
https://www.youtube.com/watch?v=lXAGumaQuS8
(1:10 - 3:34) this quick video tutorial is actually pretty much the time it takes to run the whole thing youself and have your chatbot life so why not do it with me
i had created a rag chatbot exactly like this one a year ago coding everything from scratch in a week with a friend handling all errors data processing embedding models etc.
it was really a pain to deal with everything i'm quite amazed to see how i could recreate pretty much the same thing with a discord bot in extra in like five or ten minutes it's incredible and super quick now let's dive in and build your very own discord rag chatbot too
of course since we have to learn i together discord commune i thought it would be a greate idea to host it there but you can also follow the postgressml tutorial linked below to recreate it for yourself in your common line or with a slackbot
i also assume you have some knowledge in this tutorial so i'll be going over some steps quickly but if you have any issues running the code or related code please let me know and ask in the comments or on discord on the learning ai together server and i'll be happy to help you many people are there on discord as well including me
so what do we need to get started well we obviously need our data and that's pretty much it for this tutorial you must have your data in markdown files if you use notion like me you can easily export your files in a markdown through the app
if you have it in any other format like text docx or anything else it can be converted into markdown thanks to quto which is based on pandoc i've used it to convert a whole notion into markdown and then into an eob book for two r and the tool is honestly amazing
it also works the other way around to convert into markdown so feel free to use it to for that project if you need to prepare your data for the project and also you can ask me any question i really love the tool and it's completely free it's just code based it's super fun to use
the link is also in the description below if you don't have any data feel free to take a large notion page and export it into markdown just to test the chatbot retrieval capacity it's also a great project to learn at least how to build a discord but which is always useful
in my case i'll be using our two ai tutoria data whick i quickly converted into markdown for it to work here this data comes from the thousands of articles vidoes in the rack book we've published at store
so in theory it should be a powerful chatbot that can answer most ai and rag specific questions
贊
01/05/2024
2시간짜리 오프 모임은 전국 어디서든 열 수 있을텝니다. 광범위하게 사수/조수(강사 및 연구원) 그리고 학습자(수강생)을 모아서 채비되는 곳부터 보급형 강좌를 한 곳씩 개설해나가면 될테니깐요.^^ 천릿길도 한 걸음 부터~~
일단 지금 개설 중인 곳은 서울 2, 9호선 당산역 인근(1호점) 입니다. www.CodingLanguageSchool.com 여기서 나가는 안내는 취업 속성반 입니다만, 저흰 보급형이라 월 수강료가 15만원인 것만 다르겠습니다.
매 화요밤 7-9시 당산SK V1센터 E동 b123호
학습자 월 수강료 15만원 납부
입금계좌 정보: 신한은행 110-489-447759 김용찬(원펀치)
사수/조수 월 학회비 10만원 납부(입교 시 6개월 치 선불)
입금계좌 정보: 신한은행 100-033-990411 융합코딩 김용찬
납부 후 꼭 연락주세요 010-5323-8181
전 1호점 경영을 위해 원펀치 출판사(등록번호 251002018000018)를 내고선 후학 양성에 나섰습니다.
귀하께선 2, 3, .. 호점을 내고 싶으시다고요? 사업자등록을 하나 새로 내거나, 간단히 사업을 하나 추가하세요. 다만, 저희 학회에겐 월 학회비 납부와 함께 이 사업 소득에서 가리 10%를 떼어 송금해주셔야 합니다.
그걸로 저희가 저작권 방어및 콘텐츠 퀄리티를 맞추어내어 드리겠습니다.
贊
영어와 ai코딩이 자유로운 인재로 거듭나실 것임을 약속합니다.
부제: Hard work without talent is a shame, but talent without hard work is a tragedy.
Abstract 학습법의 대두(1/19)
다음이 제가 여태 보급해왔던 추상이요 Abstract 학습법이라고 일컫는 실체입니다:
1. 전 지난 5년간 coding English 라는 주제로 영어가 제1 외국어인 사람들이 python을 공부할 때 영어 비디오의 중요한 2-3분을 dialog script로 뽑아내어 먼저 달달 외우고선, 다시 처음부터 비디오를 틀게되면 쉽게 실습해낼 수 있다는 사실을 입증해왔습니다.
2. 전 지난 35년간 어떤 일 도모를 하는 경우든 필수적으로 밟아야 하는 procedure를 워크시트 19쪽으로 만들어냈습니다. 워크시트를 하나씩 보여주면, 각기 단계별로 필수 점검해야 할 creative concept이 떠올라서 쉽게 프로시쥬어를 밟아 갈 수 있게 해주는 편익을 제공합니다.
지금까지 학습법을 전파해온 결과, 이 두 추상기법의 학습법이 학습자들에게 실질적인 도움을 주고 있다는 매우 흥미로운 점을 저흰 밝혀낼 수 있었습니다. 그래 융합코딩 학회를 설립하고, 이 Abstract 학습법을 더욱 풍부하게 발전시켜나가기 위해 앞으로 학회가 밟아갈 다음의 추가 연구활동을 공개적으로 제안합니다:
1. 사례 연구 확장: 저희 방법론이 효과적임을 보여주는 구체적인 실제 사례를 추가로 찾아내고자 합니다. 다양한 배경을 가진 학습자들이 어떻게 이 학습법을 활용하여 성공적으로 학습했는 지에 대한 추가 사례를 제시해드려 독자들이 이론을 실제 적용해 볼 수 있는 확신을 갖게 될 것입니다.
2. 대화형 학습 도구 개발: 'Coding English'와 같은 학습 방법을 보조하기 위해 특정 대화 스크립트를 연습하고 그에 대한 피드백을 받을 수 있는 웹 기반 플랫폼이나 앱을 개발하는 것을 고려하고 있습니다. 사용자가 실시간으로 학습 진행 상황을 점검하고 개선할 수 있게 함으로써 더욱 효과적인 학습 경험을 제공할 수 있을 것입니다.
3. 인터랙티브 워크시트: 현재의 워크시트를 디지털 형식으로 변환하여 더욱 동적이고 상호작용적인 학습 도구로 만들 계획입니다. 예를 들어, 사용자가 각 단계를 완료하면서 바로바로 피드백을 받을 수 있는 기능을 추가하거나, 창의적 개념을 실시간으로 시각화할 수 있는 기능을 통합할 수 있을 것입니다.
4. 멘토링 및 커뮤니티 구축: 학습자들이 서로 의견을 교환하고 경험을 공유할 수 있는 온라인 커뮤니티를 운영할 계획입니다. 또한 경험 많은 멘토들이 초보 학습자들을 지도할 수 있는 사수/조수, 학습자 구조를 정착시켜 학습 과정의 효과를 높여 나갈 것입니다.
5. 다양한 학습 스타일 적용: 학습자의 다양성을 고려하여 여러 가지 학습 스타일에 맞춘 콘텐츠를 개발할 계획입니다. 예를 들어, 시각적 학습자를 위한 인포그래픽, 청각적 학습자를 위한 오디오 가이드 등을 제공함으로써 더 많은 학습자가 저희 Abstract 학습법을 쉽게 접근하고 활용할 수 있게 될 것입니다.
상기 연구에 동참하시는 분께는 모두가 Abstract 학습법의 효과를 보아 영어와 ai코딩에서 자유로운 인재로 재탄생하시게 될 것임을 감히 약속드립니다.(Franky's Abstract 학습일지 참조) 함께하시게 되면 너도 나도 쉽게 배울 수 있는 기회를 열어드리는 이같은 학습 방법론을 지속적으로 발전시키고, 이를 통해 더 많은 사람들이 학습의 장벽을 넘을 수 있도록 지원하는 일은 매우 가치 있는 일이라 사료됩니다.
기본적으로 일 주에 한 차례 딱 2시간 오프 모임을 가지며, 월 수강료 15만원(학습자), 월 학회비 10만원(사수/조수)에 모시겠습니다.
영어와 ai코딩이 자유로운 인재로 거듭나실 것임을 약속합니다.
내게 부족한 건 아버지 였다. 대학 졸업후 내 나이 스물둘에 군에 갈 땐 아버지는 다소 의기소침 하시긴 했지만 고혈압 말곤 건강한 편이셨다. 첫 휴가를 나와서 보니 그 사이에 뇌졸중이 와서 몰라보게 쇠약해져 있었다. 아버진 그 해가 환갑이셨고. 그로부터 15년간을 별로 나랑 말씀도 못해보시곤 겨우 삶을 연명하셨고, 일흔다섯 되시던 해에 임종하셨다. 그때 내 나이 설흔일곱 이었다. 그러니 따지고보면, 내 나이 스물둘 부터 시작해서 지금까지 난 아버지란 방이 공허하게 채워지지 않은 채로 살아왔던 것이다.
그 공백이 가져다준 내 삶의 영향이 얼마나 큰지는 새삼 오랜 세월이 지난 오늘날에 와서야 그 전정한 의미를 깨닫게 되었다.
한국의 남자들은 군 생활 부터 시작해 사회에 나와선 모든게 새롭기만 하다. 이전에 집에서 가족과 함께 혹은 학교라는 울타리에서 친구들과 함께 이런 저런 부딪치며 살아온 것과는 달리 바깥 세상에서 이해관계가 다른 이들과 부딪치며 살아가야 하니 이때부턴 온갖 지혜가 다 동원되어야 할 때다. 이때 누구에게나 제일 중요한 역할이 아버지다. 근데, 그때부터 난 아버지로 부터 조언을 얻을 기회를 얻지 못했으니, 내가 갈피를 못잡고 헤메이기만 했었다는 것이 마냥 나만의 잘못은 아니었던 것이다.
그 사실을 늦게사 나이 칠십이 되고서야 알게 되었다. 아하~ 내겐 아버지의 역할이 내가 사회생활을 시작할 무렵부터 물경 사십팔년간 빠져있었구나. 오호통재라ㅠㅠ
지금 내겐 나이 사십 전후의 두 아들이 있다. 이들은 과연 아버지란 방이 얼마나 채워져 있을까? 궁금해지지 않을 수 없다. 아버지 방이 사회생활 나갈 때 부터 공허하게 채워지지 않았던 아버지로 부터 과연 그 방을 채울 수 있었을까? 이제 내 아이들은 한참 물올라 있을 때다. 자기 분야에서 나름은 열심으로 온 힘을 다 경주해 사회생활을 하고 있어 보인다. 다만, 그게 어느정도의 성과로 인생이란 긴 여정을 채울 수 있을런진 아무도 아직은 모른다. 다만, 내 바램은 내 아이들이 나로인해 그 아버지 방이 공허하지 않았으면 좋겠다는 것.
또 하나 더 최근에 얻게된 Abstract 학습법의 수제자로 키워내고 있는 양아들이 있다. 이 양아들 역시나 아버지 방이 나로인해 더욱 풍족하게 채워지길 바란다.
나의 아들, 딸들이 내 케이스와 같이 공허한 아버지의 방으로 인해 사회생활에서 안겪어도 될 혼란을 더 이상은 겪지않길 바랄 뿐이다.
贊
010.5323.8181
#컨셉팅
27/04/2024
짤막한 비디오들 몇 개로 구성되어 있네요. 이런 거면 dialog script 없이 곧바로 LC 해도 되겠습니다. 화요 밤에 함 독파해보면 좋겠다는 생각이 들었어요. 꽤나 유용한 내용들로 구성되어 있나 봐요.^^
Curriculum
Finding a Job in Machine Learning Intro
(1:31)
The Different Machine Learning Jobs
(13:05)
Transitioning to a Machine Learning job
(24:44)
What hiring managers care about on the resume
(4:50)
Defining the type of engineer you are
(16:41)
Structuring your resume
(14:08)
Where can you get a job in machine learning
(6:31)
Preparing for interviews
(16:34)
Outro
(0:36)
https://learn.theaiedge.io/p/finding-a-job-in-machine-learning?fbclid=IwZXh0bgNhZW0CMTEAAR0AqK7aUkiNB5jOBHrPmvBlo_Wrfft0eA5noAfAZOm1uGeFGC2QyrF4l7A_aem_AdZ2aX-hryrbx-58P9msI3sVpzDCzQ6EjNmKc6aiXXKW89Wn1xN-dh8X_dhk4rMY6frDWkIVIbqLhZDSkdcJHIFh
영어와 ai코딩에 강점을 갖고있는 제자를 위해 특별히 함 골라 보았습니다.
贊
How to Find a Job in Machine Learning
Welcome, my name is Damien Benveniste! After a Ph.D. in theoretical Physics, I started my career in Machine Learning and Data Science more than 10 years ago.
20/04/2024
함 학습해보실까요? 아래 dialog script를 출력해서 손에 들고선, 비디오의 아래 지점(8:15 - 11:48)을 가셔서 트세요. 그리고 화자랑 같이 대본(script)를 따라 읽으세요. 몇 차례를 반복하시면서 달달 외우시기 바랍니다.
그리고나서 다시 비디오를 처음부터 틀어서 실습을 따라 해보세요. 쉽게 따라할 수 있게된 사실을 발견하실 것입니다.^^ 저희가 추상 Abstract 학습법이라 부르는 이유랍니다.
https://www.youtube.com/watch?v=i-txsBoTJtI
(8:15 - 11:48) let's see it do we have a team of llama three agents working or not okay this is promising let's look at the activity monitor so we have memory used 36 it went up from like 30 which is means that the llama 3 8 billion uses like 3 to 6 giga bytes of ram which is very good news because most of you can run it
but this is bad news because it's probably going to include a bunch of chunks it should not be this slow it should be much faster and i'm suspecting that we're going to see a bunch of hallucinations
oh my god what is this so i don't know why this is happening but inside of crewai llama 3 does not seem to be working well it works perfectly in the terminal but some like somehow through crewai it's uh not really working well
i mean i can try verbose false it's not the issue of the model clearly like look at this this is perfect right look at this the model it said a classic rating spam the nigerian prince email is a well known example of a phishing scam yeah so perfect
i mean it gave it the rating exactly as i wanted but somehow running it as an agent through crewai is causing troubles i have no clue why
so we tested this now i'm going to show you how to add the groq api so if you have a bad computer and you want to use the api i'm going to show you how
so okay let's go groq and let's go groq cloud and let's go api keys create api key i'm just going to do llama 3 submit and i'm going to delete this before posting the video you know never share api keys with anybody
i'm going to do groq api key equals let's go into documentation see how we connect it let me duplicate this rename cuz we want to do groq right so we delete ollama and okay
let's follow along with this we can just probably delete this all together honestly following the github official github from graq might be the move right
so we need to assign these three variables and just make a default right so open an api base always that environment yes so we need to import os we copy this we need these three lines and we actually need them not commented out beautiful
let's go to groq documentation and openai compatibility and the base url copy this api base equals model name let's copy this again and the api key test moment of truth
oh my god it works it works and look at the speed though let's try the different email and let's do it look at the speed okay what am i doing okay so i'm just going to explain what i did so i'm i was completely trolling
the answer was right in front of my eyes right here inside of the main github from crewai i just needed to assign these three variables and the reason why i deleted the llm because crewai is automatically made to use the default one
so like this is like basically hidden right something like this is hidden and you don't have to do that if you're using the openai import
贊
16/04/2024
Soft Margin SVM and Kernels with CVXOPT - Practical Machine Learning Tutorial with Python p.32
부제: 미국 비디오를 보면서 영어로 바로 ai코딩을 배웁니다
machine learning 코딩영어 특강(32/72)
In this tutorial, we cover the Soft Margin SVM, along with Kernels and quadratic programming with CVXOPT all in one quick tutorial using some example code
https://www.youtube.com/watch?v=XdcfJX-mDG4&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v&index=32&t=5s
(5:10 - 8:18) bring in pylab here really showing its age but anyway brings that in i think this is from like 2010 anyway bring in pylab okay
and then generates linearly separable data so this will be data that you can do no kernel and it can be a hard margin classifier
this one's non linearly separable data so this would be data that needs a kernel right
then we've got not generating linearly separable but overlapping data this is data that needs a soft margin okay
this splits up training data this makes testing data and then this is just some nice code that will plot a linearly separable data
this one is for anything that's going to have a kernel that's going to be all kind of contoured around
and then here's some functions to actually test all of that stuff i've just went ahead and put them down here
so let's just run through it really quick so testing linear all he's going to do basically is just there's no penalty parameter right
so it's hard margin and the default kernel was a linear kernel come on mousewheel right so if you wanted to change that you could change that if you wanted but it's just defaults to linear kernel
so we can go ahead and run that really quickly sure enough there you have it you've got your support vectors here a nice low number of support vectors we're pretty content cool successful it's a simple simply separable data set as well as anyway
and then coming on down the nonlinear i think by default nonlinear was using the gaussian kernel i just changed it to polynomial since we didn't actually talk about the gaussian kernel doesn't really matter but just note i did make that change so we're just using a polynomial kernel rather than the original but
as you can see you still get corrected or correct separation of that data and one thing i guess i'll show it really quickly if you want like a visualization of like how that we're like how do you translate to another dimension and then pull it back down to two dimentions like so
how do you go from three dimensions let's say down to two dimensions and get those contours a good thing that google is svm kernel visualization i'll go ahead and pull it up but you can look at it youself
let me pull up and change the speed to pull this on over and we'll play that
so that's your two d's data set and he's about to transform it there it is into three dimensions and then it's linearly separable so we slide in the hyperplane great
and then you can see you've added that just basically the circle that it passed through and then you can see like basic at the end of the day back in two dimensions it's just a simple circle for the separation
so it's kind of a useful visualization for for how that process actually works
#영어 #파이썬 #코딩영어
15/04/2024
Soft Margin SVM - Practical Machine Learning Tutorial with Python p.31
부제: 미국 비디오를 보면서 영어로 바로 ai코딩을 배웁니다
machine learning 코딩영어 특강(31/72)
In reality, you may find that you either cannot find a linearly separable dimension for your dataset for machine learning, or you may find that your support vector machine has significant overfitment to your data. You know you have over-fitment if you have a large percentage of your dataset as support vectors. The soft-margin SVM allows for some "wiggle room" with separation.
https://www.youtube.com/watch?v=JHaqodAQqiI&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v&index=31
(8:00 - 10:58) what we've got here is when you have some sort of let's say a separating hyperplane where you actually have some data that is kind of in violation of that separating hyperplane
what you have is most likely a soft margin classifier now in this case most likely we wouldn't accept a soft margin all the way up to this point but keep in mind this is just for a simple example for now
so so what's going to happen with the soft margin a soft margin support vector machine what you're going to have as opposed to just by the obviously it should be an intuitive here
but the other one would just be a hard margin like this green line this is a this is a hard margin classifier right that would be a hard margin
and just like the rbf is kind of like the default colonel it's actually the case that a soft margin classifier is going to be your defaults because again in the real world a lot of your data is not going to be perfectly linearly separable without some degree of overfitting it
so anyways so with with with the soft margin what you're going to have is you're gonna have some sort of degree of error right so so kind of like with with regression you know you the distance right from the hyperplane
let's say to the data point that's going to be your error right and and how might we we allow some degree of error
well we have what we call slack okay and what slack is going to be for us is generally we're going to denote slack this little symbol here and what we're going to do is we're going to say okay remember before that constraint basically where we were we were saying that y sub i x sub i dotted with w plus b and then it was either minus 1 is greater than or equal to 0 but in this case let's say greater than equal to 1 okay
and in this case this was the original kind of equation but now what we can do is introduce this slack variable and say okay y sub i multiplied by x sub i dotted with w plus b really just needs to be greater than or equal to 1 minus our new slack variable right
so so we're giving it some sort of leeway here now of course it would slack obviously needs to be let me just write it so i'll just write it up here right
slack must be greater than or equal to i was almost going to write it in python terms but anyways has to be greater than or equal to 0 right it has to be a positive number
and if it was equal to 0 then that would just be hard margin but the more slack you give it the more soft your margin is going to wind up being
#영어 #파이썬 #코딩영어
15/04/2024
Why Kernels - Practical Machine Learning Tutorial with Python p.30
부제: 미국 비디오를 보면서 영어로 바로 ai코딩을 배웁니다
machine learning 코딩영어 특강(30/72)
Once we've determined that we can use Kernels, the next question is of course why would we bother using kernels when we can use some other function to transform our data into more dimensions. The point of using Kernels is to be able to perform a calculation (inner product in this case) in another dimension without actually needing to work in that dimension.
https://www.youtube.com/watch?v=xqg5S-GrrDQ&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v&index=30
(12:23 - 17:10) so the next question is can we do this kernel without actually writing it out or without actually having to visit this z space and the answer is yes and this is again this is called the polynomial kernel
so the polynomial kernel is the following so you're going to say k x comma x prime and this equals 1 plus x dotted with x prime to the power of p you can have the power of p be whatever you want
so so basically to write this out in further notation let's say you've got a number of dimensions and then p is basically whatever you want it to be what we just did a second ago was p equals 2 and for will say however many dimensions you want but let's say n and n was also equal 2
but you could in theory have p equal many more but first let's let's write this one out and then we'll we'll consider the difference of adding and changing and manipulating p and n here momentarily
so first of all do you see any z in this and either of these calculations i don't there is no z ok so what would happen though if we for example let's say we wrote out let's expand this first so this would be basically 1 plus x 1 x 1 prime and then basically it's plus dot dot dot all the way out to x n x prime n to the power of p whatever that happens to be
now imagine though how much more difficult is this equation if we changed n to 15 and p to a hundred
now obviously you know by hand or something that would make this significantly more challenging but by a let's say a calculator by python or or something like that by a processor how much more difficult is this equation
not much more difficult i mean it's it might it might cost you an extra cycle or a few cycles or something
but for the most part that's not that much more difficult as opposed to here where we're actually going to the z space and in this case that was just a second-order polynomial this could get way more complex
we're just simply going to like in this case we've we've gone to the z space and done the dot product and found our answer and it's it's pretty ugly already just looking at it
whereas over here we actually don't have to have to do that much and in in reality if we were to if we were to work this out we would find that we we had the exact same problem
and then you can even you could pull this down into their own title separate separate vectors and it might give you it give you a vector like a 1 comma the x 1 squared, x 2 squared, square root of 2 by x, square root of x whoops square root of 2 x 2, and then the square root of 2 x two times x 1 x 2
and it's important to know that so that square root of 2 is simply avoiding it's just a square root of 2 times x 1 times x 2 so keep that in mind
so what would happen when this is a vector and it was multiplied by itself what would you get in return like what would that scalar value be right
well that would be your second-order polynomial dot product between the two x's having been transformed to the z space dot product those two things you have the exact same scalar except you went through a lot less work
#영어 #파이썬 #코딩영어
14/04/2024
Kernels Introduction - Practical Machine Learning Tutorial with Python p.29
부제: 미국 비디오를 보면서 영어로 바로 ai코딩을 배웁니다
machine learning 코딩영어 특강(29/72)
In this machine learning tutorial, we introduce the concept of Kernels. Kernels can be used with the Support Vector Machine in order to take a new perspective and hopefully allow us to translate into further dimensions in order to find a linearly separable case.
https://www.youtube.com/watch?v=9IfT8KXX_9c&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v&index=29
(5:56 - 7:56) so with kernels there's really just one major element to kernels and that is that they are done using inner product
and for the purpose of what we're going to be using them for and the the purpose of this entire tutorial what is inner product what is dot product how do they relate they are the same thing if you pull up numpy right now you make a couple vectors and you do np dot inner or np dot um dot you're going to find that the same data gives the exact same answers when you run that through
so just keep that in mind you're going to hear especially if you go to another source or you're coming from another source some people say dot some people say inner and it's just the same thing i believe fundamentally you should be using the inner product uh if you're if you're writing a paper on this i think you it's inner
but i could be totally wrong you can look that up on your own
so the question is can we use a kernel and if so how do we know that we can use a kernel so to find out if we can use a kernel we know that in order to use a kernel we have to be able to use inner product and then the way that we can find out is basically we're trying to get to some sort of new dimensional space
so up to this point we've been using basically we've got x we're we're dealing in an x space okay because we're our feature sets are are denoted as x1 x2 ans so on are we already have a value for y and that's the class so so the next most reasonable variable will be z for z's space
so the question is can we interchange x and z obviously you know fundamentally we could do that right but is it is every interaction in our let's say our optimization algorithm and all that and for everything for the support vector is every interaction with the x space a dot product or an inner product well let's find out
#영어 #파이썬 #코딩영어
09/04/2024
Completing SVM from Scratch - Practical Machine Learning Tutorial with Python p.28
부제: 미국 비디오를 보면서 영어로 바로 ai코딩을 배웁니다
machine learning 코딩영어 특강(28/72)
In this machine learning with the support vector machine (SVM) tutorial, we cover completing our SVM from scratch.
https://www.youtube.com/watch?v=yrnhziJk-z8&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v&index=28
(3:56 - 6:54) but what people really want to see is support vector hyperplanes and also decision boundary hyperplane if you want to see that stuff
so here with this function is gonna do is we don't really need a function that generate a hyperplane just x dot w plus b super simple but instead of this function is gonna do is give us the hyperplane values where v is the value here we're seeking okay
so what is what are some examples of values we might seek well first when you write out this function and let me talk about the values we want to see so we're going to say what we're gonna return actually no let's talk about the values we want to see because that's very important
so we want v equals x dot w plus b let's say x dot w plus b what are the examples what we really care about b's well we care in the basically let's say positive support vector remember v is equal to what 1 what about negative support vector v is equal to negative 1 and then the decision boundary is equal to what 0
so then we're going to try to find out two points with that case that we can draw the beutiful line for hyperplane that shoots those needs so anyway
now come in to the hyperplane the function is v equals x dot w plus b but we actually want a stipulate what v is equal to so how do you get away with stipulating what v is equal to
well we do have at least a multiplication going on here so a kind of we start deviding doing some algebra at the end of the day what's going to happen we're gonna return the value for negative w the zeroth this is dot product multiplied by x minus b plus v and then is that devide by w one
ah just pretty simple algebra moving around if that's a little too confusing for you can scared for a while and play with that try that just basically just trying to move to the point where you can assign a value here what are we looking for right what is the actually value we're trying to get we're trying to get basically that given a x value we're trying to figure out where do we want actually plug that point on the graph
and this is purely for a new right the support vector machine actually doesn't care about actually having a plot there doesn't care right this is purely for human to look at it which is kind of almost but confusing mean a lot initially my first objective whenever i was working with support vector machines like let's get that decision boundary function to figure that out when really actually not quite how it was supposed to go anyway interesting
#영어 #파이썬 #코딩영어