中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

關于python對數損失函數的信息

從零開始用Python構建神經網絡

從零開始用Python構建神經網絡

公司主營業務:成都做網站、網站設計、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。成都創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創新互聯推出淇濱免費做網站回饋大家。

動機:為了更加深入的理解深度學習,我們將使用 python 語言從頭搭建一個神經網絡,而不是使用像 Tensorflow 那樣的封裝好的框架。我認為理解神經網絡的內部工作原理,對數據科學家來說至關重要。

這篇文章的內容是我的所學,希望也能對你有所幫助。

神經網絡是什么?

介紹神經網絡的文章大多數都會將它和大腦進行類比。如果你沒有深入研究過大腦與神經網絡的類比,那么將神經網絡解釋為一種將給定輸入映射為期望輸出的數學關系會更容易理解。

神經網絡包括以下組成部分

? 一個輸入層,x

? 任意數量的隱藏層

? 一個輸出層,?

? 每層之間有一組權值和偏置,W and b

? 為隱藏層選擇一種激活函數,σ。在教程中我們使用 Sigmoid 激活函數

下圖展示了 2 層神經網絡的結構(注意:我們在計算網絡層數時通常排除輸入層)

2 層神經網絡的結構

用 Python 可以很容易的構建神經網絡類

訓練神經網絡

這個網絡的輸出 ? 為:

你可能會注意到,在上面的等式中,輸出 ? 是 W 和 b 函數。

因此 W 和 b 的值影響預測的準確率. 所以根據輸入數據對 W 和 b 調優的過程就被成為訓練神經網絡。

每步訓練迭代包含以下兩個部分:

? 計算預測結果 ?,這一步稱為前向傳播

? 更新 W 和 b,,這一步成為反向傳播

下面的順序圖展示了這個過程:

前向傳播

正如我們在上圖中看到的,前向傳播只是簡單的計算。對于一個基本的 2 層網絡來說,它的輸出是這樣的:

我們在 NeuralNetwork 類中增加一個計算前向傳播的函數。為了簡單起見我們假設偏置 b 為0:

但是我們還需要一個方法來評估預測結果的好壞(即預測值和真實值的誤差)。這就要用到損失函數。

損失函數

常用的損失函數有很多種,根據模型的需求來選擇。在本教程中,我們使用誤差平方和作為損失函數。

誤差平方和是求每個預測值和真實值之間的誤差再求和,這個誤差是他們的差值求平方以便我們觀察誤差的絕對值。

訓練的目標是找到一組 W 和 b,使得損失函數最好小,也即預測值和真實值之間的距離最小。

反向傳播

我們已經度量出了預測的誤差(損失),現在需要找到一種方法來傳播誤差,并以此更新權值和偏置。

為了知道如何適當的調整權值和偏置,我們需要知道損失函數對權值 W 和偏置 b 的導數。

回想微積分中的概念,函數的導數就是函數的斜率。

梯度下降法

如果我們已經求出了導數,我們就可以通過增加或減少導數值來更新權值 W 和偏置 b(參考上圖)。這種方式被稱為梯度下降法。

但是我們不能直接計算損失函數對權值和偏置的導數,因為在損失函數的等式中并沒有顯式的包含他們。因此,我們需要運用鏈式求導發在來幫助計算導數。

鏈式法則用于計算損失函數對 W 和 b 的導數。注意,為了簡單起見。我們只展示了假設網絡只有 1 層的偏導數。

這雖然很簡陋,但是我們依然能得到想要的結果—損失函數對權值 W 的導數(斜率),因此我們可以相應的調整權值。

現在我們將反向傳播算法的函數添加到 Python 代碼中

為了更深入的理解微積分原理和反向傳播中的鏈式求導法則,我強烈推薦 3Blue1Brown 的如下教程:

Youtube:

整合并完成一個實例

既然我們已經有了包括前向傳播和反向傳播的完整 Python 代碼,那么就將其應用到一個例子上看看它是如何工作的吧。

神經網絡可以通過學習得到函數的權重。而我們僅靠觀察是不太可能得到函數的權重的。

讓我們訓練神經網絡進行 1500 次迭代,看看會發生什么。 注意觀察下面每次迭代的損失函數,我們可以清楚地看到損失函數單調遞減到最小值。這與我們之前介紹的梯度下降法一致。

讓我們看看經過 1500 次迭代后的神經網絡的最終預測結果:

經過 1500 次迭代訓練后的預測結果

我們成功了!我們應用前向和方向傳播算法成功的訓練了神經網絡并且預測結果收斂于真實值。

注意預測值和真實值之間存在細微的誤差是允許的。這樣可以防止模型過擬合并且使得神經網絡對于未知數據有著更強的泛化能力。

下一步是什么?

幸運的是我們的學習之旅還沒有結束,仍然有很多關于神經網絡和深度學習的內容需要學習。例如:

? 除了 Sigmoid 以外,還可以用哪些激活函數

? 在訓練網絡的時候應用學習率

? 在面對圖像分類任務的時候使用卷積神經網絡

我很快會寫更多關于這個主題的內容,敬請期待!

最后的想法

我自己也從零開始寫了很多神經網絡的代碼

雖然可以使用諸如 Tensorflow 和 Keras 這樣的深度學習框架方便的搭建深層網絡而不需要完全理解其內部工作原理。但是我覺得對于有追求的數據科學家來說,理解內部原理是非常有益的。

這種練習對我自己來說已成成為重要的時間投入,希望也能對你有所幫助

人工智能一些術語總結

隨著智能時代慢慢的到來,有一些基本概念都不知道真的是要落伍了,作為正在積極學習向上的青年,我想總結一份筆記,此份筆記會記錄眾多AI領域的術語和概念,當然,學一部分記錄一部分,并且可能會夾雜著自己的一些理解,由于能力有限,有問題希望大家多多賜教。當然,由于內容太多,僅僅只是記錄了中英名對照,有的加上了簡單的解釋,沒加的后續大家有需求,我會慢慢完善~~。目錄暫定以首字母的字典序排序。可以當作目錄方便以后查閱~~建議收藏加點贊哈哈哈

------------------------------------------------這里是分割線--------------------------------------------------

A

準確率(accuracy)

分類模型預測準確的比例。

二分類問題中,準確率定義為:accuracy = (true positives +true negatives)/all samples

多分類問題中,準確率定義為:accuracy = correctpredictions/all samples

激活函數(activation function)

一種函數,將前一層所有神經元激活值的加權和 輸入到一個非線性函數中,然后作為下一層神經元的輸入,例如 ReLU 或 Sigmoid

AdaGrad

一種復雜的梯度下降算法,重新調節每個參數的梯度,高效地給每個參數一個單獨的學習率。

AUC(曲線下面積)

一種考慮到所有可能的分類閾值的評估標準。ROC 曲線下面積代表分類器隨機預測真正類(Ture Positives)要比假正類(False Positives)概率大的確信度。

Adversarial example(對抗樣本)

Adversarial Networks(對抗網絡)

Artificial General Intelligence/AGI(通用人工智能)

Attention mechanism(注意力機制)

Autoencoder(自編碼器)

Automatic summarization(自動摘要)

Average gradient(平均梯度)

Average-Pooling(平均池化)

B

反向傳播(Backpropagation/BP)

神經網絡中完成梯度下降的重要算法。首先,在前向傳播的過程中計算每個節點的輸出值。然后,在反向傳播的過程中計算與每個參數對應的誤差的偏導數。

基線(Baseline)

被用為對比模型表現參考的簡單模型。

批量(Batch)

模型訓練中一個迭代(指一次梯度更新)使用的樣本集。

批量大小(Batch size)

一個批量中樣本的數量。例如,SGD 的批量大小為 1,而 mini-batch 的批量大小通常在 10-1000 之間。

偏置(Bias)

與原點的截距或偏移量。

二元分類器(Binary classification)

一類分類任務,輸出兩個互斥類別中的一個。比如垃圾郵件檢測。

詞袋(Bag of words/Bow)

基學習器(Base learner)

基學習算法(Base learning algorithm)

貝葉斯網絡(Bayesian network)

基準(Bechmark)

信念網絡(Belief network)

二項分布(Binomial distribution)

玻爾茲曼機(Boltzmann machine)

自助采樣法/可重復采樣/有放回采樣(Bootstrap sampling)

廣播(Broadcasting)

C

類別(Class)

所有同類屬性的目標值作為一個標簽。

分類模型(classification)

機器學習模型的一種,將數據分離為兩個或多個離散類別。

收斂(convergence)

訓練過程達到的某種狀態,其中訓練損失和驗證損失在經過了確定的迭代次數后,在每一次迭代中,改變很小或完全不變。

凸函數(concex function)

一種形狀大致呈字母 U 形或碗形的函數。然而,在退化情形中,凸函數的形狀就像一條線。

成本(cost)

loss 的同義詞。深度學習模型一般都會定義自己的loss函數。

交叉熵(cross-entropy)

多類別分類問題中對 Log 損失函數的推廣。交叉熵量化兩個概率分布之間的區別。

條件熵(Conditional entropy)

條件隨機場(Conditional random field/CRF)

置信度(Confidence)

共軛方向(Conjugate directions)

共軛分布(Conjugate distribution)

共軛梯度(Conjugate gradient)

卷積神經網絡(Convolutional neural network/CNN)

余弦相似度(Cosine similarity)

成本函數(Cost Function)

曲線擬合(Curve-fitting)

D

數據集(data set)

樣本的集合

深度模型(deep model)

一種包含多個隱藏層的神經網絡。深度模型依賴于其可訓練的非線性性質。和寬度模型對照(widemodel)。

dropout 正則化(dropoutregularization)

訓練神經網絡時一種有用的正則化方法。dropout 正則化的過程是在單次梯度計算中刪去一層網絡中隨機選取的固定數量的單元。刪去的單元越多,正則化越強。

數據挖掘(Data mining)

決策樹/判定樹(Decisiontree)

深度神經網絡(Deep neural network/DNN)

狄利克雷分布(Dirichlet distribution)

判別模型(Discriminative model)

下采樣(Down sampling)

動態規劃(Dynamic programming)

E

早期停止法(early stopping)

一種正則化方法,在訓練損失完成下降之前停止模型訓練過程。當驗證數據集(validationdata set)的損失開始上升的時候,即泛化表現變差的時候,就該使用早期停止法了。

嵌入(embeddings)

一類表示為連續值特征的明確的特征。嵌入通常指將高維向量轉換到低維空間中。

經驗風險最小化(empirical risk minimization,ERM)

選擇能使得訓練數據的損失函數最小化的模型的過程。和結構風險最小化(structualrisk minimization)對照。

集成(ensemble)

多個模型預測的綜合考慮。可以通過以下一種或幾種方法創建一個集成方法:

設置不同的初始化;

設置不同的超參量;

設置不同的總體結構。

深度和廣度模型是一種集成。

樣本(example)

一個數據集的一行內容。一個樣本包含了一個或多個特征,也可能是一個標簽。參見標注樣本(labeledexample)和無標注樣本(unlabeled example)。

F

假負類(false negative,FN)

被模型錯誤的預測為負類的樣本。例如,模型推斷一封郵件為非垃圾郵件(負類),但實際上這封郵件是垃圾郵件。

假正類(false positive,FP)

被模型錯誤的預測為正類的樣本。例如,模型推斷一封郵件為垃圾郵件(正類),但實際上這封郵件是非垃圾郵件。

假正類率(false positive rate,FP rate)

ROC 曲線(ROC curve)中的 x 軸。FP 率的定義是:假正率=假正類數/(假正類數+真負類數)

特征工程(feature engineering)

在訓練模型的時候,挖掘對模型效果有利的特征。

前饋神經網絡(Feedforward Neural Networks/FNN )

G

泛化(generalization)

指模型利用新的沒見過的數據而不是用于訓練的數據作出正確的預測的能力。

廣義線性模型(generalized linear model)

最小二乘回歸模型的推廣/泛化,基于高斯噪聲,相對于其它類型的模型(基于其它類型的噪聲,比如泊松噪聲,或類別噪聲)。廣義線性模型的例子包括:

logistic 回歸

多分類回歸

最小二乘回歸

梯度(gradient)

所有變量的偏導數的向量。在機器學習中,梯度是模型函數的偏導數向量。梯度指向最陡峭的上升路線。

梯度截斷(gradient clipping)

在應用梯度之前先修飾數值,梯度截斷有助于確保數值穩定性,防止梯度爆炸出現。

梯度下降(gradient descent)

通過計算模型的相關參量和損失函數的梯度最小化損失函數,值取決于訓練數據。梯度下降迭代地調整參量,逐漸靠近權重和偏置的最佳組合,從而最小化損失函數。

圖(graph)

在 TensorFlow 中的一種計算過程展示。圖中的節點表示操作。節點的連線是有指向性的,表示傳遞一個操作(一個張量)的結果(作為一個操作數)給另一個操作。使用 TensorBoard 能可視化計算圖。

高斯核函數(Gaussian kernel function)

高斯混合模型(Gaussian Mixture Model)

高斯過程(Gaussian Process)

泛化誤差(Generalization error)

生成模型(Generative Model)

遺傳算法(Genetic Algorithm/GA)

吉布斯采樣(Gibbs sampling)

基尼指數(Gini index)

梯度下降(Gradient Descent)

H

啟發式(heuristic)

一個問題的實際的和非最優的解,但能從學習經驗中獲得足夠多的進步。

隱藏層(hidden layer)

神經網絡中位于輸入層(即特征)和輸出層(即預測)之間的合成層。一個神經網絡包含一個或多個隱藏層。

超參數(hyperparameter)

連續訓練模型的過程中可以擰動的「旋鈕」。例如,相對于模型自動更新的參數,學習率(learningrate)是一個超參數。和參量對照。

硬間隔(Hard?margin)

隱馬爾可夫模型(Hidden Markov Model/HMM)

層次聚類(Hierarchical clustering)

假設檢驗(Hypothesis test)

I

獨立同分布(independently and identicallydistributed,i.i.d)

從不會改變的分布中獲取的數據,且獲取的每個值不依賴于之前獲取的值。i.i.d. 是機器學習的理想情況——一種有用但在現實世界中幾乎找不到的數學構建。

推斷(inference)

在機器學習中,通常指將訓練模型應用到無標注樣本來進行預測的過程。在統計學中,推斷指在觀察到的數據的基礎上擬合分布參數的過程。

輸入層(input layer)

神經網絡的第一層(接收輸入數據)。

評分者間一致性(inter-rater agreement)

用來衡量一項任務中人類評分者意見一致的指標。如果意見不一致,則任務說明可能需要改進。有時也叫標注者間信度(inter-annotator agreement)或評分者間信度(inter-raterreliability)。

增量學習(Incremental learning)

獨立成分分析(Independent Component Analysis/ICA)

獨立子空間分析(Independent subspace analysis)

信息熵(Information entropy)

信息增益(Information gain)

J

JS 散度(Jensen-ShannonDivergence/JSD)

K

Kernel 支持向量機(KernelSupport Vector Machines/KSVM)

一種分類算法,旨在通過將輸入數據向量映射到更高維度的空間使正類和負類之間的邊際最大化。例如,考慮一個輸入數據集包含一百個特征的分類問題。為了使正類和負類之間的間隔最大化,KSVM 從內部將特征映射到百萬維度的空間。KSVM 使用的損失函數叫作 hinge 損失。

核方法(Kernel method)

核技巧(Kernel trick)

k 折交叉驗證/k 倍交叉驗證(K-fold cross validation)

K - 均值聚類(K-MeansClustering)

K近鄰算法(K-Nearest NeighboursAlgorithm/KNN)

知識圖譜(Knowledge graph)

知識庫(Knowledge base)

知識表征(Knowledge Representation)

L

L1 損失函數(L1 loss)

損失函數基于模型對標簽的預測值和真實值的差的絕對值而定義。L1 損失函數比起 L2 損失函數對異常值的敏感度更小。

L1 正則化(L1regularization)

一種正則化,按照權重絕對值總和的比例進行懲罰。在依賴稀疏特征的模型中,L1 正則化幫助促使(幾乎)不相關的特征的權重趨近于 0,從而從模型中移除這些特征。

L2 損失(L2 loss)

參見平方損失。

L2 正則化(L2regularization)

一種正則化,按照權重平方的總和的比例進行懲罰。L2 正則化幫助促使異常值權重更接近 0 而不趨近于 0。(可與 L1 正則化對照閱讀。)L2 正則化通常改善線性模型的泛化效果。

標簽(label)

在監督式學習中,樣本的「答案」或「結果」。標注數據集中的每個樣本包含一或多個特征和一個標簽。在垃圾郵件檢測數據集中,特征可能包括主題、發出者何郵件本身,而標簽可能是「垃圾郵件」或「非垃圾郵件」。

標注樣本(labeled example)

包含特征和標簽的樣本。在監督式訓練中,模型從標注樣本中進行學習。

學習率(learning rate)

通過梯度下降訓練模型時使用的一個標量。每次迭代中,梯度下降算法使學習率乘以梯度,乘積叫作 gradient step。學習率是一個重要的超參數。

最小二乘回歸(least squares regression)

通過 L2 損失最小化進行訓練的線性回歸模型。

線性回歸(linear regression)

對輸入特征的線性連接輸出連續值的一種回歸模型。

logistic 回歸(logisticregression)

將 sigmoid 函數應用于線性預測,在分類問題中為每個可能的離散標簽值生成概率的模型。盡管 logistic 回歸常用于二元分類問題,但它也用于多類別分類問題(這種情況下,logistic回歸叫作「多類別 logistic 回歸」或「多項式 回歸」。

對數損失函數(Log Loss)

二元 logistic 回歸模型中使用的損失函數。

損失(Loss)

度量模型預測與標簽距離的指標,它是度量一個模型有多糟糕的指標。為了確定損失值,模型必須定義損失函數。例如,線性回歸模型通常使用均方差作為損失函數,而 logistic 回歸模型使用對數損失函數。

隱狄利克雷分布(Latent Dirichlet Allocation/LDA)

潛在語義分析(Latent semantic analysis)

線性判別(Linear Discriminant Analysis/LDA)

長短期記憶(Long-Short Term Memory/LSTM)

M

機器學習(machine learning)

利用輸入數據構建(訓練)預測模型的項目或系統。該系統使用學習的模型對與訓練數據相同分布的新數據進行有用的預測。機器學習還指與這些項目或系統相關的研究領域。

均方誤差(Mean Squared Error/MSE)

每個樣本的平均平方損失。MSE 可以通過平方損失除以樣本數量來計算。

小批量(mini-batch)

在訓練或推斷的一個迭代中運行的整批樣本的一個小的隨機選擇的子集。小批量的大小通常在10 到 1000 之間。在小批量數據上計算損失比在全部訓練數據上計算損失要高效的多。

機器翻譯(Machine translation/MT)

馬爾可夫鏈蒙特卡羅方法(Markov Chain Monte Carlo/MCMC)

馬爾可夫隨機場(Markov Random Field)

多文檔摘要(Multi-document summarization)

多層感知器(Multilayer Perceptron/MLP)

多層前饋神經網絡(Multi-layer feedforward neuralnetworks)

N

NaN trap

訓練過程中,如果模型中的一個數字變成了 NaN,則模型中的很多或所有其他數字最終都變成 NaN。NaN 是「Not aNumber」的縮寫。

神經網絡(neural network)

該模型從大腦中獲取靈感,由多個層組成(其中至少有一個是隱藏層),每個層包含簡單的連接單元或神經元,其后是非線性。

神經元(neuron)

神經網絡中的節點,通常輸入多個值,生成一個輸出值。神經元通過將激活函數(非線性轉換)應用到輸入值的加權和來計算輸出值。

歸一化(normalization)

將值的實際區間轉化為標準區間的過程,標準區間通常是-1 到+1 或 0 到 1。例如,假設某個特征的自然區間是 800 到 6000。通過減法和分割,你可以把那些值標準化到區間-1 到+1。參見縮放。

Numpy

Python 中提供高效數組運算的開源數學庫。pandas 基于 numpy 構建。

Naive bayes(樸素貝葉斯)

Naive Bayes Classifier(樸素貝葉斯分類器)

Named entity recognition(命名實體識別)

Natural language generation/NLG(自然語言生成)

Natural language processing(自然語言處理)

Norm(范數)

O

目標(objective)

算法嘗試優化的目標函數。

one-hot 編碼(獨熱編碼)(one-hotencoding)

一個稀疏向量,其中:一個元素設置為 1,所有其他的元素設置為 0。。

一對多(one-vs.-all)

給出一個有 N 個可能解決方案的分類問題,一對多解決方案包括 N 個獨立的二元分類器——每個可能的結果都有一個二元分類器。例如,一個模型將樣本分為動物、蔬菜或礦物,則一對多的解決方案將提供以下三種獨立的二元分類器:

動物和非動物

蔬菜和非蔬菜

礦物和非礦物

過擬合(overfitting)

創建的模型與訓練數據非常匹配,以至于模型無法對新數據進行正確的預測

Oversampling(過采樣)

P

pandas

一種基于列的數據分析 API。很多機器學習框架,包括 TensorFlow,支持 pandas 數據結構作為輸入。參見 pandas 文檔。

參數(parameter)

機器學習系統自行訓練的模型的變量。例如,權重是參數,它的值是機器學習系統通過連續的訓練迭代逐漸學習到的。注意與超參數的區別。

性能(performance)

在軟件工程中的傳統含義:軟件運行速度有多快/高效?

在機器學習中的含義:模型的準確率如何?即,模型的預測結果有多好?

困惑度(perplexity)

對模型完成任務的程度的一種度量指標。例如,假設你的任務是閱讀用戶在智能手機上輸入的單詞的頭幾個字母,并提供可能的完整單詞列表。該任務的困惑度(perplexity,P)是為了列出包含用戶實際想輸入單詞的列表你需要進行的猜測數量。

流程(pipeline)

機器學習算法的基礎架構。管道包括收集數據、將數據放入訓練數據文件中、訓練一或多個模型,以及最終輸出模型。

Principal component analysis/PCA(主成分分析)

Precision(查準率/準確率)

Prior knowledge(先驗知識)

Q

Quasi Newton method(擬牛頓法)

R

召回率(recall)

回歸模型(regression model)

一種輸出持續值(通常是浮點數)的模型。而分類模型輸出的是離散值。

正則化(regularization)

對模型復雜度的懲罰。正則化幫助防止過擬合。正則化包括不同種類:

L1 正則化

L2 正則化

dropout 正則化

early stopping(這不是正式的正則化方法,但可以高效限制過擬合)

正則化率(regularization rate)

一種標量級,用 lambda 來表示,指正則函數的相對重要性。從下面這個簡化的損失公式可以看出正則化率的作用:

minimize(loss function + λ(regularization function))

提高正則化率能夠降低過擬合,但可能會使模型準確率降低。

表征(represention)

將數據映射到有用特征的過程。

受試者工作特征曲線(receiver operatingcharacteristic/ROC Curve)

反映在不同的分類閾值上,真正類率和假正類率的比值的曲線。參見 AUC。

Recurrent Neural Network(循環神經網絡)

Recursive neural network(遞歸神經網絡)

Reinforcement learning/RL(強化學習)

Re-sampling(重采樣法)

Representation learning(表征學習)

Random Forest Algorithm(隨機森林算法)

S

縮放(scaling)

特征工程中常用的操作,用于控制特征值區間,使之與數據集中其他特征的區間匹配。例如,假設你想使數據集中所有的浮點特征的區間為 0 到 1。給定一個特征區間是 0 到 500,那么你可以通過將每個值除以 500,縮放特征值區間。還可參見正則化。

scikit-learn

一種流行的開源機器學習平臺。網址:。

序列模型(sequence model)

輸入具有序列依賴性的模型。例如,根據之前觀看過的視頻序列對下一個視頻進行預測。

Sigmoid 函數(sigmoid function)

softmax

為多類別分類模型中每個可能的類提供概率的函數。概率加起來的總和是 1.0。例如,softmax 可能檢測到某個圖像是一只狗的概率為 0.9,是一只貓的概率為 0.08,是一匹馬的概率為 0.02。(也叫作 full softmax)。

結構風險最小化(structural risk minimization/SRM)

這種算法平衡兩個目標:

構建預測性最強的模型(如最低損失)。

使模型盡量保持簡單(如強正則化)。

比如,在訓練集上的損失最小化 + 正則化的模型函數就是結構風險最小化算法。更多信息,參見 。可與經驗風險最小化對照閱讀。

監督式機器學習(supervised machine learning)

利用輸入數據及其對應標簽來訓練模型。監督式機器學習類似學生通過研究問題和對應答案進行學習。在掌握問題和答案之間的映射之后,學生就可以提供同樣主題的新問題的答案了。可與非監督機器學習對照閱讀。

Similarity measure(相似度度量)

Singular Value Decomposition(奇異值分解)

Soft margin(軟間隔)

Soft margin maximization(軟間隔最大化)

Support Vector Machine/SVM(支持向量機)

T

張量(tensor)

TensorFlow 項目的主要數據結構。張量是 N 維數據結構(N 的值很大),經常是標量、向量或矩陣。張量可以包括整數、浮點或字符串值。

Transfer learning(遷移學習)

U

無標簽樣本(unlabeled example)

包含特征但沒有標簽的樣本。無標簽樣本是推斷的輸入。在半監督學習和無監督學習的訓練過程中,通常使用無標簽樣本。

無監督機器學習(unsupervised machine learning)

訓練一個模型尋找數據集(通常是無標簽數據集)中的模式。無監督機器學習最常用于將數據分成幾組類似的樣本。無監督機器學習的另一個例子是主成分分析(principal componentanalysis,PCA)

W

Word embedding(詞嵌入)

Word sense disambiguation(詞義消歧)

李航統計方法(四)---樸素貝葉斯

樸素貝葉斯法是基于貝葉斯定理與特征條件獨立假設的分類方法。訓練的時候,學習輸入輸出的聯合概率分布;分類的時候,利用貝葉斯定理計算后驗概率最大的輸出。

={c 1 ……c k }。輸入特征向量x和輸出類標記y分屬于這兩個集合。X是輸入空間上的隨機變量,Y是輸出空間上的隨機變量。P(X,Y)是X和Y的聯合概率分布,訓練數據集

由P(X,Y)獨立同分布產生。

樸素貝葉斯法通過T學習聯合概率分布P(X,Y)。具體來講,學習以下先驗概率:

以及條件概率分布:

于是根據聯合概率分布密度函數:

學習到聯合概率分布P(X,Y)。

的參數數量是指數級的,也就是X和Y的組合很多,假設x j 可能取值S j 個,Y可能取值有K個,那么參數的個數是

。特別地,取xj=S,那么參數個數為KS n ,當維數n很大的時候,就會發生維數災難。

一維空間中,把一個單位空間(退化為區間)以每個點距離不超過0.01采樣,需要10 2 個平均分布的采樣點,而在10維度空間中,需要10 20 個點才行。計算方式用Python描述如下:

可視化圖像:

這種指數級的復雜度增長被稱為維數災難。

無法計算了。

為了計算它,樸素貝葉斯法對它做了條件獨立性的假設:

也就是各個維度的特征在類確定的情況下都是獨立分布的。這一假設簡化了計算,也犧牲了一定的分類準確率。

基于此假設,以及 貝葉斯定理 ,后驗概率為:

拆開,等于上式分母。

將獨立性假設代入上式,得到

樸素貝葉斯分類器可以表示為:

也就是給定參數,找一個概率最大的c k 出來。注意到上式分母其實就是P(X=x),x給定了就固定了,跟c k 一點關系都沒有,所以分母可以去掉,得到:

選擇0-1損失函數:

f(X)就是分類器的決策函數,損失函數的參數其實是一個聯合分布。

此時期望風險函數為:

上面說過,這是一個聯合分布P(X,Y),是一個and(連乘)的形式,由此取條件期望為風險函數:

所謂條件期望,就是指X=x時,Y的期望。上式其實可以這么推回去:

E x ∑[L()]P(c k |X)=∑P(X)∑[L()]P(X,c k )/P(X)=∑[L()]P(X,c k )=E[L()]

格式比較亂,但愿意思到了。

為了最小化上式,只需對每個X=x執行最小化,那么加起來肯定是極小化的,由此有:

其實不用這么一堆公式,光靠感覺也很好理解,給了一些證據后,不挑后驗概率最大的,還能挑啥呢?

前面說過,樸素貝葉斯法要學習的東西就是P(Y=c k )和P(X=x|Y=c k ),這兩個概率的估計用極大似然估計法(簡單講,就是用樣本猜測模型參數,或者說使得似然函數最大的參數)進行:

也就是用樣本中c k 的出現次數除以樣本容量。

分子是樣本中變量組合的出現次數,分母是上面說過的樣本中c k 的出現次數。

于是就有樸素貝葉斯算法,先從訓練數據中計算先驗概率和條件概率,然后對于給定的實例計算最大的條件概率,輸出該條件對應的類別。形式化的描述如下:

例子

給定訓練數據:

這個太簡單了,利用(3)中的式子就行了。

貝葉斯估計

最大似然估計有個隱患,假設訓練數據中沒有出現某種參數和類別的組合怎么辦?此時估計的概率值為0,但是這不代表真實數據中就沒有這樣的組合。解決辦法是采用貝葉斯估計

1、條件概率的貝葉斯估計:

,S j 表示x j 可能取值的種數。分子和分母分別比最大似然估計多了一點東西,其意義是在隨機變量每個取值的頻數上加一個常量

。當此常量取0時,就是最大似然估計,當此常量取1時,稱為拉普拉斯平滑。

2、先驗概率的貝葉斯估計:

貝葉斯情感極性分析器

書中例題太簡單,不過癮。這里分析一個基于貝葉斯文本分類器實現的簡單情感極性分析器。

調用實例:

# - - coding:utf-8 - -

# Filename: Bayes.py

# Author:hankcs

# Date: 2015/2/6 22:25

from math import log, exp

輸出

(u'pos', 0.6666666666666665)

說明“好優秀”這句話具有正能量的概率是66%,雖然“好”這個詞語也存在于負極性的語句中,但是分類器還是準確地區分了它。

上面的貝葉斯分類器使用了拉布拉斯平滑處理策略,在進行條件概率的時候,不是連乘,而是取對數相加,最后逐差取指數,這個過程會發生歸一化,得出一個概率出來。

情感極性分析器主要參考了snownlp的實現。

python中log_inner啥意思

python中log_inner是log表示以e為底數的對數函數符號。

在數學運算中,如果沒有計算器,對于很大的數字相乘,我們花費大量的時間計算,而且一旦出錯,就要重新計算,很是麻煩。其實對于數字相乘,不依靠靠計算器,想要準確簡單的運算的方法不是沒有,那就是對數和指數,他們解決了大數或非常的小的數相乘的繁瑣計算。而在python中,也有計算對數的方法,那就是對數函數log函數。本文將向大家介紹log函數的表述語句、參數和返回值,并以實例演示用log函數計算對數的過程。log()函數:返回 x 的自然對數。即返回以 2 為基數的 x 的對數。

Python由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆 于1990 年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平臺上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨立的、大型項目的開發。Python解釋器易于擴展,可以使用C語言或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。Python 也可用于可定制化軟件中的擴展程序語言。Python豐富的標準庫,提供了適用于各個主要系統平臺的源碼或機器碼。

分享題目:關于python對數損失函數的信息
轉載源于:http://www.2m8n56k.cn/article0/dojiooo.html

成都網站建設公司_創新互聯,為您提供網站建設網頁設計公司標簽優化動態網站全網營銷推廣軟件開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 国产成年 | 宅男69免费永久网站 | 欧美日韩一级黄色片 | 在线看片a | 午夜宅男在线永远免费观看网 | 久草在线首页 | 国产a级特黄的片子视频免费 | 最近免费手机中文字幕3 | 亚洲国内精品自在线影视 | 日本wwwwwwwww | 国产精品资源手机在线播放 | 精品一区二区三区在线观看l | 日本免费在线观看视频 | 国亚洲欧美日韩精品 | 欧美91精品久久久久网免费 | 国产黄a三级三级三级 | 成人毛片视频免费网站观看 | 狠狠做久久深爱婷婷97动漫 | 69中国xxxxxxxx18 | 美女作爱网站 | 国产亚洲美女精品久久 | 欧美国产一区二区三区 | 日本噜噜影院 | 在线观看一二三区 | 久久精品国产只有精品6 | 精品国产一区二区三区久 | 在线观看欧美亚洲日本专区 | 色综合精品久久久久久久 | 女人被男人躁得好爽免费文 | 高清欧美性狂猛bbbbbbxxxx | 美女张开大腿让男人桶 | 亚洲欧美精选 | 欧美一级特黄特色大片免费 | 亚洲男人的天堂久久精品 | 美女亚洲综合 | 1769视频在线观看国产 | 日韩精品中文字幕一区三区 | 亚洲视频精品 | 亚洲国产一区在线二区三区 | 一级特黄aaa大片免费看 | 国产精品亚洲欧美 |