不管是老手媽媽還是新手媽媽都看這邊!我們都知道所有的產品裡,小朋友的商品應該是最難選的
小朋友長得又快,過了一個時期又瞬間抽高,怎麼選是一門很大的學問了,也可以避免買錯捶心肝~~
因為網路很發達,臉書又這麼普及媽咪買東西更是方便,尤其媽咪一定會到很多親子網站或是親子社團去了解產品的優缺點
不過看了這麼多網站真真假假的資料,【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127)是我在看到最多人推薦的好物
對於我這個精打細算的好媳婦好媽媽來說,真是太棒囉!
通常有在關注相關婦幼產品的媽媽,不用考慮了,這款是我花有夠多時間才彙整出來的好物,不怕比較的啦
很多媽咪也都大推這款產品,真的很值得入手!
到貨速度也很快,光這一點就大推了!
所以我個人對【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127)的評比如下
質感:★★★★
使用爽感:★★★★☆
性能價格:★★★★☆
趁現在宅經濟發酵,大家又很保護小朋友不隨意出門,網購就變成媽咪們在家的興趣了~
而且廠商優惠只在這個時候~~
不然被掃光了也只能怪自己速度不夠快~下次記得手刀加速啊!
詳細介紹如下~參考一下吧
完整產品說明
品牌名稱
尺寸
- 51cm~60cm
顏色
- 藍色
- 多色
版型
- 短袖
材質
- 棉布
商品規格
- 品牌: 美國
產地: 中國
材質: 100%純棉
非常推薦【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127)給大家
↓↓↓限量特惠的優惠按鈕↓↓↓
↓↓↓找不到適合的商品嗎,本月好物推薦一起來看吧↓↓↓
標籤註解:
PTT鄉民【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127)限量,團購,限時,週年慶,禮物,優惠,【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127)特價,開箱,比價,活動,好評,推薦
mobile01網友【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127)哪裡便宜,採購,優缺點,試用【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127),好用,CP值,經驗,好康,集購,下殺,免比價,去哪買?,
名人推薦【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127)介紹,部落客,排行,【美國 luvable friends】嬰幼兒包屁衣與長褲9入禮盒組_鯨魚(LF58127),體驗,精選,限定,折扣,折價卷,dcard推薦,直播主推薦,網紅推薦熱賣款
熱點新知搶先報
... 神經網絡是最著名且使用最廣泛的算法之一。在監督學習中,我們標記了輸出數據,我們將預測輸出與實際標籤進行比較,然後計算誤差。在神經網絡中,我們以同樣的方式定義神經網絡體系結構,通過比較實際標籤和預測標籤來計算誤差,然後使用某種優化算法來優化該誤差。訓練神經網絡最廣泛使用的算法是反向傳播和梯度下降。但是,我們可以使用任何優化算法來訓練我們的神經網絡模型。今天我們將看看如何在Python中使用Numpy用粒子群優化來訓練神經網絡模型。 神經網絡 導入Python庫 from sklearn.datasets import load_iris from pso_numpy import * import numpy as np 導入sklearn加載Iris flower機器學習數據集,pso_numpy使用PSO算法,numpy執行神經網絡的forward pass。 加載機器學習數據集 #load iris dataset.. data = load_iris() #Store input & target in X and Y.. X = data.data Y = data.target 從sklearn加載Iris數據集,並將輸入數據分配給X,將目標標籤分配給Y。 定義架構 #define no of nodes in each layer.. INPUT_NODES = 4 HIDDEN_NODES = 20 OUTPUT_NODES = 3 在神經網絡模型中定義輸入,隱藏和輸出節點數。 One-hot編碼 def one_hot_encode(Y): """ create one-hot encoded vectors from target labels(Y). :param Y: int(N, ) :return: int(N, C) Returns an array of shape(N, C) where C is number of classes. """ num_unique = len(np.unique(np.array(Y))) zeros = np.zeros((len(Y), num_unique)) zeros[range(len(Y)), Y] = 1 return zeros 如果我們要計算分類交叉熵損失,則使用One-hot編碼。將唯一的向量分配給每個目標標籤(類)。該函數將Y作為輸入,並為每個類返回One-hot編碼向量。 ... Softmax激活 def softmax(logits): """ Apply softmax function on logits and return probabilities. :param logits: double(N, C) Logits of each instance for each class. :return: double(N, C) probability for each class of each instance. """ exps = np.exp(logits) return exps / np.sum(exps, axis=1, keepdims=True) 使用Softmax函數從logits(不應用任何激活的最後一層的輸出)計算每個類的機率。 ... 損失函數 def Negative_Likelihood(probs, Y): """ Calculates Negative Log Likelihood loss. :param probs: double(N, C) Probability of each instance for each class. :param Y: int(N, ) Integer representation of each class. :return: double Returns value of loss calculated. """ num_samples = len(probs) corect_logprobs = -np.log(probs[range(num_samples), Y]) return np.sum(corect_logprobs) / num_samples def Cross_Entropy(probs, Y): """ Calculates Categorical Cross Entropy loss. :param probs: double(N, C) Probability of each instance for each class. :param Y: int(N, C) One-hot encoded representation of classes. :return: double Returns value of loss calculated. """ num_samples = len(probs) ind_loss = np.max(-1 * Y * np.log(probs + 1e-12), axis=1) return np.sum(ind_loss) / num_samples 我們可以根據輸入使用這兩個損失函數之一。如果我們不將目標標籤編碼為one hot向量,則使用負對數似然法,如果我們對標籤進行編碼,則使用分類交叉熵。這這裡probs是計算機率,Y是目標類的實際標籤。 Forward Pass def forward_pass(X, Y, W): """ Performs forward pass during Neural Net training. :param X: double(N, F) X is input where N is number of instances and F is number of features. :param Y: int(N, ) | int(N, C) Y is target where N is number of instances and C is number of classes in case of one-hot encoded target. :param W: double(N, ) Weights where N is number of total weights(flatten). :return: double Returns loss of forward pass. """ if isinstance(W, Particle): W = W.x w1 = W[0 : INPUT_NODES * HIDDEN_NODES].reshape((INPUT_NODES, HIDDEN_NODES)) b1 = W[INPUT_NODES * HIDDEN_NODES:(INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES].reshape((HIDDEN_NODES, )) w2 = W[(INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES:(INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES + (HIDDEN_NODES * OUTPUT_NODES)].reshape((HIDDEN_NODES, OUTPUT_NODES)) b2 = W[(INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES + (HIDDEN_NODES * OUTPUT_NODES): (INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES + (HIDDEN_NODES * OUTPUT_NODES) + OUTPUT_NODES].reshape((OUTPUT_NODES, )) z1 = np.dot(X, w1) + b1 a1 = np.tanh(z1) z2 = np.dot(a1, w2) + b2 logits = z2 probs = softmax(logits) return Negative_Likelihood(probs, Y) #return Cross_Entropy(probs, Y) #used in case of one-hot vector target Y... 該函數執行神經網絡的forward pass,使用預測標籤和實際標籤計算誤差,然後將該誤差返回給PSO,PSO會優化誤差並更新權重。它需要神經網絡層中神經元之間的連接的X(輸入數據),Y(目標標籤)和W(權重)。 預測 def predict(X, W): """ Performs forward pass during Neural Net test. :param X: double(N, F) X is input where N is number of instances and F is number of features. :param W: double(N, ) Weights where N is number of total weights(flatten). :return: int(N, ) Returns predicted classes. """ w1 = W[0: INPUT_NODES * HIDDEN_NODES].reshape((INPUT_NODES, HIDDEN_NODES)) b1 = W[INPUT_NODES * HIDDEN_NODES:(INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES].reshape((HIDDEN_NODES,)) w2 = W[(INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES:(INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES + (HIDDEN_NODES * OUTPUT_NODES)].reshape((HIDDEN_NODES, OUTPUT_NODES)) b2 = W[(INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES + (HIDDEN_NODES * OUTPUT_NODES): (INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES + (HIDDEN_NODES * OUTPUT_NODES) + OUTPUT_NODES].reshape((OUTPUT_NODES,)) z1 = np.dot(X, w1) + b1 a1 = np.tanh(z1) z2 = np.dot(a1, w2) + b2 logits = z2 probs = softmax(logits) Y_pred = np.argmax(probs, axis=1) return Y_pred 需要X(輸入)和W(在PSO訓練完成後的訓練權重)。 準確性 def get_accuracy(Y, Y_pred): """ Calcualtes accuracy. :param Y: int(N, ) Correct labels. :param Y_pred: int(N, ) | double(N, C) Predicted labels of shape(N, ) or (N, C) in case of one-hot vector. :return: double Accuracy. """ return (Y == Y_pred).mean() #return (np.argmax(Y, axis=1) == Y_pred).mean() #used in case of one-hot vector and loss is Negative Likelihood. 使用實際標籤和預測標籤作為輸入來計算測試數據的準確性。它使用Y(實際標籤)和Y_pred(預測標籤),然後計算真實預測的數量,然後取其平均值。 運行 if __name__ == '__main__': no_solution = 100 no_dim = (INPUT_NODES * HIDDEN_NODES) + HIDDEN_NODES + (HIDDEN_NODES * OUTPUT_NODES) + OUTPUT_NODES w_range = (0.0, 1.0) lr_range = (0.0, 1.0) iw_range = (0.9, 0.9) # iw -> inertial weight... c = (0.5, 0.3) # c[0] -> cognitive factor, c[1] -> social factor... s = Swarm(no_solution, no_dim, w_range, lr_range, iw_range, c) #Y = one_hot_encode(Y) #Encode here... s.optimize(forward_pass, X, Y, 100, 1000) W = s.get_best_solution() Y_pred = predict(X, W) accuracy = get_accuracy(Y, Y_pred) print("Accuracy: %.3f"% accuracy) 這裡我們只定義了no_solution(PSO中的粒子數),no_dim(PSO中每個粒子的維數),w_range(權重範圍),lr_range(學習速率範圍),iw_range(慣性權重範圍)和一個元組c作為cognitive和social參數。然後初始化Swarm並使用forward_pass(orward pass函數)、X(輸入)、Y(標籤)、print_step(要查看損失的疊代次數)和疊代次數調用優化函數。優化後,調用方法get_best_solution()與Swarm對象一起獲得最佳的一對權重。然後傳遞該對權重以預測並獲得輸出,最後計算模型的準確性。 結果 ... 正如你所看到的,對於訓練集來說,結果很不錯。如果PSO的參數值被正確分配和訓練了足夠多的疊代次數,它也可以為其他應用提供良好的結果。 粒子群優化 現在,我們已經完成有關神經網絡的討論,讓我們討論粒子群優化。 粒子 import numpy as np #This is a PSO(interia weight) variation... class Particle: """ Particle class represents a solution inside a pool(Swarm). """ def __init__(self, no_dim, x_range, v_range): """ Particle class constructor :param no_dim: int No of dimensions. :param x_range: tuple(double) Min and Max value(range) of dimension. :param v_range: tuple(double) Min and Max value(range) of velocity. """ self.x = np.random.uniform(x_range[0], x_range[1], (no_dim, )) #particle position in each dimension... self.v = np.random.uniform(v_range[0], v_range[1], (no_dim, )) #particle velocity in each dimension... self.pbest = np.inf self.pbestpos = np.zeros((no_dim, )) 創建Particle類,該構造函數接受no_dim(維數)、x_range(搜索空間範圍)、v_range(每個維數的速度範圍)的輸入。 群 class Swarm: """ Swarm class represents a pool of solution(particle). """ def __init__(self, no_particle, no_dim, x_range, v_range, iw_range, c): """ Swarm class constructor. :param no_particle: int No of particles(solutions). :param no_dim: int No of dimensions. :param x_range: tuple(double) Min and Max value(range) of dimension. :param v_range: tuple(double) Min and Max value(range) of velocity. :param iw_range: tuple(double) Min and Max value(range) of interia weight. :param c: tuple(double) c[0] -> cognitive parameter, c[1] -> social parameter. """ self.p = np.array([Particle(no_dim, x_range, v_range) for i in range(no_particle)]) self.gbest = np.inf self.gbestpos = np.zeros((no_dim, )) self.x_range = x_range self.v_range = v_range self.iw_range = iw_range self.c0 = c[0] self.c1 = c[1] self.no_dim = no_dim 創建Swarm類,並將參數傳遞給其構造函數,no_particle(粒子數,其中每個粒子是一對權重的獨立解),no_dim(維數,其中維度是指神經網絡模型的單個權重或偏差) ,x_range(搜索空間範圍或以神經網絡為單位的權重範圍),v_range(每個維度的速度或每個權重參數的學習率),iw_range(慣性權重範圍)和c是cognitive和social因子對。 優化 def optimize(self, function, X, Y, print_step, iter): """ optimize is used start optimization. :param function: function Function to be optimized. :param X: input Used in forward pass. :param Y: target Used to calculate loss. :param print_step: int Print pause between two adjacent prints. :param iter: int No of iterations. """ for i in range(iter): for particle in self.p: fitness = function(X, Y, particle.x) if fitness < particle.pbest: particle.pbest = fitness particle.pbestpos = particle.x.copy() if fitness < self.gbest: self.gbest = fitness self.gbestpos = particle.x.copy() for particle in self.p: #Here iw is inertia weight... iw = np.random.uniform(self.iw_range[0], self.iw_range[1], 1)[0] particle.v = iw * particle.v + (self.c0 * np.random.uniform(0.0, 1.0, (self.no_dim, )) * (particle.pbestpos - particle.x)) + (self.c1 * np.random.uniform(0.0, 1.0, (self.no_dim, )) * (self.gbestpos - particle.x)) #particle.v = particle.v.clip(min=self.v_range[0], max=self.v_range[1]) particle.x = particle.x + particle.v #particle.x = particle.x.clip(min=self.x_range[0], max=self.x_range[1]) if i % print_step == 0: print('iteration#: ', i+1, ' loss: ', fitness) print("global best loss: ", self.gbest) 該optimize函數接受函數(由forward pass計算損失),X(輸入),ÿ(標籤),print_step(print step to log loss),ITER(疊代數或訓練模型的epochs數)。在每個epoch,它將通過X、W和Y來進行函數運算並計算更新粒子的損失。 最優解 def get_best_solution(self): ''' :return: array of parameters/weights. ''' return self.gbestpos 通過對函數進行優化,得到最優解。
↓↓↓限量特惠的優惠按鈕↓↓↓
↓↓↓更多嬰幼兒產品一起來看吧↓↓↓
WWW456TTVVV45TYGQ
文章來源取自於:
每日頭條 https://kknews.cc/code/r64vbyn.html
MOMO購物網 https://www.momoshop.com.tw/goods/GoodsDetail.jsp?i_code=4626733&memid=6000007380&cid=apuad&oid=1&osm=league
如有侵權,請來信告知,我們會立刻下架。
DMCA:dmca(at)kubonews.com
聯絡我們:contact(at)kubonews.com
【還在考慮入手嗎,沒關係,開箱文在這】【玉山pi卡刷卡優惠】【momo富邦卡有折扣】
【momo熱銷榜上有名】 【momo週年慶特價】 【米蘭精品】女假髮整頂假髮短假髮(流行成熟中老年蓬鬆美髮用品流行穿搭配件2色73em4)【Dcard網友推薦開箱】 【momo特惠價產品】 【Nuby】嬰兒洗衣精組合包_1罐2包(3500ml)【還在考慮入手嗎,沒關係,開箱文在這】 【史上最強開箱文在這】 【Disney 迪士尼】維尼音樂益智盒(迪士尼 幼兒)(1)【產品即將出清】 【momo購物節這款有優惠】 【蓓朵娜】粉鑽瓶 HD智慧光感粉底乳霜2入組(女人我最大節目推薦)(1)【使用後的心得大家都說不錯】 【momo特惠價產品】 【HUGO BOSS】自信極致男性淡香精(50ml)
留言列表