北歐四國旅遊局加大中國平台用戶推廣

  丹麥國家旅遊局、芬蘭國家旅遊局、挪威國家旅遊局、瑞典國家旅遊局與小紅書合作開啟的線上用戶活動於日前結束。活動期間,北歐四國旅遊局通過與小紅書社區用戶開展話題互動的方式鼓勵博主分享北歐旅遊靈感和美好嚮往,成功吸引到了平台用戶的廣泛關注,話題閱讀量達513萬,並收穫了大量個性化、高品質的內容。

  小紅書是目前中國深受年輕人喜愛的生活方式分享社區平台,截至2019年7月,小紅書的註冊用戶已達3億,其中80%為女性用戶,70%為90后,每日社區筆記曝光次數超過30億次。

  本次活動中,北歐四國旅遊局均在小紅書平台建立了官方賬號,為平台用戶推薦打卡榜單,並從自然、美食、生活方式三個方面切入,將目的地與內容有溫度地結合,開展了多維度的內容傳播。

  童話王國丹麥此次不僅推出了打卡童心童趣的安徒生之旅,還推薦了解讀別緻的設計和品嘗當地的特色美食之旅。

  千湖之國芬蘭有着廣袤蒼翠的森林,豐饒而輕盈的波羅的海島嶼,靜謐的拉普蘭荒原以及18.8萬個澄藍的湖泊。芬蘭旅遊局在小紅書平台上推薦了從赫爾辛基一路向拉普蘭前行這一可深入感受芬蘭人生活的旅行線路。

  作為世界上擁有最綿長海岸線的國家之一,挪威的峽灣、冰川和山峰,無一不蘊含着偉大的原始力量。此次挪威在小紅書上將其群島與海灣、北極光和冬日美景一一展現給平台用戶,鼓勵遊客前來親身體驗。

  瑞典是北歐地區領土面積最大的國家,這裏純凈怡人的自然風光與風格獨特的時尚都市完美契合,吸引着全世界的旅行者。瑞典首都斯德哥爾摩、終年不凍港哥德堡、現代水晶藝術王國斯莫蘭省、濃郁北歐田園風情的斯科納省、擁有冰酒店的拉普蘭,都是此次活動中瑞典重點推薦之地。

本站聲明:網站內容來源再生能源資訊網http://toptour.cn/,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

桃園機場租車可以要求甲租乙還服務?

※2020人氣涮嘴零食【牛軋糖】票選為最佳送禮熱賣商品

※省錢度蜜月!想知道哪裡可以找到最優惠的桃園婚紗工作室呢?

台東人氣名產台東人氣伴手禮,熱門獨家商品,現貨供應中

※“上班這黨事”節目推薦牛軋糖,辦公涮嘴零食NO.1

馬耳他在京發布3條主題旅遊線路

  近日,“馬耳他 精彩遠不止於此”——馬耳他旅遊資源研討會在京舉行。會上,馬耳他旅遊局與眾信旅遊、螞蜂窩、廣之旅和錦江旅遊等4家中國旅遊企業簽訂了戰略合作協議,併發布了3條主題鮮明的官方推薦旅遊線路。

  馬耳他是位於地中海中心的海島國家,氣候溫和,陽光充沛,素有歐洲后花園的美譽、“地中海之心”之稱。主島馬耳他島和第二大島戈佐島是馬耳他當地人的主要居住地,文化遺產資源豐富。較小的科米諾島是享受日光浴和潜水探險的絕佳之地。因為擁有得天獨厚的溫和氣候和碧海藍天,馬耳他是一年四季皆宜的度假勝地,每年吸引遊客超百萬人次。

  隨着近年來中國旅遊市場的強勁增長,馬耳他旅遊局將中國市場作為開發的重點。馬耳他旅遊局副總裁兼首席營銷官卡羅·米卡勒夫表示,“我們非常重視中國市場,希望通過與中國旅遊企業合作推廣的方式,擴大馬耳他主題產品在中國旅遊行業內的關注,提升旅遊同業研發馬耳他產品的熱情,更好地向中國遊客介紹馬耳他的旅遊資源,推廣馬耳他豐富多彩的歷史文化、自然風光及特色旅遊項目,打造馬耳他群島中高端歐洲海島目的地的形象。”

  此次研討會上發布的3條官方推薦主題旅遊線路——藍調地中海、慢調地中海和蜜調地中海,把深度旅遊體驗方式介紹給了中國遊客。對於首次到訪馬耳他的遊客,藍調地中海線路既能感受馬耳他得天獨厚的溫和氣候及碧海藍天,又能觸摸其悠久的文化、輝煌的藝術和自然寶藏。慢調地中海線路不僅包含文化探索、藝術欣賞、自然體驗等,還包含深度地中海烹飪課程、遊艇出海、深海潜水、騎士團復古晚宴等獨具特色的項目,展現了馬耳他的“小而美”特徵。蜜調地中海則是為新婚及戀人貼身打造的蜜月主題線路。

  今後,馬耳他旅遊局還將與中國的旅業夥伴攜手加強旅遊領域的各項合作,通過研討會、培訓、考察、新媒體線上與線下整合營銷等多種形式在中國開展市場活動。

本站聲明:網站內容來源再生能源資訊網http://toptour.cn/,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

※想知道真正好吃不黏牙的牛軋糖在哪嗎?

※全國票選五大台東必買台東伴手禮最佳商品哪裡買的到?

※專業婚禮錄影團隊,用鏡頭記錄人生中值得紀念的一刻!

※婚禮大小事,新人分享高CP值桃園婚紗

※2020票選台東必買 最佳節慶送禮、年節伴手禮,釋迦禮盒,小農禮盒深受國人的青睞!

桃園機場接送24小時待命,專業推薦!

兩名中國公民在印尼潜水失蹤

  中國駐印度尼西亞大使館4日通報,兩名中國公民日前在印尼萬丹省附近海域潜水時失蹤。

  中國駐印尼大使館4日在官方網站上說,使館3日晚接到中國公民求助電話,稱有3名中國公民在印尼萬丹省桑吉昂島附近潜水時失蹤,后經核實,實為2名中國公民和1名新加坡公民。

  中國大使館說,使館在獲悉后高度重視,立即啟動應急機制,第一時間派員前往萬丹搜救中心了解搜救情況,敦促印尼方加大搜尋力度。截至目前,尚未搜尋到3名失蹤人員。

  中國大使館說,印尼是群島國家,潜水資源豐富。中國駐印尼使館再次提醒在印尼中國公民,潜水等涉水項目存在一定風險,對身體素質也有一定要求。參加潜水等項目,應選擇有資質的旅遊服務機構提供的旅遊產品,租用有資質的出海船隻,密切關注當地地形地貌、天氣和水文情況並作正確評估。

  中國大使館提醒中國公民密切關注印尼政府、中國大使館網站及微信公眾號等正規渠道發布的相關預警信息和提醒,謹慎安排行程,注意自身安全。

本站聲明:網站內容來源再生能源資訊網http://toptour.cn/,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

※濃郁的奶香牛軋糖-最好吃的伴手禮,送禮要送進心崁裡!

台北工作服哪裡買,知名企業指定客製服裝

※婚禮籌備好崩潰!該找婚攝還是婚錄?新人必備教戰守則

台北polo衫可少量製作 打造獨一無二專屬企業品牌標識

※住宿攻略懶人包,精選平價舒適一中街住宿,一中街民宿出遊的休息好去處!

春季鬧衣荒不知道怎麼穿搭?

春季鬧衣荒不知道怎麼穿搭?

闊太連衣裙少不了真絲的材質,真絲本身蘊含一種貴氣,棉、麻已不足以表達你的氣質,當你穿出門的時候,也能為你hold住場面。同時非常符合670后女人的氣質,簡約大方的款式設計,優雅又有女人味,輕鬆穿出隨意,搭配起來省事又省心

 

 

這件雅緻的旗袍就如一幅淡淡的水墨畫。柔軟的蠶絲熨帖着每一寸皮膚,極簡的配色平添一份閑雲野鶴般的淡然,一個不經意,便於林立的民居間,邂逅了婉約溫柔的江南水鄉風情。藝術氣息濃厚的優雅外表充斥着一種永不過時的時尚感。一字扣的款式經典而懷舊,似乎讓人回到了那個旗袍誕生的年代。精心裁剪的版型不挑身材~

 

 

下裝的長度也會影響高矮,所以小個子女生要學會控制下裝的長度比例,設置兩個“警戒線”。一是膝蓋上方,一般裙子盡量控制在這個長度,剛剛露出膝蓋骨,這會在視覺上拉長比例,讓整個看起來更顯高挑。第二條警戒線是腳踝上方,一般穿長褲或是長裙,建議控制到這個位置,露出最纖細的腳踝,不光可以顯腿長,還會有顯瘦的效果哦

本站聲明:網站內容來源於江西熱線http://www.online.jx.cn,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

專車接送服務省時省力還可以預約喔!

台東名產,台東美食吃透透,網購票選人氣NO.1商品,快速滿足您的味蕾!

※待嫁娘分享桃園婚紗工作室推薦精選攝影作品

※過年送禮好選擇【牛軋糖】,連外國人都驚豔

桃園機場接送24小時待命,專業推薦!

引領“頂上”時尚,頭髮的N種想象

引領“頂上”時尚,頭髮的N種想象 

俗話說,髮型選不對,顏值再高都白廢!衣服換季,髮型也要跟上速度才夠時髦。如今,假髮不僅是脫髮人士的“剛需”,而已成為配飾中的時髦單品。一頂假髮,可以讓你隨時隨地隨心而變,“從頭開始”實現百分百好感造型。       作為站在潮流尖端的“風尚人物”,明星中沉迷假髮的人不在少數。楊冪就是其中之一。無論是紅色綠色,還是“媽媽卷”“波波頭”,楊冪都玩得不亦樂乎。         吳昕有很多令人印象深刻的短髮造型都是依靠假髮完成的,這款飽滿豐盈的髮型便是其中之一。蓬鬆靈動的髮絲微微翻翹,彰顯了浪漫唯美的法式風情。發尾也可以修剪為碎發,營造多重風格。         如果你的印象中,假髮還是用整個頭套“罩”在頭上那真的就Out了!假髮不僅擅長打造短髮造型,馬尾也同樣可以很精彩。吳昕的這組時尚雜誌大片就是利用彩色發片配搭出嬌俏的馬尾,展現出時尚態度。           戚薇不僅自己熱愛用假髮打造不同造型,還在微博發布了小視頻,“親身上陣”教粉絲如何利用一頂假髮來打造“狗啃式”劉海。           再看范冰冰最經典的戛納紅毯造型之一——“花仙子”。為了貼合造型,范冰冰使用了“劉海發塊”,運用編髮的手法使真發與假髮劉海完美融合,清涼感十足。         假髮能夠達到風格百變的效果,當范冰冰接上蓬鬆的捲髮和灰色的漸變馬尾時,瞬間氣場十足。假髮還增添了層次感,漸變的高馬尾也使整個髮型看起來很有衝擊力,更加炫酷。         此前,吳謹言以“丸子頭”造型登上越南版《時尚先生》封面,這款精心打造的丸子頭飽滿而豐盈,格外搶鏡,鬢角隨性的碎發更表現出她自然本真的獨特氣質。         明星登台演出更離不開假髮。此前,許晴頂着一頭特製的假髮,在賴聲川話劇《如夢之夢》中驚艷亮相。她飾演的顧香蘭,穿上旗袍身姿曼妙,一顰一笑都抓人眼球。風情萬種的造型給她的表演大大加分。       不僅女明星需要假髮來裝扮造型,很多“小鮮肉”登台也離不開假髮“幫忙”。今年春晚上,易烊千璽的髮型就被眼尖的觀眾認出是戴了假髮套。“四字弟弟”假髮造型的話題還在春節期間登上了微博熱搜。工作室也大方承認:“會接頭髮的Tony返鄉過年了,今天上班的是會戴發套的Tony。”     無論是復古“BOB頭”,性感“鎖骨發”,還是瀟洒“黑長直”,假髮都可以助你輕鬆完成想要的造型。假髮發塊可以用來打造頭頂的飽滿豐盈感,改變扁塌現狀。簡單打理就可以營造出的蓬鬆感,增添了慵懶的氣質,搭配空氣劉海,美得很自然。   如果你不需要“頂上遮瑕”,只想換種髮型,也可以從基礎款假髮發套入手,比如偏分發套,微卷的弧度帶來自然柔順的效果,長度適中,對臉型沒有過多限制,適合大多數女生。

本站聲明:網站內容來源於江西熱線http://www.online.jx.cn,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

桃園機場租車可以要求甲租乙還服務?

※2020人氣涮嘴零食【牛軋糖】票選為最佳送禮熱賣商品

※省錢度蜜月!想知道哪裡可以找到最優惠的桃園婚紗工作室呢?

台東人氣名產台東人氣伴手禮,熱門獨家商品,現貨供應中

※“上班這黨事”節目推薦牛軋糖,辦公涮嘴零食NO.1

炒房沒戲了,有錢花在時尚裝修

炒房沒戲了,有錢花在時尚裝修

 

  時尚的問題就是涉及到了方方面面的關鍵一點,就在於自己的生活周邊而言,到底是有什麼樣的影響呢?在如今可以看得出來創房客已經是沒有戲了,根本就是沒有辦法能夠去通過炒房子賺錢了。那麼現在人們就是考慮到有錢的時候的話直接就是花在裝修上面就好了,能夠把自己的房子裝修得更加時尚一點,不管是自己住還是賣出去的時候可能都是好的。可以看到現在就是這樣的,一個裝修問題上面都是非常好的。有可能就是在這樣的選擇上面能夠去真正了解到了之後的話,也會變得更加容易能夠去接受這些改變方式的,也是應該去認真面對了。

 

  其實在現在在這個房子裏面,如果裝了更加時尚的時候,就是可以看到這些智能家居也是非常多的,能夠讓人們的生活變得更加智能化之後的話,也是非常幸福的一件事情。雖然說房子大小是一樣的,基本上裏面的設施也都是差不多的,但是如果要說這些傢具上面發生變化之後,裝修風格上面發生變化之後,用的這些個材料上面發出來不一樣之後的話,就是有可能會跟得上時尚的。再加上現如今這些科技產品都是比較多的,基本上就是材料上面也是能夠去發生轉變的。

 

  只要這些事情都是實現了之後,就是會讓整個房子當中的生活問題能夠去解決的更加好一點,更加時尚化了之後的話就是會變得更加完美了的。其實也就是可以考慮一下,對於現如今每一個人能夠取得的感受到這些不一樣的之後的話,也會變得更加容易能夠去接受的,也就是應該去很好的面對這些選擇的時候就對了的。對於這件事情而言,就是應該去認真考慮到,或者是說能夠去真正懂得對於現在炒房的問題而言的話,一定要去注意到,自己不要去做,那麼在裝修房子上面的話呢,就是盡量能夠去做得更加時尚一點的時候,也就是符合年輕人的風格了的。

本站聲明:網站內容來源於江西熱線http://www.online.jx.cn,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

※想知道真正好吃不黏牙的牛軋糖在哪嗎?

※全國票選五大台東必買台東伴手禮最佳商品哪裡買的到?

※專業婚禮錄影團隊,用鏡頭記錄人生中值得紀念的一刻!

※婚禮大小事,新人分享高CP值桃園婚紗

※2020票選台東必買 最佳節慶送禮、年節伴手禮,釋迦禮盒,小農禮盒深受國人的青睞!

桃園機場接送24小時待命,專業推薦!

外旅遊黃金期已經到了,你出發了嗎?

  “故人西辭黃鶴樓,煙花三月下揚州。”這首詩不但表達了作者對友人的那種思念與不舍之情,同時也表述了揚州的三月是最美的時節。的確,因為地域的不同,隨着時節的變化景色也大有不同,加上節假日等社會人為因素,也會對旅行造成了一定的影響,所以每個遊玩的景點都有它自己的黃金期。泰國也是一樣的,每年的十一月到二月便是普吉島的黃金期!

  為什麼說這個時節是它的黃金期呢!首先這個時間不是國人的出遊時間,在這段時間內只有春節一個長假,沒有其他的黃金假期。而春節所有的國人都會回老家過年,人群是向內流動的。也就導致了在外出遊的國人數量大大減少。這就意味着你的出行沒有擁擠,會非常順暢,而且機票會非常非常的便宜。為你節省下一大筆支出,提高你出遊的質量。

  雖然說出遊的國人數量減少了,但不代表在外的國人就少了。我國地大物博,人口眾多,可以說是遍布了世界每個角落。而這個季節是我國的冬季,除了天氣寒冷之外,還是一些農業工人休息的時間,同時身處這個時代的國人思想也比較開放。所以在普吉度假,過冬,甚至在這過年的人也都不少。無論是在海灘與商場都會經常看到國人出沒,這不但大大的減少了對異國他鄉的陌生感,還會減輕心理上的壓力!

  每年的二月開始才是普吉島的熱季,所以這個時節還是處於涼季的。走在街上十分的舒適,特別是雨後,那種濕潤的雨滴小顆粒,所隨着微風瀰漫在空氣中,不但呼吸特別清爽透徹,就連皮膚也好像正在享受煥然一新的感覺。而你大可不必擔心下雨的問題,這邊的雨都是很急,下的很快走得也很快。可能你在一個店裡還沒有問完價格,雨就已經下完了,當你決定購買后剛付過錢,可能第二場雨也結束了。當然這個比喻有一點小誇張,不過確實很快。那種持續性的陰雨,是極為少見的!

  這些因素無一不決定着普吉島的黃金期。黃金期最重要的一點還是要好玩。這不僅僅是國人休養的時期,還是歐美一些國家的度假時間。恰巧這個時間有一個很大的節日,聖誕節。由於歐美人比較多,而他們又很重視這個節日,所以到了聖誕節,會更加的熱鬧。泰國本土的氣氛和歐美的文化相結合,又國際又有趣。怎麼樣,是不是動心了,你決定好什麼時間出發了嗎?現在準備還來得及哦!

本站聲明:網站內容來源再生能源資訊網http://toptour.cn/,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

※濃郁的奶香牛軋糖-最好吃的伴手禮,送禮要送進心崁裡!

台北工作服哪裡買,知名企業指定客製服裝

※婚禮籌備好崩潰!該找婚攝還是婚錄?新人必備教戰守則

台北polo衫可少量製作 打造獨一無二專屬企業品牌標識

※住宿攻略懶人包,精選平價舒適一中街住宿,一中街民宿出遊的休息好去處!

時尚街拍,展現女性優雅姿態

時尚街拍,展現女性優雅姿態

小姐姐美麗穿搭秀出無法抗拒的美,穿搭很好看,展現出了一種相當愜意瀟洒還帶着幾分很自信的美,看了這位美女的街拍時尚照片后,說心裡話我真的是很喜歡

這位美女時尚又端莊,穿搭很優雅,百搭又不乏時尚感,看了小姐姐的照片后,我不得不佩服她的穿搭風格,

姑娘你的身材為什麼這麼好,穿的衣服時尚新潮,看上去不僅僅個性而且還展現出了一種街頭女神的美,每個人選擇的搭配方式,都會有所不同,但是她卻穿出了經典

這位有着淺淺微笑的美女,穿衣打扮盡顯尊貴,顯得清爽舒適的美感,她的穿搭風格好像是國際范,畢竟人靠衣服才能更漂亮

一個優秀的女人無論在什麼場合下,想必都能夠把握好自己的狀態,因為她們會對自己的一切細節都一絲不苟,她們會讓自己的形象保持在端莊大方的水平。,如果你覺得小編寫得還不錯,還請留言告訴小編哦

本站聲明:網站內容來源於江西熱線http://www.online.jx.cn,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

※信用卡的機場接送服務好嗎?

台北桃園機場接送,網友超推,CP值超高,安全,寬敞又舒適

※想知道台東名產人氣商品是什麼?想知道更多台東知名伴手禮有哪些?

※評選台東伴手禮推薦商品「釋迦 」是台東必買伴手禮之一

※離島好好玩!小琉球必吃美食、必玩景點、最優惠的小琉球民宿套裝行程詳細攻略!

※濃郁的奶香牛軋糖-最好吃的伴手禮,送禮要送進心崁裡!

※找尋專業廣告設計,價格公道大圖輸出,背板品質佳

世界旅遊交易會“丹寨”成網紅

  11月4日, 2019倫敦世界旅遊交易會(WTM London)正式在英國開幕,丹寨萬達小鎮代表中國貴州參加了本次會議,並獲邀在中國展區啟動儀式上開展推介。憑藉秀麗的山水風景和多彩的民族文化,丹寨萬達小鎮在本次大會上甫一亮相就成為大會的一個焦點。

  倫敦世界旅遊交易會是全球最重要的旅遊行業展會之一,至今已有40年歷史。

  作為本次大會中國國家展區推介活動的重要環節之一,丹寨萬達小鎮代表中國貴州和丹寨向全球旅遊從業者推介了丹寨縣各項旅遊資源、非遺傳統文化和輪值鎮長項目。在丹寨現場搭建的展區裡,與會者還可以現場體驗來自中國的古法造紙、蠟染等丹寨非遺項目。

  藉助中國貴州於近日登上《孤獨星球》2020全球十大最佳旅行地區榜的契機,丹寨萬達小鎮在現場的推介活動吸引了大量國際與會人士的關注。

  中國駐英大使劉曉明出席了當天的中國展區啟動儀式併發言。劉曉明說,旅遊業為改善人們生活提供了強大的動力,旅遊業可以有效的促進經濟增長,增加就業。通過發展旅遊業來改善貧困在全球減貧的進程中扮演了重要角色。以中國為例,新中國成立70年來,已經有超過7億人口脫離貧困,在中國展區大家就可以看到一些通過旅遊減貧的典型案例。

  劉曉明在演講結束之後參觀了中國區展位,丹寨萬達小鎮代表向他介紹了貴州登上《孤獨星球》2020全球十大最佳旅行地區榜的情況,劉曉明還與丹寨萬達小鎮第78任輪值鎮長梅根·伊芙斯(Megan Eaves)進行了交流。

  《孤獨星球》還派代表於當天專程來到丹寨發布會,向中國貴州及丹寨頒發了《孤獨星球》上榜紀念證書。

  《孤獨星球》是一本針對全球背包客撰寫的旅行系列叢書,在200個國家和地區銷售,年銷售量達700萬冊,約佔全球英文旅行指南銷售量的四分之一。到2010年,《孤獨星球》累計銷售突破1億冊,是全球背包客和自助遊者海外行必備指南,被國際遊客稱作“旅行聖經”。10月22日,《孤獨星球》在倫敦發布2020年世界最佳旅行目的地,貴州成為中國境內唯一躋身10大世界最佳旅行地區榜單的地區,丹寨萬達小鎮被當做貴州省主要旅遊目的地重點推薦。

  2019倫敦世界旅遊交易會官員拉傑·多赫爾(Raj Dohel)也專程趕到丹寨推介會現場祝賀並致辭。他說,丹寨萬達小鎮項目是一個非常具有創新性的應對貧困的辦法,這個項目取得的數據已經非常有力的證明了它的效果,丹寨應該為自己取得的成績感到驕傲。

  在活動現場,曾擔任過丹寨萬達小鎮第78任輪值鎮長的梅根·伊芙斯向全球參會者和媒體推介了丹寨非物質文化遺產、丹寨著名景點,並在WTM推介會現場宣布丹寨萬達小鎮在全球進行輪值鎮長招募。

  此舉受到現場人士的追捧,許多外國參會者當場就來到“雲上丹寨“展位填寫並投遞輪值鎮長申請表,他們希望可以通過輪值鎮長項目幫助更多丹寨民眾。據統計,在WTM首日,丹寨就已經收到近20份來自海外的申請信。

本站聲明:網站內容來源再生能源資訊網http://toptour.cn/,如有侵權請聯繫我們,我們將及時處理

【其他文章推薦】

※想知道大胸女孩都會買什麼款式的內衣呢?d cup內衣,e cup內衣挑選完美致勝推薦

※濃郁的奶香牛軋糖-最好吃的伴手禮,送禮要送進心崁裡!

※專為各大企業長短期商務包車接送的服務

※來台東旅遊不可錯過的,台東必買名產 「池上米、地瓜酥、洛神花」都在"購夠台東"網路商城皆買的到哦!

※2020推薦婚禮錄影台北精選18家專業團隊

※票選台中最佳親子活動.情侶約會必住的一中街住宿,旅遊行程推薦!

※找尋專業廣告設計,價格公道大圖輸出,背板品質佳

機器學習筆記(1) 感知機算法 之 實戰篇

我們在上篇筆記中介紹了感知機的,討論了感知機的由來、工作原理、求解策略、收斂性。這篇筆記中,我們親自動手寫代碼,使用感知機算法解決實際問題。

先從一個最簡單的問題開始,用感知機算法解決OR邏輯的分類。

import numpy as np
import matplotlib.pyplot as plt

x = [0,0,1,1]
y = [0,1,0,1]

plt.scatter(x[0],y[0], color="red",label="negative")
plt.scatter(x[1:],y[1:], color="green",label="positive")

plt.legend(loc="best")
plt.show()

下面我們來定義一個函數,用來判定一個樣本點是否被正確分類了。由於此例中樣本點是二維的,因此權重向量也相應的為二維,可以定義為\(w = (w_1, w_2)\),在Python中可以使用列表來表達,例如w = [0, 0],而樣本到超平面的距離自然就是w[0] * x[0] + w[1] * x[1] +b。下面給出完整的函數。

def decide(data,label,w,b):
    result = w[0] * data[0] + w[1] * data[1] - b
    print("result = ",result)
    if np.sign(result) * label <= 0:
        w[0] += 1 * (label - result) * data[0]
        w[1] += 1 * (label - result) * data[1]
        b += 1 * (label - result)*(-1)
    return w,b

寫完核心函數后,我們還需要寫一個調度函數,這個函數提供遍歷每一個樣本點的功能。

def run(data, label):
    w,b = [0,0],0
    for epoch in range(10):
        for item in zip(data, label):
            dataset,labelset = item[0],item[1]
            w,b = decide(dataset, labelset, w, b)
            print("dataset = ",dataset, ",", "w = ",w,",","b = ",b)
    print(w,b)
data = [(0,0),(0,1),(1,0),(1,1)]
label = [0,1,1,1]
run(data,label)
result =  0
dataset =  (0, 0) , w =  [0, 0] , b =  0
result =  0
dataset =  (0, 1) , w =  [0, 1] , b =  -1
result =  1
dataset =  (1, 0) , w =  [0, 1] , b =  -1
result =  2
dataset =  (1, 1) , w =  [0, 1] , b =  -1
result =  1
dataset =  (0, 0) , w =  [0, 1] , b =  0
result =  1
dataset =  (0, 1) , w =  [0, 1] , b =  0
result =  0
dataset =  (1, 0) , w =  [1, 1] , b =  -1
result =  3
dataset =  (1, 1) , w =  [1, 1] , b =  -1
result =  1
dataset =  (0, 0) , w =  [1, 1] , b =  0
result =  1
dataset =  (0, 1) , w =  [1, 1] , b =  0
result =  1
後面的迭代這裏省略不貼,參數穩定下來,算法已經收斂

下面看一個來自UCI的數據集:PIMA糖尿病數據集,例子來自《機器學習算法視角》第三章

import os
import pylab as pl
import numpy as np
import pandas as pd
os.chdir(r"DataSets\pima-indians-diabetes-database")
pima = np.loadtxt("pima.txt", delimiter=",", skiprows=1)
pima.shape
(768, 9)
indices0 = np.where(pima[:,8]==0)
indices1 = np.where(pima[:,8]==1)
pl.ion()
pl.plot(pima[indices0,0],pima[indices0,1],"go")
pl.plot(pima[indices1,0],pima[indices1,1],"rx")
pl.show()

數據預處理

1.將年齡離散化

pima[np.where(pima[:,7]<=30),7] = 1
pima[np.where((pima[:,7]>30) & (pima[:,7]<=40)),7] = 2
pima[np.where((pima[:,7]>40) & (pima[:,7]<=50)),7] = 3
pima[np.where((pima[:,7]>50) & (pima[:,7]<=60)),7] = 4
pima[np.where(pima[:,7]>60),7] = 5

2.將女性的懷孕次數大於8次的統一用8次代替

pima[np.where(pima[:,0]>8),0] = 8

3.將數據標準化處理

pima[:,:8] = pima[:,:8]-pima[:,:8].mean(axis=0)
pima[:,:8] = pima[:,:8]/pima[:,:8].var(axis=0)

4.切分訓練集和測試集

trainin = pima[::2,:8]
testin = pima[1::2,:8]
traintgt = pima[::2,8:9]
testtgt = pima[1::2,8:9]

定義模型

class Perceptron:
    def __init__(self, inputs, targets):
        # 設置網絡規模
        # 記錄輸入向量的維度,神經元的維度要和它相等
        if np.ndim(inputs) > 1:
            self.nIn = np.shape(inputs)[1]
        else:
            self.nIn = 1
        
        # 記錄目標向量的維度,神經元的個數要和它相等
        if np.ndim(targets) > 1:
            self.nOut = np.shape(targets)[1]
        else:
            self.nOut = 1
        
        # 記錄輸入向量的樣本個數
        self.nData = np.shape(inputs)[0]
        
        # 初始化網絡,這裏加1是為了包含偏置項
        self.weights = np.random.rand(self.nIn + 1, self.nOut) * 0.1 - 0.05
        
    def train(self, inputs, targets, eta, epoch):
        """訓練環節"""
        # 和前面處理偏置項同步地,這裏對輸入樣本加一項-1,與W0相匹配
        inputs = np.concatenate((inputs, -np.ones((self.nData,1))),axis=1)
        
        for n in range(epoch):
            self.activations = self.forward(inputs)
            self.weights -= eta * np.dot(np.transpose(inputs), self.activations - targets)
        return self.weights
    
    def forward(self, inputs):
        """神經網路前向傳播環節"""
        # 計算
        activations = np.dot(inputs, self.weights)
        # 判斷是否激活
        return np.where(activations>0, 1, 0)
    
    def confusion_matrix(self, inputs, targets):
        # 計算混淆矩陣
        inputs = np.concatenate((inputs, -np.ones((self.nData,1))),axis=1)
        outputs = np.dot(inputs, self.weights)
        nClasses = np.shape(targets)[1]
        
        if nClasses == 1:
            nClasses = 2
            outputs = np.where(outputs<0, 1, 0)
        else:
            outputs = np.argmax(outputs, 1)
            targets = np.argmax(targets, 1)
            
        cm = np.zeros((nClasses, nClasses))
        for i in range(nClasses):
            for j in range(nClasses):
                cm[i,j] = np.sum(np.where(outputs==i, 1,0) * np.where(targets==j, 1, 0))
        print(cm)
        print(np.trace(cm)/np.sum(cm))
print("Output after preprocessing of data")
p = Perceptron(trainin,traintgt)
p.train(trainin,traintgt,0.15,10000)
p.confusion_matrix(testin,testtgt)
Output after preprocessing of data
[[ 69.  86.]
 [182.  47.]]
0.3020833333333333

這個案例使用感知機訓練得到的結果比較糟糕,這裏只是作為展示算法的例子。

最後看一個使用感知機算法識別MNIST手寫数字的例子。代碼借鑒了Kaggle上的kernel。

step 1:首先導入所需的包,並且設置好數據所在路徑

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
train = pd.read_csv(r"DataSets\Digit_Recognizer\train.csv", engine="python")
test = pd.read_csv(r"DataSets\Digit_Recognizer\test.csv", engine="python")
print("Training set has {0[0]} rows and {0[1]} columns".format(train.shape))
print("Test set has {0[0]} rows and {0[1]} columns".format(test.shape))
Training set has 42000 rows and 785 columns
Test set has 28000 rows and 784 columns

step 2:數據預處理

  1. 創建label,它的size為 (42000, 1)

  2. 創建training set,size為(42000, 784)

  3. 創建weights,size為(10,784),這可能有點不好理解。我們知道,權重向量是描述神經元的,784是維度,表示一個輸入樣本有784維,相應的與它對接的神經元也要有784維。同時,要記住一個神經元只能輸出一個output,而在数字識別問題中,我們期待的是輸入一個樣本數據,能返回10個数字,然後依概率判斷這個樣本是哪個数字的可能性最大。所以,我們需要10個神經元,這就是(10,784)的來歷。

trainlabels = train.label
trainlabels.shape
(42000,)
traindata = np.asmatrix(train.loc[:,"pixel0":])
traindata.shape
(42000, 784)
weights = np.zeros((10,784))
weights.shape
(10, 784)

這裏可以先看一個樣本,找找感覺。注意原數據是壓縮成了784維的數組,我們需要將它變回28*28的圖片

# 從矩陣中隨便取一行
samplerow = traindata[123:124]
# 重新變成28*28
samplerow = np.reshape(samplerow, (28,28))
plt.imshow(samplerow, cmap="hot")

step 3:訓練

這裏我們對訓練數據集循環若干次,然後重點關注錯誤率曲線

# 先創建一個列表,用來記錄每一輪訓練的錯誤率
errors = []
epoch = 20

for epoch in range(epoch):
    err = 0
    # 對每一個樣本(亦矩陣中的每一行)
    for i, data in enumerate(traindata):
        # 創建一個列表,用來記錄每個神經元輸出的值
        output = []
        # 對每個神經元都做點乘操作,並記錄下輸出值
        for w in weights:
            output.append(np.dot(data, w))
        # 這裏簡單的取輸出值最大者為最有可能的
        guess = np.argmax(output)
        # 實際的值為標籤列表中對應項
        actual = trainlabels[i]
        
        # 如果估計值和實際值不同,則分類錯誤,需要更新權重向量
        if guess != actual:
            weights[guess] = weights[guess] - data
            weights[actual] = weights[actual] + data
            err += 1
    # 計算迭代完42000個樣本之後,錯誤率 = 錯誤次數/樣本個數
    errors.append(err/42000)
x = list(range(20))
plt.plot(x, errors)
[<matplotlib.lines.Line2D at 0x5955c50>]

從圖可以看出,達到15次迭代時,錯誤率已經有上升的趨勢了,開始過擬合了。

感知機是一個非常簡單的算法,以致於很難在真正的場景中使用感知機算法。這裏舉的3個例子,都旨在於動手寫代碼實現這個算法,找找感覺。稍有經驗的讀者想必會好奇:為什麼沒有使用Scikit-Learn這個包,這部分其實是筆者另有計劃,打算結合算法寫Scikit-Learn的源碼解讀筆記。當然,限於個人水平,不一定能解析到精髓,但勉力而為吧。下篇會寫Multi-Layer-Perceptron算法的原理,在那裡我們很容易看到,縱使是簡單的感知機,只要加一個隱層,就能大幅提升其分類能力。另外,也會抽空寫一篇感知機Sklearn源碼解讀的文章。有任何問題,歡迎大家留言討論。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理
【其他文章推薦】

※信用卡的機場接送服務好嗎?

台北桃園機場接送,網友超推,CP值超高,安全,寬敞又舒適

※想知道台東名產人氣商品是什麼?想知道更多台東知名伴手禮有哪些?

※評選台東伴手禮推薦商品「釋迦 」是台東必買伴手禮之一

※離島好好玩!小琉球必吃美食、必玩景點、最優惠的小琉球民宿套裝行程詳細攻略!

※濃郁的奶香牛軋糖-最好吃的伴手禮,送禮要送進心崁裡!

※找尋專業廣告設計,價格公道大圖輸出,背板品質佳