Sorununuzun en iyi tahmine dayalı makine öğrenimi veya üretken yapay zeka yaklaşımı kullanılarak çözüldüğünü doğruladıktan sonra, sorununuzu makine öğrenimi terimleriyle çerçevelemeye hazırsınız demektir. Aşağıdaki görevleri tamamlayarak bir sorunu makine öğrenimi terimleriyle çerçevelendirirsiniz:
- İdeal sonucu ve modelin hedefini tanımlayın.
- Model çıkışını tanımlayın.
- Başarı metriklerini tanımlama.
İdeal sonucu ve modelin hedefini tanımlama
ML modelinden bağımsız olarak ideal sonuç nedir? Yani ürününüzün ya da özelliğinizin tam olarak yerine getirmesini istediğiniz görev nedir? Bu, daha önce Hedefi belirtin bölümünde tanımladığınız ifadedir.
Modelin ne yapmasını istediğinizi açıkça tanımlayarak modelin hedefini ideal sonuçla ilişkilendirin. Aşağıdaki tabloda ideal sonuçlar ve modelin varsayımsal uygulamalara yönelik hedefi gösterilmektedir:
Uygulama | İdeal sonuç | Modelin hedefi |
---|---|---|
Hava Durumu uygulaması | Bir coğrafi bölge için yağış miktarını altı saatlik artışlarla hesaplar. | Belirli coğrafi bölgeler için altı saatlik yağış miktarlarını tahmin edin. |
Moda uygulaması | Çeşitli gömlek tasarımları oluşturmak. | Metin ve resimden üç tür gömlek tasarımı oluşturun. Bu resimlerde, metin stili ve rengi belirtiliyor, resim de gömlek türünü (tişört, düğmeli, polo) temsil ediyor. |
Video uygulaması | Faydalı videolar önermek. | Kullanıcının bir videoyu tıklayıp tıklamayacağını tahmin etme. |
Posta uygulaması | Spam algılama. | Bir e-postanın spam olup olmadığını tahmin etme. |
Finans uygulaması | Birden fazla haber kaynağından gelen finansal bilgileri özetleyin. | Son yedi güne ait önemli finansal trendlerin 50 kelimelik özetlerini oluşturur. |
Harita uygulaması | Seyahat süresini hesaplayın. | İki nokta arasında seyahatin ne kadar süreceğini tahmin etme. |
Bankacılık uygulaması | Sahte işlemleri belirleyin. | Kart sahibi tarafından bir işlem yapılıp yapılmadığını tahmin etme. |
Yemek uygulaması | Yemekleri bir restoranın menüsünden belirleyin. | Restoran türünü tahmin edin. |
E-ticaret uygulaması | Şirketin ürünleri hakkında müşteri desteği yanıtları oluşturma. | Yaklaşım analizini ve kuruluşun bilgi tabanını kullanarak yanıtlar oluşturun. |
İhtiyacınız olan çıktıyı belirleyin
Model türü seçiminiz, sorununuzun belirli bağlamına ve kısıtlamalarına bağlıdır. Modelin çıktısı, ideal sonuçta tanımlanan görevi gerçekleştirmelidir. Dolayısıyla, cevaplanması gereken ilk soru "Sorunumu çözmek için ne tür bir çıktıya ihtiyacım var?"
Bir şeyi sınıflandırmanız veya sayısal bir tahmin yapmanız gerekiyorsa muhtemelen tahmine dayalı makine öğrenimini kullanırsınız. Yeni içerik üretmeniz veya doğal dil anlamayla ilgili çıktılar üretmeniz gerekiyorsa muhtemelen üretken yapay zekayı kullanırsınız.
Aşağıdaki tablolarda tahmine dayalı makine öğrenimi ve üretken AI çıkışları listelenmiştir:
ML sistemi | Örnek çıkış | |
---|---|---|
Sınıflandırma | İkili | Bir e-postayı spam veya spam değil olarak sınıflandırın. |
Çok sınıflı tek etiketli | Resimdeki bir hayvanı sınıflandırma. | |
Çok sınıflı çok etiketli | Bir resimdeki tüm hayvanları sınıflandırın. | |
Sayısal | Tek boyutlu regresyon | Bir videonun alacağı görüntüleme sayısını tahmin etme. |
Çok boyutlu regresyon | Birey için tansiyonu, nabzı ve kolesterol düzeylerini tahmin edin. |
Model türü | Örnek çıkış |
---|---|
Metin |
Makaleyi özetleyin. Müşteri yorumlarını yanıtlama Dokümanları İngilizceden Mandarin Çincesine çevirin. Ürün açıklamaları yazın. Yasal dokümanları analiz edin.
|
Resim |
Pazarlama görselleri oluşturma. Fotoğraflara görsel efektler uygulayabilirsiniz. Ürün tasarım varyasyonları oluşturun.
|
Ses |
Belirli bir aksanla diyalog oluşturun.
Caz gibi belirli bir türde kısa bir müzik bestesi oluşturun.
|
Video |
Gerçekçi görünen videolar üretin.
Video görüntülerini analiz etmek ve görsel efektler uygulamak.
|
Çok modlu | Metin altyazıları olan bir video gibi birden fazla türde çıkış üretin. |
Sınıflandırma
Sınıflandırma modeli, giriş verilerinin hangi kategoriye ait olduğunu tahmin eder. Örneğin, bir girişin A, B veya C olarak sınıflandırılması gerekip gerekmediği.
1. Şekil. Tahminde bulunan bir sınıflandırma modeli.
Modelin tahminine göre uygulamanız bir karar verebilir. Örneğin, tahmin A kategorisi ise X işlemini; tahmin B kategorisiyse Y'yi; tahmin C kategorisiyse Z'yi yapın. Bazı durumlarda tahmin, uygulamanın çıkışı olur.
2. Şekil. Karar vermek için ürün kodunda kullanılan sınıflandırma modelinin çıkışıdır.
Regresyon
regresyon modeli sayısal bir değeri tahmin eder.
3. Şekil. Sayısal tahmin yapan bir regresyon modeli.
Modelin tahminine göre uygulamanız bir karar verebilir. Örneğin, tahmin A aralığındaysa X; tahmin B aralığındaysa Y; tahmin C aralığındaysa Z yapsın. Bazı durumlarda tahmin, uygulamanın çıktısı olur.
4. Şekil. Karar vermek için ürün kodunda kullanılan bir regresyon modelinin çıkışıdır.
Aşağıdaki senaryoyu inceleyin:
Videoları tahmini popülerliklerine göre önbelleğe almak istiyorsunuz. Diğer bir deyişle, modeliniz bir videonun popüler olacağını tahmin ediyorsa bu videoyu kullanıcılara hızlı bir şekilde sunmak istersiniz. Bunu yapmak için daha etkili ve pahalı önbelleği kullanırsınız. Diğer videolar için farklı bir önbellek kullanırsınız. Önbelleğe alma ölçütleriniz şunlardır:
- Bir videonun 50 veya daha fazla görüntüleme alacağı tahmin ediliyorsa pahalı önbelleği kullanırsınız.
- Bir videonun 30 ile 50 arasında görüntüleme alacağı tahmin ediliyorsa ucuz önbelleği kullanırsınız.
- Videonun 30'dan az görüntüleme alacağı tahmin ediliyorsa videoyu önbelleğe almazsınız.
Sayısal bir değer olan görüntüleme sayısını tahmin edeceğiniz için regresyon modelinin doğru yaklaşım olduğunu düşünüyorsunuz. Ancak regresyon modelini eğitirken, 30 görüntülemeye sahip videolar için 28 ve 32 tahmini için aynı kaybı ürettiğini fark edersiniz. Diğer bir deyişle, tahmin 28 ve 32 olduğunda uygulamanızın davranışı çok farklı olsa da, model her iki tahminin de eşit derecede iyi olduğunu kabul eder.
5. Şekil. Regresyon modeli eğitmek.
Regresyon modelleri, ürün tanımlı eşiklerin farkında değildir. Bu nedenle, uygulamanızın davranışı bir regresyon modelinin tahminlerindeki küçük farklılıklar nedeniyle önemli ölçüde değişiyorsa bunun yerine bir sınıflandırma modeli uygulamayı düşünmelisiniz.
Bu senaryoda, sınıflandırma modeli 28'lik tahmin için 32'ye kıyasla daha yüksek kayıp üreteceği için sınıflandırma modeli doğru davranışı üretir. Sınıflandırma modelleri bir anlamda varsayılan olarak eşikler üretir.
Bu senaryoda iki önemli nokta vurgulanmaktadır:
Kararı tahmin edin. Mümkün olduğunda uygulamanızın alacağı kararı tahmin edin. Video örneğinde, bir sınıflandırma modeli videoları sınıflandırdığı kategorilerin "önbellek yok", "ucuz önbellek" ve "pahalı önbellek" olması durumunda kararı tahmin eder. Uygulamanızın davranışını modelden gizlemek, uygulamanızın yanlış davranış üretmesine neden olabilir.
Sorunun kısıtlamalarını anlayın. Uygulamanız farklı eşiklere göre farklı işlemler yapıyorsa bu eşiklerin sabit mi yoksa dinamik mi olduğunu belirleyin.
- Dinamik eşikler: Eşikler dinamikse bir regresyon modeli kullanın ve uygulamanızın kodunda eşik sınırlarını belirleyin. Bu, modelin makul tahminler yapmasını sağlarken eşikleri kolayca güncellemenize olanak tanır.
- Sabit eşikler: Eşikler sabitse bir sınıflandırma modeli kullanın ve veri kümelerinizi eşik sınırlarına göre etiketleyin.
Genel olarak, önbellek temel hazırlığı dinamiktir ve eşikler zaman içinde değişir. Bu nedenle, bu özellikle bir önbelleğe alma sorunu olduğu için en iyi seçenek regresyon modelidir. Ancak birçok sorun için eşikler sabitleneceği için sınıflandırma modeli en iyi çözümdür.
Başka bir örneğe bakalım. İdeal sonucu, kullanıcılara önümüzdeki altı saat içinde ne kadar yağmur yağacağını söylemek olan bir hava durumu uygulaması oluşturuyorsanız precipitation_amount.
etiketini tahmin eden bir regresyon modeli kullanabilirsiniz.
İdeal sonuç | İdeal etiket |
---|---|
Kullanıcılara önümüzdeki altı saat içinde bölgelerinde ne kadar yağmur yağacağını söyleyin. | precipitation_amount
|
Hava durumu uygulaması örneğinde, etiket doğrudan ideal sonuca işaret eder.
Ancak bazı durumlarda ideal sonuç ile etiket arasında bire bir ilişki net değildir. Örneğin, video uygulamasında ideal sonuç
faydalı videolar önermektir. Ancak veri kümesinde useful_to_user.
adlı bir etiket yoktur
İdeal sonuç | İdeal etiket |
---|---|
Faydalı videolar önerme. | ? |
Bu nedenle bir proxy etiketi bulmanız gerekir.
Proxy etiketleri
Proxy etiketleri, veri kümesinde olmayan etiketlerin yerini alır. Tahmin etmek istediğiniz şeyi doğrudan ölçemediğinizde proxy etiketleri gereklidir. Video uygulamasında, kullanıcıların bir videoyu
faydalı bulup bulmayacağını doğrudan ölçemeyiz. Veri kümesinde useful
özelliği olsaydı ve kullanıcılar yararlı buldukları tüm videoları işaretlemiş olsaydı harika olurdu. Ancak veri kümesi böyle olmadığından kullanışlılık yerine bir proxy etiketine ihtiyacımız olur.
Kullanışlılık açısından proxy etiketi, kullanıcının videoyu paylaşıp paylaşmayacağı veya videoyu beğenme durumu olabilir.
İdeal sonuç | Proxy etiketi |
---|---|
Faydalı videolar önerme. | shared OR liked |
Proxy etiketleri tahmin etmek istediğiniz şeyi doğrudan ölçmediğinden dikkatli olun. Örneğin, aşağıdaki tabloda Faydalı videolar önerme için olası proxy etiketleriyle ilgili sorunlar özetlenmektedir:
Proxy etiketi | Sorun |
---|---|
Kullanıcının "beğen" düğmesini tıklayıp tıklamayacağını tahmin edin. | Çoğu kullanıcı "beğen"i asla tıklamaz. |
Bir videonun popüler olup olmayacağını tahmin edin. | Kişiselleştirilmedi. Bazı kullanıcılar popüler videoları beğenmeyebilir. |
Kullanıcının videoyu paylaşıp paylaşmayacağını tahmin edin. | Bazı kullanıcılar video paylaşmaz. Bazen insanlar videoları beğenmedikleri için paylaşırlar. |
Kullanıcının oynat'ı tıklayıp tıklamayacağını tahmin edin. | Tıklama tuzağını en üst düzeye çıkarır. |
Videoyu ne kadar süreyle izlediklerini tahmin edin. | Kısa videolara kıyasla uzun videoları tercih eder. |
Kullanıcının videoyu kaç kez tekrar izleyeceğini tahmin edin. | Tekrar izlenemeyen video türlerine kıyasla "tekrar izlenebilir" videoları tercih eder. |
Hiçbir proxy etiketi ideal sonucunuz için mükemmel bir alternatif olamaz. Hepsinde potansiyel sorunlar olacaktır. Kullanım alanınız için en az soruna sahip olanı seçin.
Öğrendiklerinizi Sınayın
Nesil
Çoğu durumda, kendi üretici modelinizi eğitmek için büyük miktarda eğitim verisi ve bilgi işlem kaynağı gerekir. Bu nedenle, kendi üretici modelinizi eğitmeniz mümkün olmaz. Bunun yerine, önceden eğitilmiş, üretici modeli özelleştirirsiniz. İstediğiniz çıktıyı sağlayacak üretici bir model elde etmek için aşağıdaki tekniklerden birini veya daha fazlasını kullanmanız gerekebilir:
Damıtma. Daha büyük bir modelin daha küçük bir sürümünü oluşturmak için, küçük modeli eğitmek için kullandığınız büyük modelden sentetik etiketli bir veri kümesi oluşturursunuz. Üretken modeller genellikle çok büyüktür ve önemli kaynaklar (ör. bellek ve elektrik) tüketir. Damıtma, daha küçük ve daha az kaynak kullanan modelin büyük modelin performansını yaklaşık olarak tahmin etmesini sağlar.
İnce ayarlama veya parametre verimli ayarlama. Bir modelin belirli bir görevdeki performansını artırmak için modeli, üretmek istediğiniz çıkış türünün örneklerini içeren bir veri kümesi üzerinde daha fazla eğitmeniz gerekir.
Hızlı mühendislik. Modelin belirli bir görevi gerçekleştirmesini veya belirli bir biçimde çıktı üretmesini sağlamak için, modele yapmasını istediğiniz görevi söyler veya çıktının nasıl biçimlendirilmesini istediğinizi açıklarsınız. Başka bir deyişle, istem, görevin nasıl gerçekleştirileceğine dair doğal dil talimatları veya istenen çıktılarla birlikte açıklayıcı örnekler içerebilir.
Örneğin, makalelerin kısa özetlerini almak isterseniz aşağıdakileri girebilirsiniz:
Produce 100-word summaries for each article.
Modelin belirli bir okuma seviyesi için metin oluşturmasını istiyorsanız aşağıdakileri girebilirsiniz:
All the output should be at a reading level for a 12-year-old.
Modelin çıktısını belirli bir biçimde sağlamasını istiyorsanız çıkışın nasıl biçimlendirilmesi gerektiğini açıklayabilir (örneğin, "sonuçları tabloda biçimlendirebilir") veya örnekler vererek görevi gösterebilirsiniz. Örneğin, aşağıdakileri girebilirsiniz:
Translate words from English to Spanish. English: Car Spanish: Auto English: Airplane Spanish: Avión English: Home Spanish:______
Damıtma ve ince ayar, modelin parametrelerini günceller. İstem mühendisliği, modelin parametrelerini güncellemez. Bunun yerine istem mühendisliği, modelin istem bağlamından istenen çıktıyı nasıl üreteceğini öğrenmesine yardımcı olur.
Bazı durumlarda, üretici bir modelin çıktısını bilinen değerlere göre değerlendirmek için bir test veri kümesine de ihtiyacınız olur. Örneğin, modelin özetlerinin insanlar tarafından oluşturulan özetlere benzediğinden veya insanlar modelin özetlerini iyi olarak değerlendirdiğinden emin olabilir.
Üretken yapay zeka, sınıflandırma veya regresyon gibi tahmine dayalı bir makine öğrenimi çözümü uygulamak için de kullanılabilir. Örneğin, doğal dil konusundaki derin bilgi birikimleri nedeniyle büyük dil modelleri (LLM), metin sınıflandırma görevlerini genellikle belirli bir görev için eğitilen tahmine dayalı makine öğreniminden daha iyi performans gösterebilir.
Başarı metriklerini tanımlayın
ML uygulamasının başarılı olup olmadığını belirlemek için kullanacağınız metrikleri tanımlayın. Başarı metrikleri, etkileşim veya kullanıcıların uygun buldukları videoları izleme gibi uygun işlemleri yapmalarına yardımcı olmak gibi sizin için önemli olan unsurları tanımlar. Başarı metrikleri, modelin doğruluk, hassasiyet, geri çağırma veya AUC gibi değerlendirme metriklerinden farklıdır.
Örneğin, hava durumu uygulamasının başarı ve başarısızlık metrikleri aşağıdaki gibi tanımlanabilir:
Başarılı | Kullanıcılar "Yağmur yağacak mı?" özelliğini öncekinden %50 daha fazla açıyorlar. |
---|---|
Hata | Kullanıcılar "Yağmur yağacak mı?" özelliğini eskisinden daha sık açmaz. |
Video uygulama metrikleri aşağıdaki şekilde tanımlanabilir:
Başarılı | Kullanıcılar sitede ortalama yüzde 20 daha fazla zaman geçiriyor. |
---|---|
Hata | Kullanıcılar, sitede geçmişe kıyasla ortalama olarak daha fazla zaman geçirmiyor. |
İddialı başarı metrikleri tanımlamanızı öneririz. Ama yüksek tutkular başarı ile başarısızlık arasında boşluklara yol açabilir. Örneğin, sitede geçmişe kıyasla ortalama yüzde 10 daha fazla zaman geçiren kullanıcılar ne başarılı ne de başarısız sayılır. Belirsiz boşluklar önemli değildir.
Önemli olan, modelinizin başarı tanımına yaklaşma (veya bunu aşma) kapasitesidir. Örneğin, modelin performansını analiz ederken şu soruyu göz önünde bulundurun: Modeli iyileştirmek sizi tanımladığınız başarı kriterlerine yaklaştırır mı? Örneğin, bir model mükemmel değerlendirme metriklerine sahip olabilir ancak sizi başarı kriterlerinize yaklaştırmayabilir. Bu durum, mükemmel bir modelle bile tanımladığınız başarı kriterlerini karşılayamayacağınızı gösterir. Öte yandan, bir modelin değerlendirme metrikleri zayıf olabilir ancak bu model iyileştirmenin sizi başarıya yaklaştıracağını gösterecek şekilde başarı kriterlerinize yaklaşmanızı sağlar.
Modelin iyileştirilmesine değer olup olmadığına karar verirken dikkate alınması gereken boyutlar şunlardır:
Yeterince iyi değil ancak devam edin. Model, üretim ortamında kullanılmamalıdır. Ancak zaman içinde önemli ölçüde iyileştirilebilir.
O zaman, devam edin. Model, bir üretim ortamında kullanılabilir ve daha da iyileştirilebilir.
Yeterince iyi, ancak daha iyi hale getirilemez. Model, bir üretim ortamında kullanılmakta, ama olması gereken kadar iyi olabilir.
Yeterince iyi değil ve hiçbir zaman da olamayacak. Model, üretim ortamında kullanılmamalıdır ve muhtemelen hiçbir eğitimle buraya çekilmez.
Modeli iyileştirmeye karar verirken mühendislik süresi ve işlem maliyetleri gibi kaynaklardaki artışın, modelin tahmin edilen iyileştirmesini haklı çıkarıp göstermediğini yeniden değerlendirin.
Başarı ve başarısızlık metriklerini tanımladıktan sonra bunları ne sıklıkta ölçeceğinizi belirlemeniz gerekir. Örneğin, sistem uygulandıktan altı gün, altı hafta veya altı ay sonra başarı metriklerinizi ölçebilirsiniz.
Hata metriklerini analiz ederken sistemin neden başarısız olduğunu belirlemeye çalışın. Örneğin model, kullanıcıların hangi videoları tıklayacağını tahmin ediyor olabilir ancak model, kullanıcı etkileşiminin azalmasına neden olan tıklama tuzağı başlıkları önermeye başlayabilir. Hava durumu uygulaması örneğinde model, bir coğrafi bölgede çok büyük bir yağmurun ne zaman yağacağını doğru bir şekilde tahmin edebilir.
Öğrendiklerinizi Sınayın
Bir moda firması daha fazla kıyafet satmak istiyor. Birisi, firmanın hangi kıyafetleri üretmesi gerektiğini belirlemek için makine öğreniminden yararlanılmasını öneriyor. Ne tür giysilerin moda olduğunu belirlemek için bir mankeni eğitebileceklerini düşünüyorlar. Model eğitildikten sonra, hangi kıyafetleri alacağına karar vermek için modeli kataloglarına uygulamak istiyor.
Bu problemi makine öğrenimi terimleriyle nasıl ele almalıdır?
İdeal sonuç: Hangi ürünlerin üretileceğini belirleyin.
Modelin hedefi: Hangi giyim ürünlerinin moda olduğunu tahmin edin.
Model çıkışı: İkili program sınıflandırması, in_fashion
, not_in_fashion
Başarı metrikleri: Üretilen giysilerin yüzde yetmişini veya daha fazlasını satın.
İdeal sonuç: Sipariş edilecek kumaş ve malzeme miktarını belirleyin.
Modelin hedefi: Her bir öğeden ne kadar üretileceğini tahmin edin.
Model çıkışı: İkili program sınıflandırması, make
, do_not_make
Başarı metrikleri: Üretilen giysilerin yüzde yetmişini veya daha fazlasını satın.