Code
def predict_sales(radio, weight, bias):
return weight*radio + bias
Xarajatlar funktsiyasi
Bashorat qilish funktsiyasi yaxshi, lekin bizning maqsadlarimiz uchun biz bunga muhtoj emasmiz. Nima, biz kerak, biz og'irliklari optimallashtirish boshlashingiz mumkin, shuning uchun bir qiymati funksiyasi.
Xarajat funksiyamiz sifatida MSE (L2) dan foydalanaylik. MSE kuzatishning haqiqiy va bashorat qilingan qiymatlari orasidagi o'rtacha kvadratik farqni o'lchaydi. Chiqish og'irliklari bizning joriy majmui bilan bog'liq xarajatlarni, yoki hisobni ifodalovchi bitta raqam. Bizning maqsadimiz bizning modeli aniqligini oshirish MSE kamaytirish uchun emas.
Matematika
Bizning oddiy chiziqli tenglamamiz y=mx+b ni hisobga olib, MSE ni quyidagicha hisoblashimiz mumkin:
N-kuzatishlarning umumiy soni (ma'lumotlar nuqtalari) o'rtacha
yi bir kuzatish haqiqiy qiymati va mxi + b bizning bashorat emas N-kuzatishlarning umumiy soni (ma'lumotlar nuqtalari)
o 'rtacha
bir kuzatish haqiqiy qiymati
Gradient descent
Mse kamaytirish uchun biz qiymati funktsiyasi gradient hisoblash uchun Gradient hodisa foydalanish. Gradient hodisa bizning vazn hozirda gradient (bizning joriy og'irligi yordamida qiymati funktsiyasi Nishab) topish uchun xarajat funktsiyasi lotin foydalanib, bizga beradi xato qarab, keyin gradient qarama-qarshi yo'nalishda harakat qilish uchun bizning og'irlik o'zgartirish iborat. Biz gradient o'rniga pastga qiyalik yuqoriga ishora beri gradient teskari yo'nalishda harakat qilish kerak,shuning uchun biz xato kamaytirish uchun harakat qilish teskari yo'nalishda harakat.
Matematika
Xarajat funktsiyamizda ikkita parametr (koeffitsient) mavjud: vazn m va tarafkashlik b. har birining yakuniy bashoratga ta'sirini ko'rib chiqishimiz kerak bo'lgani uchun qisman hosilalardan foydalanamiz. Qisman hosilalarni topish uchun zanjir qoidasidan foydalanamiz. Bizga zanjir qoidasi kerak, chunki haqiqatan 2 ta ichki funksiyalar: ichki funksiya y−(mx+b) va tashqi funksiya
Xarajat funksiyamizga qaytish:
Quyidagi foydalanish:
Hosila ni ichiga bölishimiz mumkin
Va keyin davlatlar zanjir qoida yordamida:
Biz keyin quyidagi sanab chiqing olish qismlari har ulang
Bu xarajat funksiyasining gradientini quyidagicha hisoblashimiz mumkin:
Kodilar
Gradient uchun hal qilish uchun, biz yangi vazn va qiyshiq qiymatlari yordamida bizning ma'lumotlar nuqtalari orqali yineleme va qisman sanab chiqing o'rtacha olish. Olingan gradient bizga hozirgi holatimizda (i.e. weight va bias) xarajat funktsiyamizning qiyaligini va xarajat funktsiyamizni kamaytirish uchun yangilashimiz kerak bo'lgan yo'nalishni aytadi (gradient qarshisidagi yo'nalishda harakat qilamiz). Bizning yangilash hajmi ta'lim darajasi tomonidan nazorat qilinadi
Tarbiya
Bir model ta'lim iterativ DataSet bir necha marta orqali looping tomonidan bashorat sizning tenglama takomillashtirish jarayoni, har safar qiymati funktsiyasi Nishab tomonidan ko'rsatilgan yo'nalishda og'irligi va qiyshiq qadriyatlarni yangilash (gradient). Biz maqbul xato Pol erishish qachon Training to'liq, yoki keyingi o'quv yinelemeler bizning xarajatlarni kamaytirish uchun muvaffaqiyatsiz bo'lsa.
Biz og'irliklari boshlash kerak tayyorlash oldin (standart qadriyatlarni o'rnatish), bizning hyperparameters o'rnatish (ta'lim darajasi va iteratsiyalar soni), va har bir iteratsiya ustida bizning taraqqiyot kirish uchun tayyorlash.
Kodilar
Baholash Model
Agar bizning modelimiz ishlayotgan bo'lsa, biz har bir iteratsiyadan keyin xarajatimizni kamaytirishimiz kerak.
Tizimga kirish
Xulosa
Og'irligi uchun eng yaxshi qadriyatlarni o'rganish orqali (.46) va tarafkashlik (.25), biz hozir radio reklama investitsiya asosida kelajakda savdo bashorat tenglama bor.
Multivariable tushish
Aytaylik, bizga TV, radio va gazeta reklamasi bo'yicha ma'lumotlar kompaniyalar ro'yxati uchun sarflanayapti va maqsadimiz sotilgan birliklar bo'yicha sotuvni bashorat qilish.
Borayotgan murakkabligi
Xususiyatlar soni o'sib borgan sari, bizning modelimizning murakkabligi ortib boradi va bizning ma'lumotlarimizni tasavvur qilish yoki hatto tushunish tobora qiyinlashadi.
Bir yechim bir-biridan ma'lumotlarni sindirish va solishtirish uchun emas 1-2 bir vaqtning o'zida xususiyatlari. Bu, masalan, biz radio va TV investitsiya savdo qanday ta'sir kashf.
Normalization
Xususiyatlari soni sari, gradient hisoblash hisoblash uchun uzoq davom etadi. Buni barcha qiymatlarni bir xil oraliqda bo'lishini ta'minlash uchun kirish ma'lumotlarimizni "normallashtirish" orqali tezlashtirishimiz mumkin. Bu yuqori standart og'ish yoki sifatlari intervallarni farqlar bilan datasets uchun, ayniqsa, muhim ahamiyatga ega. Bizning maqsadimiz bizning xususiyatlarimizni normallashtirishdir, shuning uchun ular -1 dan 1 oralig'ida.
Kodilar
For each feature column {
#1 Subtract the mean of the column (mean normalization)
#2 Divide by the range of the column (feature scaling)
}
Bizning kiritish 200 x 3 matrix bir TV, Radio, Gazeta va ma'lumotlarni o'z ichiga olgan bo'ladi. Bizning chiqish -1 va 1 orasidagi barcha qiymatlar bilan bir xil shakldagi normalangan matritsadir.
Do'stlaringiz bilan baham: |