機器學習的任務(wù):
- regression:輸出是一個標量scalar;
- classification:給出多個classes,輸出正確的類別;
- structured learning:創(chuàng)造有結(jié)構(gòu)的東西,比如生成一個圖片或者文檔;
機器學習完成任務(wù),是通過找到一個function來實現(xiàn)的,一個案例學習:以youtube每天的點擊量預(yù)測為例
1. 先寫出一個有未知參數(shù)的function作為model,想用哪個函數(shù)來實現(xiàn)任務(wù);介紹model,feature,weight,bias四個概念

2. 定義一個loss function:L(b, w),它是一個把上述未知參數(shù)作為自變量的函數(shù),這個函數(shù)是要評價這些參數(shù)的設(shè)定究竟好不好,通過training data進行計算

選擇一個loss函數(shù),這里用了預(yù)測結(jié)果與label的絕對誤差的平均值作為了loss,loss函數(shù)有很多種形式。通過training data使用目前確定的w和b來得到預(yù)測結(jié)果,計算loss。
3. 進行優(yōu)化:表現(xiàn)最好的參數(shù),是能讓loss最小的參數(shù),所以要針對這一問題進行優(yōu)化

優(yōu)化方法:gradient descent(梯度下降)

以一個參數(shù)的優(yōu)化過程為例如上圖;目前可以看到的GD的缺陷:可能無法找到全局最小值,而是陷入到局部極小值處;比如上圖到了w1右邊的極小值點,再怎么更新都無法跑到再右邊的最小值去了。(但是老師說GD真正的痛點并不是這個)

超參數(shù) hyperparameters
在機器學習中需要自己設(shè)定的參數(shù)
上述三步是機器學習的訓練過程,根據(jù)已知的trainning data進行模型的訓練;下面進行測試,看一下測試的效果,可能會比較不如意;
4. 根據(jù)測試的結(jié)果,根據(jù)你的domain knowledge,需要對模型進行修改。
比如對觀看人數(shù)的預(yù)測,你發(fā)現(xiàn)明顯數(shù)據(jù)是七天一周期的變化,那用前七天來進行預(yù)測顯然比用前一天的預(yù)測更加好一些。

Linear Model
(上面的例子就是一個linear model)
線性模型太簡單,特征和label的關(guān)系永遠都是線性的,但是事實上可能有非線性的關(guān)系,那線性模型無論怎么訓練都無法很好的擬合了。
這種局限叫做model bias。