iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
自我挑戰組

Machine Learning With Me ,從零開始機器學習!系列 第 17

Day 17: 人工神經網路初探 損失函數(下)

損失函數 Loss function

Multiclass Classification Loss Function

  • Multiclass cross-entropy loss
    這是Multiclass Classification問題的預設損失函數,此函數優於其他函數。
    Cross-entropy計算了實數與預測第一類別機率分布的平均總和數,分數是被最小化的,且最好的值設定為零。
    何時使用: 當目標數值是在一個集合如{0,1,3,5,…,n},每個類別都被指派了特別的整數數值。

  • Sparse multiclass cross-entropy loss
    Sparse cross-entropy執行相同的誤差cross-entropy計算,無須在訓練之前將目標變數進行one-hot encoded。
    何時使用: 當你有大量的目標類別,像是預測字典的字。

  • Kullback-Leibler divergence (KLD) loss
    KLD衡量一種概率分布與基準分布有什麼不同。KL分散損失為0表示分佈相同。他能夠確定如果預測概率分佈被用於近似的期望目標概率分佈時,有多少資訊損失。
    何時使用: 使用於解決複雜的問題,像是學習廣度特徵的自動編碼器,假如他被使用於多元分類,運作會像是multiclass cross-entropy。

Regularization

假設有一個權重的其中一個特徵值大於其他所有特徵值時,這個特徵值會得到較高的權重且會明顯影響整個模型的預測。正則化(Regularization)便是一種控制個或多個較大值權重的方式。
正則化參數將會懲罰那些較大權重值,從而減少其對模組的影響。

Stochastic Gradient Descent

梯度下降法計算每個步驟每個輪迴的整體訓練範例的梯度,這是相當大的計算量,並且需要時間去收斂。
依照訓練集的大小,由於整個資料集都需要存在memory之中,這樣在單部電腦上運行可能會造成機器極大的負擔。並且這個處理過程無法進行平行運算。
而隨機梯度下降法(Stochastic Gradient Descent)解決了這個問題。SGD計算一個能容納於memory的小集合訓練集梯度。

  1. 隨機選擇輸入數據並消除差異。
  2. 計算隨機選擇的數據集梯度(可能是一項或一小集合)。
  3. 使用方法 weight = weight – alpha *delta來更新權重。

上一篇
Day 16: 人工神經網路初探 損失函數(上)
下一篇
Day 18: 人工神經網路初探 前饋神經網路
系列文
Machine Learning With Me ,從零開始機器學習!30

尚未有邦友留言

立即登入留言