[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fcml-svm-kernels-margins":4,"config":149},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":58,"samples":63},"ml-engineer","ML Engineer","","cml-svm-kernels-margins","Cml Svm Kernels Margins","en",75,1050,[14,15,16],"junior","mid","senior",[18,21,24,27,30,31,34,37,40,43,46,49,52,55],{"key":19,"name":20,"count":11},"cml-distance-clustering-dimreduction","Cml Distance Clustering Dimreduction",{"key":22,"name":23,"count":11},"cml-gradient-boosting-mechanics","Cml Gradient Boosting Mechanics",{"key":25,"name":26,"count":11},"cml-linear-logistic-internals","Cml Linear Logistic Internals",{"key":28,"name":29,"count":11},"cml-probabilistic-models-calibration","Cml Probabilistic Models Calibration",{"key":8,"name":9,"count":11},{"key":32,"name":33,"count":11},"cml-trees-randomforest-internals","Cml Trees Randomforest Internals",{"key":35,"name":36,"count":11},"ml-data-preparation","Ml Data Preparation",{"key":38,"name":39,"count":11},"ml-deployment-serving","Ml Deployment Serving",{"key":41,"name":42,"count":11},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":44,"name":45,"count":11},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":47,"name":48,"count":11},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":50,"name":51,"count":11},"ml-monitoring-drift","Ml Monitoring Drift",{"key":53,"name":54,"count":11},"ml-problem-framing","Ml Problem Framing",{"key":56,"name":57,"count":11},"ml-scaling-performance","Ml Scaling Performance",[59],{"key":60,"name":61,"count":62},"classical-ml","Classical ML",450,[64,82,96,109,122,135],{"id":65,"topic":9,"difficulty":66,"body":67,"options":68,"correct_key":76,"explanation":81},"01a03e80-26b6-7604-b980-79ace764cf19",1,"A hard-margin linear SVM is trained on two perfectly separable classes. Among the infinitely many hyperplanes that separate them, which quantity does the SVM training objective make as large as possible?",[69,72,75,78],{"key":70,"text":71},"a","The average distance from every training point to the hyperplane, over the whole sample.",{"key":73,"text":74},"b","The count of training points that receive a positive decision score.",{"key":76,"text":77},"c","The width of the empty band between the classes, which equals 2\u002F||w||.",{"key":79,"text":80},"d","The distance between the two class centroids after projecting them onto the direction w.","The separating hyperplane is w·x + b = 0, and the two margin boundaries are fixed at w·x + b = +1 and -1. The perpendicular distance between those two planes is 2\u002F||w||, so maximizing the margin is the same as minimizing ||w||^2 subject to every point sitting on the correct side of its margin boundary. Averages over all points or centroid distances play no role in the objective.",{"id":83,"topic":9,"difficulty":84,"body":85,"options":86,"correct_key":70,"explanation":95},"01a03e80-26bd-739c-9e91-98a72a328cf3",2,"A fitted two-dimensional linear SVM reports coef_ = [[3.0, 4.0]] and intercept_ = [-10.0]. How wide is the margin, that is the perpendicular distance between the two margin boundaries?",[87,89,91,93],{"key":70,"text":88},"0.4, because ||w|| is 5 and the width is 2\u002F||w||.",{"key":73,"text":90},"5.0, because the margin width is the norm of the weight vector.",{"key":76,"text":92},"2.0, because the boundaries sit at decision values +1 and -1.",{"key":79,"text":94},"0.2, because the margin width is one over the norm of w.","The norm of (3, 4) is sqrt(9 + 16) = 5. The two margin boundaries are the level sets where the decision function equals +1 and -1, and moving between two such level sets covers a perpendicular distance of 2\u002F||w|| = 2\u002F5 = 0.4. The intercept only shifts the whole band, it does not change its width. Half of that distance, 1\u002F||w|| = 0.2, is the gap from the boundary to one margin only.",{"id":97,"topic":9,"difficulty":84,"body":98,"options":99,"correct_key":79,"explanation":108},"01a03e80-26c1-7e0e-8c23-54761acb6399","For a point x with label y in {-1, +1}, the functional margin is y(w·x + b) and the geometric margin is the actual perpendicular distance to the hyperplane. Why does the SVM formulation fix the functional margin of the closest points to exactly 1?",[100,102,104,106],{"key":70,"text":101},"Because a functional margin of exactly 1 is what guarantees correct classification of the point.",{"key":73,"text":103},"Because libsvm cannot represent decision values outside the range -1 to +1.",{"key":76,"text":105},"Because the geometric margin is undefined until a functional margin is chosen.",{"key":79,"text":107},"Because scaling w and b by the same factor rescales the functional margin without moving the plane.","The hyperplane defined by (w, b) is identical to the one defined by (2w, 2b), yet the functional margin doubles. That makes the functional margin a meaningless target on its own. Dividing by ||w|| removes the ambiguity and gives the geometric margin; fixing the closest points at a functional margin of 1 is just a normalization that turns margin maximization into minimizing ||w||.",{"id":110,"topic":9,"difficulty":66,"body":111,"options":112,"correct_key":70,"explanation":121},"01a03e80-26c6-78ef-ba14-9c9f50db70e8","A colleague removes 40 training rows that sit far away from the decision boundary of a fitted linear SVC and refits with the same settings. The boundary comes back essentially unchanged. What explains this?",[113,115,117,119],{"key":70,"text":114},"Only points on or inside the margin carry a nonzero dual coefficient, so distant rows contribute nothing.",{"key":73,"text":116},"The SVM averages all rows into a class prototype, and 40 rows barely move an average.",{"key":76,"text":118},"The solver caps the influence of any single row at C, so no row can move the plane much.",{"key":79,"text":120},"Removing rows lowers the effective regularization strength, which offsets the information lost.","In the dual formulation each training point gets a coefficient alpha_i, and the KKT conditions force alpha_i = 0 for every point that lies strictly beyond its margin boundary. The decision function is a sum over support vectors only, so deleting well-separated points leaves it intact. This is also why SVMs are described as memory efficient: the fitted model stores just the support vectors.",{"id":123,"topic":9,"difficulty":84,"body":124,"options":125,"correct_key":73,"explanation":134},"01a03e80-26d3-7aa2-9d5b-6b20b87c41a8","A junior engineer wants \"more regularization\" from sklearn 1.6's SVC and changes C from 1.0 to 100.0, reasoning that a larger knob means a stronger penalty. What actually happens to the fitted model?",[126,128,130,132],{"key":70,"text":127},"Nothing changes, because C only affects the solver's stopping rule.",{"key":73,"text":129},"Regularization weakens: C multiplies the violation penalty, so the margin narrows to fit training points.",{"key":76,"text":131},"Regularization strengthens exactly as intended, because C is the multiplier in front of the ||w||^2 term of the objective.",{"key":79,"text":133},"The model refuses to fit, because C above 10 is rejected as out of range.","The primal objective is (1\u002F2)||w||^2 + C * sum of hinge losses. C sits in front of the error term, not the norm term, so raising it makes each margin violation more expensive and pushes the solver toward a tighter, more complex boundary. The scikit-learn user guide states it directly: decreasing C corresponds to more regularization.",{"id":136,"topic":9,"difficulty":137,"body":138,"options":139,"correct_key":79,"explanation":148},"01a03e80-26dc-7d51-867f-bfa6688747f5",3,"On a standardized 300-row dataset an RBF SVC is refit at several C values and n_support_.sum() is recorded: C=0.1 gives 288 support vectors, C=1 gives 196, C=10 gives 132, C=100 gives 105. Which mechanism produces this trend?",[140,142,144,146],{"key":70,"text":141},"Larger C shrinks the kernel cache, so fewer support vectors can be stored.",{"key":73,"text":143},"Larger C prunes away the support vectors whose dual coefficient falls below the solver tolerance.",{"key":76,"text":145},"Larger C reduces the number of iterations, so the solver finds fewer candidates.",{"key":79,"text":147},"Larger C makes violations costly, the margin narrows and fewer points fall in.","A point becomes a support vector when its functional margin is at most 1, which means it sits on or inside the margin band. A small C buys a wide band cheaply by tolerating many violations, so most rows end up inside it. Raising C makes each violation expensive, the solver squeezes the band, and only the few points still touching it keep a nonzero coefficient.",{"fields":150,"seniorities":370,"interview_shapes":371,"locales":376,"oauth":378,"question_count":381,"coach_enabled":382,"jd_match_enabled":382},[151,176,196,212,236,249,268,287,309,328,343,365],{"key":152,"name_tr":153,"name_en":153,"sort":66,"specializations":154},"backend","Backend",[155,158,161,164,167,170,173],{"key":156,"name":157,"field":152},"general","Genel",{"key":159,"name":160,"field":152},"go","Go",{"key":162,"name":163,"field":152},"python","Python",{"key":165,"name":166,"field":152},"java","Java",{"key":168,"name":169,"field":152},"csharp","C#\u002F.NET",{"key":171,"name":172,"field":152},"nodejs","Node.js",{"key":174,"name":175,"field":152},"php","PHP",{"key":177,"name_tr":178,"name_en":178,"sort":84,"specializations":179},"frontend","Frontend",[180,181,184,187,190,193],{"key":156,"name":157,"field":177},{"key":182,"name":183,"field":177},"javascript","JavaScript",{"key":185,"name":186,"field":177},"typescript","TypeScript",{"key":188,"name":189,"field":177},"react","React",{"key":191,"name":192,"field":177},"vue","Vue",{"key":194,"name":195,"field":177},"angular","Angular",{"key":197,"name_tr":198,"name_en":198,"sort":137,"specializations":199},"fullstack","Fullstack",[200,201,202,203,204,205,206,207,208,209,210,211],{"key":156,"name":157,"field":197},{"key":159,"name":160,"field":152},{"key":162,"name":163,"field":152},{"key":165,"name":166,"field":152},{"key":168,"name":169,"field":152},{"key":171,"name":172,"field":152},{"key":174,"name":175,"field":152},{"key":182,"name":183,"field":177},{"key":185,"name":186,"field":177},{"key":188,"name":189,"field":177},{"key":191,"name":192,"field":177},{"key":194,"name":195,"field":177},{"key":213,"name_tr":214,"name_en":214,"sort":215,"specializations":216},"devops-cloud","DevOps \u002F Cloud",4,[217,218,221,224,227,230,233],{"key":156,"name":157,"field":213},{"key":219,"name":220,"field":213},"aws","AWS",{"key":222,"name":223,"field":213},"gcp","GCP",{"key":225,"name":226,"field":213},"azure","Azure",{"key":228,"name":229,"field":213},"kubernetes","Kubernetes",{"key":231,"name":232,"field":213},"terraform","Terraform",{"key":234,"name":235,"field":213},"linux","Linux",{"key":237,"name_tr":238,"name_en":238,"sort":239,"specializations":240},"ai-engineer","AI Engineer",5,[241,242,243,246],{"key":156,"name":157,"field":237},{"key":162,"name":163,"field":237},{"key":244,"name":245,"field":237},"llm-rag","LLM\u002FRAG",{"key":247,"name":248,"field":237},"mlops","MLOps",{"key":250,"name_tr":251,"name_en":252,"sort":253,"specializations":254},"database","Veritabanı","Database",6,[255,256,259,262,265],{"key":156,"name":157,"field":250},{"key":257,"name":258,"field":250},"postgresql","PostgreSQL",{"key":260,"name":261,"field":250},"mysql","MySQL",{"key":263,"name":264,"field":250},"mongodb","MongoDB",{"key":266,"name":267,"field":250},"redis","Redis",{"key":269,"name_tr":270,"name_en":271,"sort":272,"specializations":273},"mobile","Mobil","Mobile",7,[274,275,278,281,284],{"key":156,"name":157,"field":269},{"key":276,"name":277,"field":269},"ios-swift","iOS (Swift)",{"key":279,"name":280,"field":269},"android-kotlin","Android (Kotlin)",{"key":282,"name":283,"field":269},"flutter","Flutter",{"key":285,"name":286,"field":269},"react-native","React Native",{"key":288,"name_tr":289,"name_en":290,"sort":291,"specializations":292},"security","Güvenlik","Security",8,[293,294,297,300,303,306],{"key":156,"name":157,"field":288},{"key":295,"name":296,"field":288},"appsec","AppSec",{"key":298,"name":299,"field":288},"offensive-pentest","Offensive \u002F Pentest",{"key":301,"name":302,"field":288},"cloud-security","Cloud Security",{"key":304,"name":305,"field":288},"devsecops","DevSecOps",{"key":307,"name":308,"field":288},"blue-team-incident","Blue Team \u002F Incident",{"key":310,"name_tr":311,"name_en":312,"sort":313,"specializations":314},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[315,316,319,322,325],{"key":156,"name":157,"field":310},{"key":317,"name":318,"field":310},"test-automation","Test Automation",{"key":320,"name":321,"field":310},"sdet","SDET",{"key":323,"name":324,"field":310},"performance-testing","Performance Testing",{"key":326,"name":327,"field":310},"mobile-qa","Mobile QA",{"key":329,"name_tr":330,"name_en":330,"sort":331,"specializations":332},"data-engineer","Data Engineer",10,[333,334,337,340],{"key":156,"name":157,"field":329},{"key":335,"name":336,"field":329},"pipelines-etl","Pipelines \u002F ETL",{"key":338,"name":339,"field":329},"streaming","Streaming",{"key":341,"name":342,"field":329},"warehousing","Warehousing",{"key":344,"name_tr":345,"name_en":346,"sort":347,"specializations":348},"game-dev","Oyun Geliştirme","Game Development",11,[349,350,353,356,359,362],{"key":156,"name":157,"field":344},{"key":351,"name":352,"field":344},"unity-csharp","Unity (C#)",{"key":354,"name":355,"field":344},"unreal-cpp","Unreal (C++)",{"key":357,"name":358,"field":344},"gameplay","Gameplay",{"key":360,"name":361,"field":344},"graphics-rendering","Graphics \u002F Rendering",{"key":363,"name":364,"field":344},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":5,"name_tr":6,"name_en":6,"sort":366,"specializations":367},12,[368,369],{"key":156,"name":157,"field":5},{"key":60,"name":61,"field":5},[14,15,16],{"junior":372,"mid":374,"senior":375},{"questions":373,"median_sec":3},20,{"questions":373,"median_sec":3},{"questions":373,"median_sec":3},[377,10],"tr",[379,380],"google","github",27600,true]