日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【TensorFlow】常用的损失函数及其TensorFlow实现

發(fā)布時間:2024/7/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【TensorFlow】常用的损失函数及其TensorFlow实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 損失函數(shù)

定義:將隨機(jī)事件或其有關(guān)隨機(jī)變量的取值映射為非負(fù)實(shí)數(shù)以表示該隨機(jī)事件的“風(fēng)險”或“損失”的函數(shù)。
應(yīng)用:作為學(xué)習(xí)準(zhǔn)則與優(yōu)化問題相聯(lián)系,即通過最小化損失函數(shù)求解和評估模型。
分類:回歸問題、分類問題

2 回歸問題的損失函數(shù)

首先創(chuàng)建預(yù)測序列和目標(biāo)序列作為張量
預(yù)測序列是(-1,1)的等差數(shù)列,目標(biāo)值為0

sess = tf.Session() x_vals = tf.linspace(-1.,1.,500) target = tf.constant(0.)

2.1 L2正則損失函數(shù)

L=∑i=1n(targeti?f(xi))2(1)L=\sum_{i=1}^{n}(target_i-f(x_i))^2\tag{1}L=i=1n?(targeti??f(xi?))2(1)
L2正則損失函數(shù)又稱歐拉損失函數(shù),是預(yù)測值f(xi)f(x_i)f(xi?)與目標(biāo)值targetitarget_itargeti?差值的平方和。
L2正則損失函數(shù)是非常有用的損失函數(shù),因?yàn)樗谀繕?biāo)值附近有更好的曲度。
機(jī)器學(xué)習(xí)算法利用這點(diǎn)收斂,并且離目標(biāo)越近收斂越慢。

l2 = tf.square(target - vals)

2.2 L1正則損失函數(shù)

L=∑i=1n∣targeti?f(xi)∣(2)L=\sum_{i=1}^{n}|target_i-f(x_i)|\tag{2}L=i=1n?targeti??f(xi?)(2)
L1正則損失函數(shù)又稱絕對值損失函數(shù),區(qū)別是L2是對差值求絕對值。
L1正則損失函數(shù)在目標(biāo)值附近不平滑,不能很好地收斂。

l1 = tf.abs(target - vals)

2.3 Pseudo-Huber損失函數(shù)

Pseudo-Huber損失函數(shù)是Huber損失函數(shù)的連續(xù)、平滑估計(jì)。
它試圖利用L1和L2正則削減極值處的陡峭,使得目標(biāo)值附近連續(xù)。
這個函數(shù)在目標(biāo)附近是凸的,并且對數(shù)據(jù)中的游離點(diǎn)較不敏感。
具有上述的兩個損失函數(shù)的優(yōu)點(diǎn)。需要一個額外的參數(shù)delta決定曲線的斜率。
它的表達(dá)式依賴參數(shù)δ\deltaδ。后面會圖示δ1=0.25\delta_1=0.25δ1?=0.25δ2=5\delta_2=5δ2?=5的區(qū)別:

delta1 = tf.constant(0.25) ph_y_vals1 = tf.multiply(tf.square(delta1), tf.sqrt(1. +tf.square(target - x_vals)/delta1) - 1.) delta2 = tf.constant(5) ph_y_vals2 = tf.multiply(tf.square(delta1), tf.sqrt(1. +tf.square(target - x_vals)/delta1) - 1.)

3 分類問題的損失函數(shù)

3.1 Hinge損失函數(shù)

Hinge損失函數(shù)主要用來評估SVM算法,但有時也用來評估神經(jīng)網(wǎng)絡(luò)算法。
在本例中是計(jì)算兩個目標(biāo)類(-1,1)之間的損失。
下面的代碼中,使用目標(biāo)值1,所以預(yù)測值離1越近,損失函數(shù)值越小:

hinge_y_vals = tf.maximum(0.,1.-tf.multiply(target,x_vals)) hinge_y_out = sess.run(hinge_y_vals)

3.2 兩類交叉熵?fù)p失函數(shù)

兩類交叉熵?fù)p失函數(shù)又叫邏輯損失函數(shù)
當(dāng)預(yù)測兩類目標(biāo)0或者1時,希望度量預(yù)測值到真實(shí)分類值(0或者1)的距離,
這個距離經(jīng)常是0到1之間的實(shí)數(shù)。為了度量這個距離,可以使用信息論中的交叉熵

ce_y_vals = -tf.multiply(target, tf.log(x_vals)-tf.multiply((1.-target),tf.log(1.-x_vals))) ce_y_out = sess.run(ce_y_vals)

3.3 sigmoid交叉熵?fù)p失函數(shù)

sigmoid交叉熵?fù)p失函數(shù)與上一個損失函數(shù)非常類似,
不同的是,它先把x_vals值通過sigmoid函數(shù)轉(zhuǎn)換,再計(jì)算交叉熵?fù)p失

sigmoid_y_vals = tf.nn.sigmoid_cross_entropy_with_logits(logits=x_vals,labels=targets) sigmoid_y_out = sess.run(sigmoid_y_vals)

3.4 加權(quán)交叉熵?fù)p失函數(shù)

加權(quán)交叉熵?fù)p失函數(shù)是Sigmoid交叉熵?fù)p失函數(shù)的加權(quán),對正目標(biāo)加權(quán)。
下面的例子中將正目標(biāo)加權(quán)權(quán)重設(shè)為0.5

weight = tf.constant(0.5) ce_weighted_y_vals = tf.nn.weighted_cross_entropy_with_logits(x_vals, targets, weight) ce_weighted_y_out = sess.run(ce_weighted_y_vals)

3.5 Softmax交叉熵?fù)p失函數(shù)

Softmax交叉熵?fù)p失函數(shù)只針對單個目標(biāo)分類的計(jì)算損失。
通過softmax函數(shù)將輸出結(jié)果轉(zhuǎn)化成概率分布,然后計(jì)算真值概率分布的損失。

unscaled_logits = tf.constant([[1.,-3.,10.]]) target_dist = tf.constant([[0.1,0.02,0.88]]) softmax_xentropy = tf.nn.softmax_cross_entropy_with_logits(logits=unscaled_logits,labels=target_dist) print(sess.run(softmax_xentropy))

3.6 稀疏Softmax交叉熵?fù)p失函數(shù)

稀疏Softmax交叉熵?fù)p失函數(shù)和上一個損失函數(shù)類似
它把目標(biāo)分類為true的轉(zhuǎn)化成index
而Softmax交叉熵?fù)p失函數(shù)將目標(biāo)轉(zhuǎn)成概率分布

unscaled_logits = tf.constant([[1.,-3.,10.]]) sparse_target_dist = tf.constant([2]) sparse_xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=unscaled_logits,labels=sparse_target_dist) print(sess.run(sparse_xentropy))

4 matplotlib繪制損失函數(shù)

x_array = sess.run(x_vals) plt.plot(x_array,l2_y_out,'b-',label='L2 Loss') plt.plot(x_array,l1_y_out,'r--',label='L1 Loss') plt.plot(x_array,ph_y_out1,'k-.',label='PH Loss(0.25)') plt.plot(x_array,ph_y_out2,'g:',label='PH Loss(5.0)') plt.ylim(-0.2,0.4) plt.legend(loc='lower right', prop={'size':11}) plt.show()# 三、matplotlib繪制分類算法的損失函數(shù) plt.plot(x_array,hinge_y_out,'b-',label='Hinge Loss') plt.plot(x_array,ce_y_out,'r--',label='Cross Entropy Loss') plt.plot(x_array,sigmoid_y_out,'k-',label='Cross Entropy Sigmoid Loss') plt.plot(x_array,ce_weighted_y_out,'g:',label='Weighted Cross Entropy Loss(0.5)') plt.ylim(-1.5,3) plt.legend(loc='lower right',prop={'size':11}) plt.show()

4.1 回歸算法的損失函數(shù)圖像

4.2 分類算法的損失函數(shù)圖像

總結(jié)

以上是生活随笔為你收集整理的【TensorFlow】常用的损失函数及其TensorFlow实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产区av | 亚洲欧美一区二区三区情侣bbw | 欧美爽爽 | 少妇久久久久久被弄到高潮 | 日韩黄色在线视频 | 日韩一三区 | www.69pao.com| 欧美videossex极品 | 在线碰| 久久男| 91麻豆视频| 婷婷六月网 | 免费久久视频 | 熟女人妇 成熟妇女系列视频 | 国产亚洲视频在线 | 久久久久久一级片 | 四虎精品一区二区三区 | 69超碰| 丰满少妇av| 亚洲精品国产精品乱码不99 | 一本大道久久久久精品嫩草 | 欧美一级啪啪 | 陪读偷伦初尝小说 | 日韩精品一区二区三区不卡 | 浪漫樱花在线观看高清动漫 | 成人欧美一区二区三区小说 | 亚洲成av| 精品人妻伦九区久久aaa片 | 中文字幕一区二区三区人妻四季 | 天天爽夜夜春 | 国产精品久久久久久一区二区三区 | 黄色av免费| 日本美女日批视频 | 香蕉视频黄污 | 免费久久精品 | 超碰av男人的天堂 | 成人性生活免费视频 | 香蕉久久夜色精品国产使用方法 | 日韩中文一区二区三区 | 国产69精品久久久久久久 | 69亚洲 | 国产精品一区二区无码免费看片 | 久久久男女 | 激情视频亚洲 | 97久草| 丝袜调教91porn | 亚洲av鲁丝一区二区三区 | 国产福利视频一区 | 国产中文在线视频 | 蜜臀视频一区二区 | wwwxxx日本免费 | 天堂а√在线最新版中文在线 | 欧美成人看片黄a免费看 | 国产精品成人久久久久 | 国产色视频一区二区三区qq号 | 国产91精品一区 | 久久噜噜色综合一区二区 | 精品66| china国产乱xxxxx绿帽 | 办公室摸腿吻胸激情视频 | 亚洲中文字幕无码爆乳av | 国产一卡二卡在线播放 | 好吊色免费视频 | 久久精品视频国产 | 亚洲综合日韩精品欧美综合区 | 热@国产| 久久久久人妻一区 | 国产精品国产三级国产aⅴ中文 | 欧美理论在线观看 | 欧美性做爰大片免费 | 国产一级大片 | 午夜在线精品偷拍 | 极品美女无套呻吟啪啪 | 国产裸体舞一区二区三区 | 日本色站 | 91色视频在线观看 | 另类激情综合 | 色妞色视频一区二区三区四区 | 成人免费看片' | 人妻无码一区二区三区 | 成人xx视频| 亚洲一区欧美一区 | 偷偷操视频 | 久操福利 | 成人午夜看片 | 夜夜狠狠擅视频 | 亚洲青草视频 | 欧美成人片在线观看 | 中文字幕电影av | 青青青免费在线视频 | 秋霞一区二区三区 | 日本免费三级网站 | 天天操天天操天天操天天 | 久久久国产精品免费 | 亚洲社区在线 | 国产精品一区免费观看 | 欧美激情在线观看 | 亚洲乱码国产乱码精品 | www.中文字幕.com |