二分類問題,使用sigmoid函式,
為什麼使用sigmoid函式:
因為二分類問題標記為{0,1},lr產生的**值是連續的實數,因此要把它轉換為0/1。如果直接使用單位階躍函式,值是不連續的。而sigmoid是最理想的,在**值=0附近曲線很陡,而且能將**值轉化為乙個接近0/1的y值
怎麼得出loss function?
使用極大似然法mle來估計w和b,最大化「對數似然」
求解loss function?
梯度下降法,牛頓法
為什麼使用最小二乘法/mse?
歐式距離是最自然最直觀的距離,正態分佈是最常見最容易處理的雜訊分布,自然最小二乘就是最優的方法
如何選擇閾值?
最大化specificity(true negatives)和sensitivity(true positives)
通過cross validation
正則化是保證模型「簡單」的基礎上最小化訓練誤差m
l1與l2比較,l1得到的是稀疏解,正則化後去掉沒有資訊的feature,把這些特徵的權重置為0.l2則讓每個元素都很小,不為0。但是l2可導,而l1在0處不可導。
l2不能控制feature的「個數」,但是能防止模型overfit到某個feature上;相反l1是控制feature「個數」的,並且鼓勵模型在少量幾個feature上有較大的權重。
bic和l2範數的區別
l1,l2在模型訓練的過程中通過加約束來達到生成更好的模型的目的。
而aic,bic是在已經訓練好的不同模型裡面篩選出相對最好的那個模型。
直接留出training和testing
cross validation
均方誤差
錯誤率,精度: 精度=1-錯誤率
查準率precision,查全率recall,f1
roc auc: roc 橫座標false positive rate,縱座標true positive rate,比較兩個分類器因為they take into account all possible thresholds.
應用於model selection in linear regression,使用多少變數,哪些變數。比如best selection中,相同變數數的模型比較用r2,下一步不同模型需要得到lowest estimated test error,一般是lowest cross-validation error,linear regression中則可使用這幾種。
backward selection前提n>p,面試中被問過「如果n>p產生過擬合問題怎麼辦?」當時面試官的回答是加入正則化。
select variables with small p-values?
為什麼不直接選擇小的p-value?
1. only measures relevance on training data
2. only works well when n>>p (n: data; p: variables)
不使用r2和rss因此使用以下三種。
bic:bayesian information criterion
aic:akaike information criterion
cp:mallow』s cp
和用l1、l2有什麼差別?
(課件上)
r語言中使用:
library(leaps)
regfit.bwd=regsubsets(price~.,data = data.lm, nvmax = 39, method = "backward")
reg.summary=summary
(regfit.bwd)
# plot
bicplot
(reg.summary$bic ,xlab="number of variables ",ylab="bic",
type='l')
# select
variables
based
onbic
plot
(regfit.bwd,scale="bic")
假設空間由不同feature可能取值的形成的假設組成
知乎直觀好回答:
scala 遇到過的問題
1 在我安裝完scala的外掛程式後,在開啟方法的實現類 open implementactions 的時候,丟擲這個異常,後來發現這個異常是因為我的scala的外掛程式跟我eclipse版本不相容導致的。an error occurred while searching for implement...
遇到過的前端面試
1.settimeout與setinterval的區別 setinterval 方法可按照指定的週期 以毫秒計 來呼叫函式或計算表示式。setinterval 方法會不停地呼叫函式,直到 clearinterval 被呼叫或視窗被關閉。由 setinterval 返回的 id 值可用作 cleari...
用layui遇到過的問題
1.報錯 layui.form is not a function 問題 把 中這一串修改一下 form layui.form 括號去掉就行 form layui.form 如果你是從1.x公升級2.x造成的,那只需要在定義的時候吧後面的 去掉就可以了。1 獲取 form 模組介面,由之前的 var...