Lesson 2: Setting up with Anaconda
Pythonã®ã»ããã¢ããã®è©±ãªã®ã§å²æã

⣠Chile in a Photography â£
trying on a metaphor
Sweet Seals For You, Always
Misplaced Lens Cap
macklin celebrini has autism
No title available
he wasn't even looking at me and he found me
Xuebing Du

romaâ

â

gracie abrams
No title available
ð
The Stonewall Inn
cherry valley forever
d e v o n
occasionally subtle
One Nice Bug Per Day
TVSTRANGERTHINGS
PUT YOUR BEARD IN MY MOUTH
seen from United Kingdom
seen from Netherlands

seen from TÃŒrkiye

seen from United States
seen from Bangladesh

seen from Malaysia
seen from United States

seen from Singapore

seen from Germany

seen from United States

seen from Japan

seen from United States

seen from Canada

seen from TÃŒrkiye
seen from Spain

seen from Egypt

seen from United States

seen from Malaysia
seen from United States

seen from Australia
@snaga2003
Lesson 2: Setting up with Anaconda
Pythonã®ã»ããã¢ããã®è©±ãªã®ã§å²æã
Lesson 1: Welcome to the AI Nanodegree
Guides
Sebastian Thrun, Udacity
Peter Norvig, Google
Thad Starner, Georgia Tech
Arpan Chakraborty, PhD
David Joyner, Georgia Tech
Dhruv Parthasarathy, Udacity
Term1ãããžã§ã¯ã
æåã¯Sudokuãè§£ãã
Constraint Propagation
Search
次ã¯Game-Playing Agent
Defeat opponents in Isolation
Minimax
Alpha-beta pruning
Pac-man
Breadth-first Search
Depth-First Search
A-Star Search
Sign Language
Hidden Malkov Model
Term2
Deep Learning
Recurrent Neural Network
Deep Learning based system
Convolutional Neural Network
Udacity Support
Project Reviews
Mentors
Community Support
Meet your peers
Career Support
Deadlines
åã ã®ãããžã§ã¯ãã®ç· å㯠suggestion
ããŒã¹ã¡ãŒãã³ã°ã®ããã
æçµçãªç· å㯠must
è©äŸ¡ã®ããã
Get started
Xamarinå ¥éããŠã¿ã
[åŠçããã»åå¿è ãã倧æè¿ïŒ]Xamarin Advent Calendar 2016 ã®21æ¥ç®ã§ãã
ç§ @snaga ã¯æ®æ®µã¯ããŒã¿ããŒã¹ã®ãšã³ãžãã¢ãããŠããŠã¢ããªã±ãŒã·ã§ã³éçºè ã§ã¯ãªãã®ã§ããããããŒã¿ãããŒã¿åæã掻çšããã¹ããã¢ããªããéçºããŠã¿ãããªã£ãŠã1ïœ2ãµæãããåã«Xamarinã«å ¥éããããšè©Šã¿ãŸããã
ãã®ããã»ã¹ãšãã®ææããããšããŸãDev Daysãã³ãºãªã³ã®ãµã³ãã«ãèªãã§èª¿ã¹ãããšãšããèšé²ã»å ¬éããŠã¿ãããšæããŸããïŒXamarinã®ã€ãã¿ãã€ã³ããïŒ
åæãç¶æ³ãã¹ãã«ã»ãããšããŠã¯ä»¥äžã®ãããªæãã§ãã
æ®æ®µã¯Unixç³»ããŒã¿ããŒã¹ãšã³ãžãã¢ã§ãã
PostgreSQL Deep Dive http://pgsqldeepdive.blogspot.jp/
ã³ãŒããæžãæã¯ãä»ã¯CãPythonãBashããã€ãŠã¯ãC++ãJavaãPerlã
C#ã¯åããŠã
ã¢ããªã±ãŒã·ã§ã³éçºãçæ¥ãšããããšã¯ïŒç€ŸäŒäººã«ãªã£ãŠä»¥éïŒç¡ãã
ããã«MVVMãšããã¶ã€ã³ãã¿ãŒã³ãšãåã ã®èšèªã®æ©èœãšãã«çãã
ããã«ãŠã§ã¢ãæžããŠããããšã¯ããã
Visual Studio ã¯è¶ ä¹ ãã¶ããåŠçæä»£ã«ASPãšSQL Serverã§äœããäœã£ãŠãã
æè¿ãã¹ã¯ã¯ãããã£ã¬ã³ãžã®Webã¢ããªãäœã£ãã
http://30-day-squat-challenge.mybluemix.net/static/index.html
ãšããããã¯ãèªåã®æã£ãŠããXperiaïŒAndroid 6.1ïŒãã¿ãŒã²ããã«éçºã§ããã°ãïœã
ãããŸã§ã«ãã£ãŠã¿ãããš
ç°å¢æ§ç¯ïŒWindows10/Windows7 + Visual Studio 2015ïŒ
ç°å¢æ§ç¯ã€ããã
C#ãã¥ãŒããªã¢ã«
C# ãã¥ãŒããªã¢ã« å šéšä¿º Advent Calendar 2016
http://qiita.com/advent-calendar/2016/c_sharp_tutorial
çµ¶è³é å»¶äžã
Phoneword ãµã³ãã«äœæã
Xamarinã«ãããHello, WorldçãªïŒ
https://developer.xamarin.com/guides/android/getting_started/hello,android/hello,android_quickstart/
åŸã«æ¥æ¬èªçãããããšãç¥ãã
https://www.xlsoft.com/jp/products/xamarin/android_hello_world.html
Xamarin Dev Daysã®ãã³ãºãªã³ã®ãµã³ãã«ã¢ããªãäœæ
ã³ããã§åããïŒ
https://github.com/chomado/xamarin-dev-doc/tree/master/hands-on
https://github.com/snaga/dev-days-labs
ã³ãŒããããå°ã詳现ã«èªãã§ã¿ãïŒâä»ã³ã³ïŒ
XamarinïŒç°å¢æ§ç¯ãïŒã€ãã
ç°å¢æ§ç¯ã€ãã
Windows7/Windows10 + Visual Studio 2015 + Xamarin
å šéšç¡æããŒã«äœ¿ã£ãŠãã®ã«ãç°å¢æŽåã«1ãµæè¿ãããã£ãã»ã»ã»
VDIã䜿ã£ãŠã¯ã©ãŠãã®åããåŽã§ãã«ãã§ããããã«ãªãæªæ¥ã¯ãŸã ã§ããã
æ³å®éãã«åããªãå Žåã«ã¯ Visual Studio ã®ãšã©ãŒã¡ãã»ãŒãžãäœãšèšã£ãŠããããå¿ã蟌ããŠèªãã
èªãã§åé¡ããããããªã¡ãã»ãŒãžãèŠã€ããããã®ã¡ãã»ãŒãžã§ã°ã°ãã
å€åã StackOverflow ãåŒã£ãããã
ãã®ããåãã®ææã確èªããŠãå幎以äžåã ã£ããçåŸã§èªãã
Xamarinããããããšå€åäžãªã®ã§ãã¡ãã£ãšåã®æ å ±ããããŸãã¢ãã«ãªããªãã®ãèŠæããŠã°ã°ãã¹ãã
java.lang.UnsupportedClassVersionError ãšèšããããJava SDKã®ããŒãžã§ã³ãçãã
æšå¥šã¯ Java 8 32bit çïŒå€åïŒ
java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
Android Virtual Device (AVD) ãã¡ãããšäœããªãã£ããã以åã®ãã®ãåé€ã㊠Xamarin Universal Installer ãäœåºŠãå®è¡ããŠã¿ãã
å€ã avd 㯠C:\Users\ãŠãŒã¶å\.android\avd ã«ããã®ã§ãæåã§åé€ã㊠Universal Installer ãããªãã©ã€ããã®ãå¯ã
äœåºŠããã£ãŠããã¡ã«ãªãããã®ãã¡åããå€åã
ã€ããã
Google ã«é Œããš blog ãšãã§äžéåç«¯ãªæ å ±ãåŒã£ããã£ãŠããŸã£ãŠå³åŸå·ŠåŸããŠããŸã£ãŠãã€ãã¿ãå¢ãã
ã³ãã¥ããã£ã§ up to date ãªæé æžãšããã¡ã³ãããã®ãããã®ããã
githubã§ç®¡çã㊠pull req ã§æŽæ°ããŠããšãã
Xamarin Dev Daysã®ã¢ããªãšè§£èª¬ã现ããèªã
Xamarin Dev Daysã®ãã³ãºãªã³ã®æé æžãåèã«ããµã³ãã«ã¢ããªãäœæããŠã¿ãŸããã
Xamarin Dev Days ãã³ãºãªã³æé æž
https://github.com/chomado/xamarin-dev-doc/tree/master/hands-on
Xamarin Dev Days
https://github.com/snaga/dev-days-labs
ããã³ãŒããã³ããããã ãã ãšã確ãã«åãã®ã ããã©çµå±ããåãããããšããç¶æ³ã«é¥ã£ãŠããŸã£ãã®ã§ãåãããªãçšèªãåãããªãC#ã®ææ³ãXamarinã®ã¯ã©ã¹ãªã©ãèªåãªãã«èª¿ã¹ãŠã¿ãŸããã
以äžã¯ãæé æžã«åºãŠããçšèªãã³ãŒãããèªååºæºã§åãããªããšãããªã©ã調ã¹ãŠã¿ããŸãšãã§ãã
Xamarin.Forms
ã¯ãã¹ãã©ãããã©ãŒã ã§UIãå®è£ ããããã®ã©ã€ãã©ãªã
ã¬ã€ã¢ãŠã㯠*.xaml ãšåŒã°ããXMLãã¡ã€ã«ã§å®çŸ©ãããã
ã³ã³ããŒãã³ããšããŒã¿ãšã®é£æºã¯ Binding ãšããä»çµã¿ã§å®çŸãããïŒåæ¹åïŒã
è©³çŽ°ãªæå㯠*.xaml.cs ãšåŒã°ããC#ã®ã³ãŒãïŒã³ãŒãããã€ã³ãïŒã§å®çŸ©ãããã
Model, View, ViewModel
ã¢ãã€ã«ã¢ããªãéçºããæã®ãã¶ã€ã³ãã¿ãŒã³ MVVMïŒModel-View-ViewModelïŒã®åæ§æèŠçŽ ã
NuGet
ã©ã€ãã©ãªç®¡çã·ã¹ãã ãäŸåããã©ã€ãã©ãªã®äžèЧãä¿åãããã¬ã¹ãã¢ãããã§ããã
Perlã«ãããCPAN, Pythonã«ãããPIPã¿ãããªãã®ã
Restore NuGet 㯠pip -r requirements.txt ã¿ãããªæãã
http://www.atmarkit.co.jp/fdotnet/chushin/nuget_01/nuget_01_01.html
ViewModel
ãã©ã®ããã«ããŒã¿ã衚瀺ãããã®ãã¹ãŠã®æ©èœããæäŸãã
ããŒã¿æ§é ãšãããæºåããããžãã¯ïŒãµãŒãã¹é£æºãªã©ïŒãæã€ã
INotifyPropertyChanged
ãªããžã§ã¯ãã®å 容ã«å€æŽããã£ãæã«Viewã«éç¥ããã
æ¹æ³ : ããããã£ã®å€æŽéç¥ãå®è£ ãã https://msdn.microsoft.com/ja-jp/library/ms743695(v=vs.110).aspx
[CallerMemberName] ã¯åŒã³åºãå ã®ã¡ãœããå http://www.atmarkit.co.jp/fdotnet/special/vs2012review/vs2012review_04.html
PropertyChangedEventArgs 㯠string ããã€ãã³ãã®åŒæ°ãäœæãã https://msdn.microsoft.com/ja-jp/library/system.componentmodel.propertychangedeventargs(v=vs.110).aspx
PropertyChanged?.Invoke(...) 㯠PropertyChanged != null ã ã£ãã Invoke() ã®åŒã³åºã
var
varã§å®£èšãããšã³ã³ãã€ã©ãåãæ±ºããã
https://msdn.microsoft.com/ja-jp/library/bb383973.aspx
ãããã³ã°ãã£ãŒã«ã
ããããã£ã®å€ãé èœããŠããããã®ã¯ã©ã¹ã®ã¡ã³ããŒå€æ°
ã¢ã¯ã»ãµ get/set ãéããŠã¢ã¯ã»ã¹ããã
ObservableCollection
å 容ã倿Žããããšã€ãã³ããçºç«ãã CollectionChanged ãæã£ãŠããã³ã¬ã¯ã·ã§ã³
async Task
async ã¯éåæåŠçããã modifier https://msdn.microsoft.com/ja-jp/library/mt674882.aspx
Task ã¯è¿ãåãããã§ã¯äœãè¿ããªãã®ã§ Task ã®ã¿ãintãè¿ãå Žåã«ã¯ Task ãªã©ã
using
GCãèµ°ããã Dispose() ãèªåçã«åŒã³åºããããã¯ã
http://divakk.co.jp/aoyagi/csharp_tips_using.html
await
éåæåŠçãå®è£ ããŠããã«ãŒãã³ãåŒã³åºã
ãã®åŠçãããŠããéããUIãªã©ã¯åå¿ããïŒããããã³ã°ããåŠçãç¶ç¶ã§ããïŒ
Command
ViewModelããå ¬éãå€éšããåŒã³åºãããŠäœãã®åŠçãããã
ããã§ã¯ãViewããbindãããã
https://developer.xamarin.com/api/type/Xamarin.Forms.Command/
View
XAMLãæžãã
{Binding ...} ã§ ViewModel ã®ããããã£ãšãã€ã³ãã§ããã
SpeakersViewModel ãšãã ViewModel ã®ã¯ã©ã¹åãš SpeakersPage.xaml ãã€ãªããã®ã¯ SpeakersPage.xaml.cs
ãã® SpeakersPage.xaml.cs ããã³ãŒãããã€ã³ã Code-behindããšåŒã¶ã
https://msdn.microsoft.com/en-us/library/aa970568(v=vs.110).aspx
ã³ãŒãããã€ã³ãã®ã³ã³ã¹ãã©ã¯ã¿ã®äžã§ ViewModel ãã€ã³ã¹ã¿ã³ã¹åããŠãã¡ã³ã倿° BindingContext ã«èšå®ããããšã§ãView ãš ViewModel ã bind ãããã
public partial class SpeakersPage : ContentPage
View ã§ãã SpeakersPage ã¯ã©ã¹ã¯ ContentPage ãç¶æ¿ããã
public class App : Application
Appã¯ã©ã¹ã¯Applicationãç¶æ¿ãã
https://developer.xamarin.com/api/type/Xamarin.Forms.Application/
ã³ã³ã¹ãã©ã¯ã¿ã§ NavigationPage() ã MainPage ãšããŠäœæããŠãæåã® Content ãšã㊠SpeakersPage ãèšå®ãã
NavigationPage 㯠ã¹ã¿ãã¯ã®ãããªããŒãžç®¡çãæäŸãã
https://developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/hierarchical/
await Navigation.PushAsync(new DetailsPage(speaker));
NavigationPageã§ããŒãžã管çããŠããæã¯ Navigation.PushAsync() ã§ããŒãžé·ç§»ã§ããã
éåæã§åŠçã§ãããïŒããŒãžè¡šç€ºã«æéããããå ŽåãããããïŒïŒ
x:Name="ButtonWebsite"
XAMLå ã§ã³ã³ãããŒã«ã«ååãä»ããŠãã€ãã³ãïŒã¯ãªãã¯ãªã©ïŒã®ãã³ãã©ãŒãèšå®ã§ããã
äžã«åºãŠãã Command ã®å ¬éããæ¥œãªæ°ããããã ãã©ãäžã§ã¯ãªã Command ã䜿ã£ãã®ãïŒïŒãã¥ãŒããªã¢ã«ã ããïŒïŒ
Command ãšã®éããã¡ãªãããã¡ãªããã¯ïŒ
åŠçã®æµããŸãšã: Speakers Page 衚瀺
Speakers Page ã§ Sync Speakers ãã¿ã³ãæŒããããš GetSpeakersCommand ã³ãã³ããçºè¡ããããïŒSpeakersPage.xamlïŒ
GetSpeakersCommand ã³ãã³ããçºè¡ããããšãXAMLã§ Command ãšããŠèšå®ããã ModelView å ã® GetSpeakers() ã¡ãœãããåŒã°ãããïŒSpeakersViewModel.csïŒ
JSONã§ããŒã¿ã®ååŸãçµãããš ObservableCollection ã³ã¬ã¯ã·ã§ã³ãæŽæ°ããããïŒSpeakersViewModel.csïŒ
æŽæ°ããããš CollectionChanged ãçºçã㊠View ã§ Binding Speakers ããŠãã Speakers Page ã®å å®¹ãæŽæ°ããããïŒSpeakersPage.xamlïŒ
åŠçã®æµããŸãšã: Details Page 衚瀺
Speakers Page ã§ ListViewSpeakers å ã®ã¹ããŒã«ãŒãã¿ãããããšãItemSelected ã€ãã³ããçºçãããïŒSpeakersPage.xaml.csïŒ
ã€ãã³ããã³ãã©ãåŒã°ããŠãSpeakerã¢ãã«ã®æ å ±ã䜿ã£ãŠ DetailsPage ãã¥ãŒãäœæããããïŒSpeakersPage.xaml.csïŒ
Navigation.PushAsync() ã䜿ã£ãŠãã¥ãŒãïŒã¹ã¿ãã¯ã«è¿œå ãããŠïŒè¡šç€ºããããïŒSpeakersPage.xaml.csïŒ
ãŸãšã
ãšããããã§ãXamarinãåããŠïŒçæéã§ïŒ1ïœ2ãµæéã詊è¡é¯èª€ããŠããèšé²ãå ¬éããŠã¿ãŸããã
ã¹ããNativeã¢ããªãåããŠãªãC#ãåããŠãXamarinããã¡ããåããŠããšããç¶æ³ããã¹ã¿ãŒãããŠãã©ãã«ãéçºç°å¢ã®æŽåãšãã¢ããªã®åºæ¬çãªãã¬ãŒã ãçè§£ãããšãããŸã§ã¯å°éã§ããããªããšããæ°ãããŠããŸãã
çŸæç¹ã®ææ³ãšããŠã¯ããXamarinã¯æããªã ç°å¢æ§ç¯ãè¶ ããã°ããšããèšèã¯æ¬åœã«åèšã ãšæãã®ã§ãç°å¢æ§ç¯ãã©ãã«ãããŠæ¬²ããã§ãã
Xamarin æŠèŠ from Yoshito Tabuchi
ããšãå ¥éãã人ã«å¯ŸããŠããŸãã¯ãã®è³æãèªãã§ã次ã«ãã®ãã¥ãŒããªã¢ã«ããã£ãŠã»ã»ã»ãã¿ãã㪠Learning Path ãéç©ãããŠå ¬éãããŠãããšå¬ãããªããšæããŸããããããã«ã¯ããããæ å ±ããããã§ããã©ãèªåã®ã¬ãã«ã«åãããŠèªåã§ãã§ã€ã¹ããŠããã®ã¯ååŠè ã«ã¯é£ãããšæãã®ã§ã
æ£çŽããŸã ãŸã åãããªãããšãå€ãã®ã§ããããããããã¥ãŒããªã¢ã«ã®ã¬ãã«ã¯ã¯ãªã¢ãã€ã€ããããªãšããæ°ãããŠããã®ã§ïŒããã§ããªãïŒïŒã次ã¯ãããã¯ãŒã¯è¶ãã«ããŒã¿ãåã£ãŠããŠããããããããç¬èªã®ã¢ããªãäœã£ãŠã¿ãããšæã£ãŠããŸãã
ã§ã¯ã
[Clustering & Retrieval] Week 5: Latent Dirichlet Allocation: Mixed Membership Modeling
https://www.coursera.org/learn/ml-clustering-and-retrieval/home/week/5
Mixed membership models for documents
ããã¥ã¡ã³ãåæã®æåãªç¢ºçã¢ãã« LDA
ããšããšãã¯ã©ã¹ã¿ãªã³ã°ã¯åã ã®ãããã¯ã«åé¡ããã
ã1ã€ã®ãããã¯ã«å±ããããšããèãæ¹ã§æ¬åœã«ããã®ãïŒ
確ççãªsoft assignmentãåºãŠããã
äŸãã°ãããè«æã§
Scienceã«å±ããåèªã䜿ãããŠãããã
Technologyã«å±ããåèªã䜿ãããŠãããã
Soft assignment ã§ã¯ç¢ºããããã䜿ã
ã§ããã©ã£ã¡ããã§ã¯ãªãããã©ã£ã¡ãããªã®ã§ã¯ïŒ
mixed membership models
set of memberships ãèŠã€ãã
Building up to document mixed membership models
alternative document clustering model
ææžã®è¡šçŸã¯tf-idfã§è¡ã£ãŠãããtf-idf空éã
ããã§ã¯ãbag-of-wordsã«ãã衚çŸã䜿ãã
åèªã«åå²ããŠãŸãšããŠæ±ã
multi-set åèªãåºãŠããåæ°ã倧äº
以åã«åŠãã ããæ¹ã ãš corpus-wide ã® topic ã®å²åã倧äºã
ããã§ã¯ãææžã«åºãŠããåèªãèŠãŠãååèªãã©ããããåºãŠãããã§ãããã¯ã«è©²åœããå²åãèšç®ããã
scienceã®åèªãšéã¿ä»ããtechã®åèªãšéã¿ä»ããsportsã®âŠ
ååèªãéèšã㊠topic distribution ã䜿ã£ãŠèšç®ããã
Latent Dirichlet allocation (LDA)
LDAã¯mixed membership model
ã¯ã©ã¹ã¿ãªã³ã°ã¯ãææžå šäœãã©ã®ãããã¯ïŒã¯ã©ã¹ã¿ïŒã«åé¡ããããæ±ºããã
corpuså šäœã®å²åãèŠãŠ
LDAã§ã¯ãåã ã®åèªãæŸã£ãŠã©ã®ãããã¯ã«è©²åœããããèŠã
corpuså šäœã®å²åãèŠãã®ã§ã¯ãªããåã ã®ããã¥ã¡ã³ãã®äžã§åãããã¯ã®å²åãèŠã
Inference in LDA models
LDAã§ã¯ãããã¯åºæã®åèªã®ååžãå°å ¥ããã
corpus å šäœã§åããã®ã䜿ã
åããã¥ã¡ã³ãã®ååèªã¯ãã©ã®ãããã¯ã«åé¡ãããããšããå€ãæã€
æçµçã«ã¯ãåããã¥ã¡ã³ãã¯ãã©ã®ãããã¯ã«åé¡ããããããšããå€ãæã€ã
ãšã¯ãããããããæåž«ãªãåŠç¿ã§ã©ãããã°ããã®ãïŒ
LDAã®å ¥åã¯
corpuså ã®åããã¥ã¡ã³ãã®set of words
LDAã®åºåã¯
corpuså šäœã®topic vocab distribution
ååèªã®topic assignment
åããã¥ã¡ã³ãã®topic proportions
ãŸãLDAã®åºåã®è§£é
åŠç¿ãããããã¯ã®coherenceãèŠã
åèªã®ååžãèŠãŠããããã¯ãå²ãåœãŠã
é »åºããå°æ°ã®åèªãèŠãã ãã§ã¯ãã¡ã§ããã¹ãŠã®åèªã®å€ãèŠããsparse vectorã«ã¯ãªããªãã
åããã¥ã¡ã³ãã®topic proportionsãææžã®é¡äŒŒåºŠã®ç®åºãªã©ã«äœ¿ãã
è€æ°ã®ã«ããŽãªã«åé¡ããã®ã«ã䜿ãã
An inference algorithm for LDA: Gibbs sampling
ãããŸã§ã®Clusteringã¢ã«ãŽãªãºã
k-means
EM for MoG
ãŸããbag-of-wordsã¢ãã«ã§äœãã§ããã
EMã®æ¡åŒµ
tf-idfã®gaussian likelihood
multinomial likelihood of word counts
result: multinomial modelã®mixture
LDAã¢ãã«ã«ã¯äœãã§ãããïŒ
EMãæ¡åŒµãã§ãããããããŸãäžè¬çã§ã¯ãªãïŒæ§èœãæªãïŒ
éåžžã¯LDAã¯Bayesian modelã®ããšã§ãã
ãã©ã¡ãŒã¿ã®äžç¢ºãããæ±ã
æšå®ãããã©ã¡ãŒã¿ãæ£èŠåãã
Gibbs sampling for Bayesian inference
Gibbs sampling ã¯ãç¹°ãè¿ãè¡ã random assignment
çŽèгçã§åããããã
å®è£ ãããã
ã€ãã¬ãŒã·ã§ã³ã®çµæäœãåŸãããã®ã
Joint model probability
ä»ãŸã§ãèŠãŠãã likelihood ã«äŒŒãŠããããBayesianã§ã¯ããŒã¿ãç¹å®ã®ãã©ã¡ãŒã¿ã«ã€ããŠèŠãã ãã§ã¯ãªãã
ã¢ãã«ãã©ã¡ãŒã¿ã®ç¢ºçã確ãããããèŠãã
ããã joint model probability ãšåŒã°ããæä»¥ã
Joint model probability ã Gibbs sampling ã®ã€ãã¬ãŒã·ã§ã³ã§èŠããšããåæåã®åŸãå¢å ããŠããã®åŸäžãã£ããäžãã£ããããã
ã©ã³ãã ãªã¢ã«ãŽãªãºã ã ããã
Joint probability ãå¢ããããšãä¿èšŒã¯ã§ããªãã
æé©åã®ã¢ã«ãŽãªãºã ã§ã¯ãªãã
äžç¹ã«åæãããã®ã§ã¯ãªããå¯èœæ§ã®ããè§£ãæ±ããŠç©ºéãæ¢çŽ¢ããã
ã©ã³ãã æ§ãšãã芳ç¹ã§ stochastic gradient descent ã ascent ã«äŒŒãŠãããäžãã£ããäžãã£ããããã
ååãªã€ãã¬ãŒã·ã§ã³ã®åŸã«ã¯ correct Bayesian estimates ãåŸãããã
ãµã³ããªã³ã°ãäºæž¬ã¢ãã«ãäœãããç¹°ãè¿ãã
ã€ãã¬ãŒã·ã§ã³ã®éã確çã®äœãé åãããé«ãé åã§ããé·ãæéãçµéããã®ã§ããã®çµæãå¹³åãããš correct prediction, correct Bayesian average ãšãªãã
good solution ãšã¯ãæ¢çŽ¢ç©ºéã®äžã«ããã¢ãã«ãã©ã¡ãŒã¿ãš assignment variables ã Joint model probability ãæå€§åãããšããã
maximum a posteriori parameter estimates
ã€ãã¬ãŒã·ã§ã³ã®éãèŠãŠããã°åŸãããã
Standard Gibbs sampling steps
Gibbs samplingã®ã€ãã¬ãŒã·ã§ã³ãéããŠèŠã
assignment variables
model parameters
ææžiã®äžã®åèªw
probability of assigning Ziw = 2
riw2 = Πi2 * p("EEG" | Ziw = 2) / Σj=1,K Πij p(EEG | Ziw = j)
EMãšäŒŒãŠãããããããã¥ã¡ã³ãã®äžãã ããèŠãã®ãéãã
å¯èœæ§ã®ãããããã¯ãã¹ãŠã«ã€ããŠèšç®ããã
vocabulary distribution ã¯éèŠã§ã¯ãªããææžã® topic proportions ãéèŠã
topic proportions ããµã³ããªã³ã°ãããã³ãŒãã¹å ã®ãã¹ãŠã®ææžã«ã€ããŠè¡ãã
word assignment variables ãš topic proportions ããµã³ããªã³ã°ããã
åææžããšã«ãå šããŒã¿ã«ã€ããŠè¡ãã
Collapsed Gibbs sampling in LDA
indicator variables Ziwã ãããµã³ãã«ãã
topic vocab distributions, per-doc topic proportions ã¯ãµã³ããªã³ã°ããªãã
å°ãã空éãæ¢çŽ¢ããã®ã§ãéåžžã«è¯ãããã©ãŒãã³ã¹ãåºã
åèªããšã«å®å šã«äžŠåã«åŠçã§ããããã«ãªãã
ååèªã«ã©ã³ãã ã«ã¯ã©ã¹ã¿ãå²ãåœãŠãïŒåæåéèŠãããæ¹ã¯ããããïŒ
ãã¹ãŠã®ææžã«åãããšãããã
ææžããšã«å±ããã¯ã©ã¹ã¿ã®å€ãèšç®ããã
ïŒãã¹ãŠã®ææžã«ã€ããŠïŒååèªããšã«å±ããã¯ã©ã¹ã¿ã®å€ãèšç®ãã
åèªã®ã¯ã©ã¹ã¿ãžã®å²ãåœãŠãè§£é€ããã
次ãã©ãéžã¶ãã
ææžããåãããã¯ãã©ãããã奜ãã
ææžå ã® assignments ãåºæºã«ã
(nik + α) / ( Ni - 1 + Kα)
nik: # current assignments to topic k in doc i
α: smoothing parameter from Bayes prior
Ni: # words in doc i
åãããã¯ãããã®åèªãã©ãããã奜ããã
ã³ãŒãã¹å ã®ä»ã®ææžã® assignments ãåºæºã«ã
(m dynamic,k + γ ) / (Σ mw,k + Vγ)
m dynamic,k: # assignments corpus-wide of word "dynamic" to topic k
smoothing parameter from Bayes prior
Vγ size of vocab
vocabå ã®ååèªã®ç¢ºçãç¥ãããã®ããããã¯ããšã® vocab distributions ãåãããªãæãcorpuså ã®word assignmentsã䜿ãã
2ã€ãæããã
how much doc likes topic * how much topic likes word
äžçªå€§ãã topic ãéžæãã
ãã¹ãŠã®åèªããã¹ãŠã®ããã¥ã¡ã³ãã«ã€ããŠè¡ãã
Using samples from collapsed Gibbs
mixed membership models
åãããã¯ãžã®ã¡ã³ããŒã·ããã®ã»ãã
bag-of-words衚çŸ
ã³ãŒãã¹å šäœã§ã®åèªã®åºçŸç
åãããã¯ã«ãããææžå ã§ã®åèªã®åºçŸç
topic indicator
ããææžã®ããåèªããããããã¯ã«å±ãã確ç
clustering ã§ã¯ãããããã¥ã¡ã³ãããããããã¯ã«å±ãã確ç
Kåã®ãã¯ãã«ã
topic vocabulary distribution
åãããã¯ã«ãããããã¹ãŠã®åèªã®åºçŸé »åºŠ
topic proportions
ææžãããããã®ãããã¯ã«å±ãã確çã®ã»ããïŒå èš³ïŒ
æ°ã«ããŠããã®ã¯
topic vocabulary distributions in corpus
topic proportions within every document
joint model probability ãæå€§åãã corpus å ã® word assigmnent
document embeddnig
ææžãæã£ãŠã㊠mixed membership representation ãæ§ç¯ããŠãææžã® topic proportions ã® conditional distribution ãåãã
ææžã® embed ã¯å®å šã«äžŠåã«åŠçã§ãã
Summary for LDA and Gibbs sampling
岿
EOF
[Clustering & Retrieval] Week 4: Mixture Models: Model-Based Clustering
https://www.coursera.org/learn/ml-clustering-and-retrieval/home/week/4
Why a probabilistic approach?
åãããã¯ããšã®ãŠãŒã¶ã®å¥œã¿ãçè§£ãããã
ç¹å®ã®èšäºãã©ã®ã¯ã©ã¹ã¿ã«å±ããããæç¢ºã«æ±ºããããªãã
ããçšåºŠè¿ãã£ãããããçšåºŠé ãã£ããã
k-meansã®ãã㪠hard assignment ã¯ãã¹ãŠãèªããªãã
assignment ã®ç¢ºããããã確çã䜿ãã
k-meansã¯ãã¯ã©ã¹ã¿äžå¿ãšã®è·é¢ã ããåé¡ãšãããã
ã¯ã©ã¹ã¿ã®åœ¢ç¶ãªã©ã¯èæ ®ãããªãã
ã¯ã©ã¹ã¿äžå¿ã®äœçœ®ã ãã§ç¹åŸŽã¥ããããã
ãŠãŒã¯ãªããè·é¢ãšãã䜿ã£ãŠãå€ãããªãã
failure modes of k-means / k-meansãèŠæãªã±ãŒã¹
ã¯ã©ã¹ã¿ã®ååžããµã€ãºãéãå Žåãç¹ã«ç¶ºéºã«åå²ãããŠããªãå Žåã
ã¯ã©ã¹ã¿äžå¿ããã®è·é¢ãçè·é¢ã«ãªãããã«åå²ãããããã
ã¯ã©ã¹ã¿ãéãªã£ãŠããå Žåã
ã¯ã©ã¹ã¿ãç°ãªã圢ãåŸããæã£ãŠããå Žåã
Probablistic model: mixture model
soft assignments
åã¯ã©ã¹ã¿ã«æå±ããŠãã確çã§ç€ºã
world news 54%, science 45%, sports 1%, entertainment 0% ãšã
ã¯ã©ã¹ã¿ã®äžå¿ã ãã§ã¯ãªãã圢ç¶ãèæ ®ã§ããã
éã¿ä»ããåŠç¿ã§ããã
ã¯ã©ã¹ã¿ããšã«åèªã®éã¿ä»ããå€ããããªã©ã
Mixture models
æåž«ãªãã§ç»åã®ã¯ã©ã¹ã¿ãªã³ã°ãããŠã°ã«ãŒããèŠã€ããã
ç»åã®åçŽãªè¡šçŸãšããŠãç»åããšã«RãšGãšBã®å¹³åå€ãåãã
R=0.05, G=0.7, B=0.9ãªã©
ãã¹ãŠã®ã空ãã®ç»åã®Blueæåãååžããããšã0.8è¿èŸºã«ååžããã
ãã¹ãŠã®ãæ¥æ²¡ãã®ç»åã®Blueæåãååžããããšã0.3è¿èŸºã«ååžããã
ãã¹ãŠã®ã森ãã®ç»åã®Blueæåãååžããããšã0.42è¿èŸºã«ååžããã
ããã©ãã«ã¯ãŸã ç¡ãã
ãªã®ã§ãå šéšã®ç»åãæ··ããŠèŠãŠã¿ãã
3ã€ã®çš®é¡ã®ç»åããšã«ååžãéãªã£ãŠèŠããã
RedæåãèŠãŠã¿ãã
ãã¹ãŠã®ã森ãã®ç»åã®redæåãååžããããšã0.05è¿èŸºã«ååžããã
ãã¹ãŠã®ãæ¥æ²¡ãã®ç»åã®redæåãååžããããšã0.9è¿èŸºã«ååžããã
ãããã®å€ã®éãã䜿ã£ãŠåé¡ããã
Background: Gaussian distributions
è²èŠçŽ ã®ååžã¯ã¬ãŠã¹ååžããããšãåæãšããŠããã
1次å ã®ã¬ãŠã¹ååžã¯ãå¹³åÎŒãšåæ£Ï^2ã§å®çŸ©ãããã
N(x | ÎŒ, Ï^2)
xã¯ã©ã³ãã ãªå€
ÎŒ, Ï^2 ã¯ãã©ã¡ãŒã¿
2次å ã®ã¬ãŠã¹ååž
green, blue, probabilityã®äžæ¬¡å
衚çŸã¯ 3D mesh plot ãš Counter plot
Couter plotã¯2次å äžã§è¡šçŸããå Žåã®æšæºã
2Dã®ãã©ã¡ãŒã¿
Ό = [Όblue, Όgreen]
covariance Σ ãåŸããšæ¡ãããæ±ºããã
倿¬¡å ã®ã¬ãŠã¹ååž
N(x | Ό, Σ)
x: ã©ã³ãã ãªãã¯ãã«
ÎŒ, Σ: ãã©ã¡ãŒã¿
Mixture of Gaussians
ã«ããŽãª/ã¯ã©ã¹ã¿ããšã®ã¬ãŠã¹ååžãããã
blueæåãšã
ç»åã®ã¯ã©ã¹ã¿ããšã«R,G,Bã®ã¬ãŠã¹ååžã«ã¯é¢é£ãããã
ã©ãã«ãç¡ãã®ã§ãæåã¯å šéšã®ã¬ãŠã¹ååžãæ··ãã£ãŠãã
ãã®ååžãã©ããã£ãŠã¢ãã«åãããïŒ
ããŒã¿ã®äžã«ã森ãã®åçãå€ãã£ããã©ããªããïŒ
確çãäžãããååžã®é«ããé«ããªãã
éã¿ä»ãã¬ãŠã¹ååž
weight Î k
Î = [Î 1, Î 2, Î 3] = [0.47, 0.26, 0.27]
sum(Î k) = 1
Mixture of Gaussians (1D)
{Î k, ÎŒk, Ïk^2}
Mixture of Gaussians (general h倿¬¡å )
{Πk, Όk, Σk}
ç»åã®ã©ãã«ãåãããªãæããã®ç»åãã¯ã©ã¹ã¿kã«æå±ãã確çã¯ïŒ
äŸãã°ã空ãã®ç»åã®ã¯ã©ã¹ã¿ã«æå±ãã確çã¯ïŒ
p(zi = k) = Î k
zi ã¯ããŒã¿ xi ã®ã¯ã©ã¹ã¿ã®ã©ãã«
ã¯ã©ã¹ã¿ãåãã£ãŠããç»åã®å Žåã¯ïŒ
ã¯ã©ã¹ã¿kããxiãæ¥ãå Žåã
p(xi | zi = k, Όk, Σk) = N(xi, | Όk, Σk)
Document clustering
ç®æšã¯èšäºãã°ã«ãŒãåããããšã
ããã¥ã¡ã³ãã¯TF-IDFãã¯ã¿ãŒã§è¡šçŸããã
Mixture of Gaussiansã䜿ãã
ããã¥ã¡ã³ãã®ç©ºéRV, åèªæ°V
Soft assignmentsã䜿ã
V次å ã®å Žå
Σ ã§ V(V+1)/2 ã®ãã©ã¡ãŒã¿ãèšç®ããªããã°ãªããªãã
髿¬¡å ã«ãªããšå€§å€ã
倧ããã®ã§ diagnal form 㪠covariance matrix ã䜿ã
diagnal covariance ã䜿ããšæ¥åã®åŸãããªããªãã
X軞ãYè»žã«æ²¿ã£ãæ¥åã«ãªãã
å¶çŽã¯ããããããã§ãåã¯ã©ã¹ã¿ã®å次å ã®ãŠã§ã€ãã¯åŠç¿ã§ããã
ããã§ãk-meansããæè»
Inferring soft assignments with expectation maximization (EM)
ãŽãŒã«ã¯åããŒã¿ãã€ã³ãã«soft assignmentsããããš
åããŒã¿ãã€ã³ãã¯åã¯ã©ã¹ã¿ãžã®ç¢ºãããããæã€
ã©ãã«ã®ãªãããŒã¿ãã€ã³ãã«ãã©ããã£ãŠsoft assgimentsããã
Part 1: What if we knew the cluster parameters {Ïk , ÎŒk , Σk }?
Part 1: ãããã©ã¡ãŒã¿ {Î k, ÎŒk, Σk} ãäºåã«ç¥ã£ãŠãããšããã
Responsibilitiesãèšç®ãã
Responsibilities
åã¯ã©ã¹ã¿ã«ã»ãŒåãããŒã¿éãå«ãŸããŠããŠãŠã§ã€ããåãå Žåã
ããããŒã¿ãã¯ã©ã¹ã¿kã«å«ãŸããæãã¯ã©ã¹ã¿kãä»ã®ã¯ã©ã¹ã¿ããrensponsibleã§ãããšèšã
ã©ã®ã¯ã©ã¹ã¿ã«ãå«ãŸããªãæã¯responsibilityã¯åå²ãããŠããŠã確ãããããäœããªãã
ã¯ã©ã¹ã¿ã®ããŒã¿éã«åããããããŠã§ã€ããç°ãªãå Žåã
ã¯ã©ã¹ã¿ã®éã®ããŒã¿ã¯ uncertain ã ãããŠã§ã€ãã®å€§ããã¯ã©ã¹ã¿ãïœããrensponsibleãšãªãã
rik = Πk N(xi | Όk, Σk)
ã¯ã©ã¹ã¿ãŒãã©ã¡ãŒã¿ {Î k, ÎŒk, Σk} ãåãã£ãŠããããsoft assignments (responsibilities) ãèšç®ããã®ã¯å®¹æã
å®éã«ã¯åãã£ãŠãªããã倧å€ã
Part 2a: Imagine we knew the cluster (hard) assignments zi
Part 2a: ã¯ã©ã¹ã¿ãžã®å²ãåœãŠ(hard assignments) zi ãç¥ã£ãŠããã
ã¯ã©ã¹ã¿ãã©ã¡ãŒã¿ãæšå®ããã
greenã¯ã©ã¹ã¿ã®æ å ±ã¯fuchsiaã¯ã©ã¹ã¿ã®ãã©ã¡ãŒã¿ãç¥ãããšã«åœ¹ç«ã€ãïŒãNo
hard assignments ãããŠããããŒã¿ããããšããã
ãŸãã¯ã©ã¹ã¿ããšã«åå²ãã
{Î k, ÎŒk, Σk} ã maximum likelihood model MLE ã䜿ã£ãŠæšå®ãã
Mean/covariance MLE
Όk = 1/Nk * Σxi
Σk = 1/Nk * Σ(xi - Όk)(xi - Όk)^T
cluster population MLE
Î k = Nk/N
ã¯ã©ã¹ã¿ã®å²ãåœãŠ hard assigments ãç¥ã£ãŠããããã¯ã©ã¹ã¿ãã©ã¡ãŒã¿ãèšç®ããã®ã¯å®¹æã
å®éã«ã¯åãã£ãŠãªããã倧å€ã
Part 2b: What can we do with just soft assignments rij?
Part 2b: soft assignments rij ãåãã£ãŠããæã«ã¯ã©ã¹ã¿ãã©ã¡ãŒã¿ãåŸãã
åã¯ã©ã¹ã¿ãžã®responsibilitiesãã¯ã©ã¹ã¿ã®weightsãšããŠæ±ãã
Όk = 1/Nsoft_k * Σrik*xi
Σk = 1/Nsoft_k * Σrik*(xi - Όk)(xi - Όk)^T
Î k = Nsoft_k/N
hard assignmentsãåãã£ãŠãæãšã ãããåã
Expectation maximization (EM)
EMã¯ç¹°ãè¿ãã®ã¢ã«ãŽãªãºã
E-step: ã¯ã©ã¹ã¿ãžã®å²ãåœãŠã®ç¢ºç responsibilities ãçŸåšæšå®ããããã©ã¡ãŒã¿ã䜿ã£ãŠæšå® estimate ãã
M-step: çŸåšã® responsibilities ã䜿ã£ãŠãã©ã¡ãŒã¿ã® likelihood ãæå€§å maximize ãã
ã¯ã©ã¹ã¿ãã©ã¡ãŒã¿ãåæåãã
responsibilities rik(1) ãèšç®ããïŒã€ãã¬ãŒã·ã§ã³1ïŒ
soft assignment rik(1) ã䜿ã£ãŠ maximize likelihood ããããã©ã¡ãŒã¿åèšç®ã
åèšç®ãããã©ã¡ãŒã¿ã䜿ã£ãŠrik(2) ãèšç®ããïŒã€ãã¬ãŒã·ã§ã³2ïŒ
åæããåŸã§ã uncertain ãªããŒã¿ã¯æ®ãã
The nitty gritty of EM
EMã«ãããåæ
EM㯠coordinate ascent algorithm ã¢ã«ãŽãªãºã
E-stepãšM-stepã§ç®ç颿°ãæå€§åããªãã
local modeã«åæãã
çŸåšã®ãã©ã¡ãŒã¿ãš responsibilities ã䜿ã£ãŠãããŒã¿ã® log likelihood ãè©äŸ¡ãã
åæåã¯ãåæããlocal modeã®è³ªãšãåæããæéãšã«ãããŠãéåžžã«éèŠ
MLEã®overfitting
MLEã¯overfittingãåŸã
ã©ããã£ãŠæ€ç¥ãããïŒ
ã¯ã©ã¹ã¿ãŒã®äžå¿ãç¹ã«ãªãã
variance ã 0 ã«ãªãã
likelihood ãç¡é倧ã«ãªãã
倿¬¡å ã§ã®overfitting
ããã¥ã¡ã³ãã®ã¯ã©ã¹ã¿ãªã³ã°ãšã
åèª w ãå«ãææžäžã€ã ããã¯ã©ã¹ã¿ k ã«æå±ã
Simple fix: variance ã 0 ã«ããªãã
å°ãã diagonal covariance estimate ãå ãã
k-meansãšã®é¢ä¿
ãã¹ãŠã®å€ãåã sigma squared diagonal covariance ãæã€
variance ã 0
EOF
[Classification] Week 2: Linear classifiers: Overfitting & regularization
https://www.coursera.org/learn/ml-classification/home/week/2
Training and evaluating a classifier
classifierããã¬ãŒãã³ã°ãããšããããšã¯ãcoefficients ãåŠç¿ãããããšã
classification error ãš accuracy
error : äºæž¬ãå€ããæ° / äºæž¬ããæ°
ãã£ãšãè¯ãå€: 0.0
accuracy: äºæž¬ãåœãã£ãæ° / äºæž¬ããæ°
ãã£ãšãè¯ãå€: 1.0
Overfitting in regression: review
髿¬¡ã®å€é åŒ high-order polynomials ã¯æè»ã§ããã
ã¢ãã«ã®è€éããé«ãŸãã°é«ãŸãã»ã©ãåŠç¿ããŒã¿ã®ãšã©ãŒã¯äœããªã£ãŠããã
ããåŠç¿ããŒã¿ã«ãã£ããããããããšãå®éã®ããŒã¿ã§ãšã©ãŒãé«ãŸãã
ããã overfitting éåŠç¿
ã¢ãã«ã®è€éããé«ããŠãããšãããæç¹ãŸã§ã¯ training error ã true error ãäžãã£ãŠãããããããã€ã³ããè¶ ãããš true error ãé«ããªã£ãŠããã
Overfitting in classification
äŸãã°ãã¹ã³ã¢ãäžæ¬¡æ¹çšåŒã§äœæããå Žåãäºæž¬ã®å¢çã¯ãäºæ¬¡å ã®ã°ã©ãäžã®çŽç·ã§è¡šçŸã§ããã
Score(x) = 0.23 + 1.12 #awesome â 1.07 #awful
ãããäºæ¬¡ Quadratic features (in 2d) ã«ããå Žåãå¢çã¯è€éã«ãªãã
Score(x) = 1.68 + 1.39 #awesome â 0.59 #awful - 1.17 #awesome^2 - 0.96 #awful^2
次æ°ãäžããã°äžããã»ã©å¢çã¯è€éã«ãªãã
overfitting ã¯ãåŠç¿ãã coefficients ãéåžžã«å€§ããªå Žåã«é¢é£ãããã
Classification ã«ããã overfitting ããtraining error ãæžã£ãŠããã®ã« true error ãæãã£ãŠããç¶æ ã
Linear regression ã® overfitting ãšç¶æ³ã¯åãã
Overfitting in classifiers â Overconfident predictions
ããžã¹ãã£ãã¯ååž°ã§ã¯ã[-â, +â] ã®ã¹ã³ã¢ããã·ã°ã¢ã€ã颿°ã䜿ã£ãŠ [0, 1] ã«ãããã³ã°ããã
äžéã¯ç¢ºä¿¡åºŠ 0.5
ããžã¹ãã£ãã¯ååž°ã«ããã overfitting ã®åž°çµ
overfitting ã«ãªã
coefficients ã倧ããªå€ã«ãªã
ã¹ã³ã¢ãéåžžã«å€§ãããªãã®ã§ãsigmoid 颿°ã®çµæã 0 ãŸã㯠1 ã«éããªãè¿ããªãã
ãã®ã¢ãã«ã§ã¯ãäºæž¬ã«å¯ŸããŠéå°ã«ç¢ºä¿¡åºŠãé«ããªãã
ããžã¹ãã£ãã¯ååž°ã§ coefficients ã倧ãããªããšãsigmoid 颿°ã®åŸããæ¥ã«ãªãã
sigmoid 颿°ã®åŸããæ¥ã«ãªããšãdecision boundary ã®åšèŸºã® uncertain ãªé åãå°ãããªãã
decision boundary ã®åšèŸºã§äºæž¬ã«å¯Ÿãã確信床ãäžããã
ããŸãã«å°ã㪠uncertainly regions 㯠overfitting ãæå³ããã
Overfitting in logistic regression: Another perspective
optional
Penalizing large coefficients to mitigate overfitting
total quality = measure of fit - measure of magnitude of coefficients
measure of fit ã倧ãããšåŠç¿çšããŒã¿ã«ãããã£ããããã
measure of magnitude of coefficients ã倧ãããš overfitting ã«ãªãã
Maximum likelihood estimation (MLE)
Data likelihoodãæå€§åãã coefficients ãæ¢ã
coefficients ã®å€§ãããç€ºãææšãšããŠäœã䜿ããïŒ
Sum of squares (L2 norm) äºä¹ã®ç·å
Sum of absolute value (L1 norm) 絶察å€ã®ç·å
ãããã䜿ã£ãŠ coefficients ãèª¿æŽ penalize ãã
total quality = l(w) - ||w||2^2
l(w) : log likelihood
||w||2^2 : L2 penalty
tuning parameter λ ãå°å ¥ãã
λ = 0 ã®å Žåã¯ãéåžžã® MLE solution ãšãªãã
λ = â ã®å Žåã¯ãpenalty ã ããæ®ããâ w = 0
λ ããã®äžéã®å Žåã¯ãMLE solution ã§ penalty ãšãã©ã³ã¹ãåãããšã«ãªãã
λã®éžæã¯åŠç¿ããŒã¿ãžã®fitãšmagnitudesãšã®ãã©ã³ã¹ã
倧ããªããŒã¿ã»ããã®å Žå㯠validation set ã䜿ã£ãŠÎ»ãéžã¶ã
å°ããããŒã¿ã»ããã®å Žå㯠cross-validation ã䜿ã£ãŠÎ»ãéžã¶ã
bias-variance tradeoff
倧ããλ: high bias, low variance (e.g., ŵ =0 for λ=â)
å°ããλ: low bias, high variance (e.g., maximum likelihood (MLE) fit ofãhigh-order polynomial for λ=0)
λã¯ãã¢ãã«ã®è€éãããå¶åŸ¡ããã
Visualizing effect of regularization on logistic regression
λã倧ãããããšãcoefficients ã®å€ïŒçµ¶å¯Ÿå€ïŒãå°ãããªãã
Coefficient path
Î»ãæšªè»žã«åã coeffients ã瞊軞ã«åããšãcoefficients ãåæããŠããã
å°ãããªã£ãŠãããããŒãã«ã¯ãªããªãã
λã倧ãããããšã overconfidence ãæžã£ãŠããã
uncertain ãªé åãåºããã
Finding best L2 regularized linear classifier with gradient ascent
Gradient ascent
åæãããŸã§ w(t+1) â w(t) + ηã»âœâ(w(t)) ãç¶ãã
η ã¯step size
âœâ(w(t)) 㯠Gradient of L2 regularized log-likelihood
Gradient of L2 regularized log-likelihood
Total derivative = Derivative of (log-)likelihood - Derivative of L2 penalty
Derivative of (log-)likelihood =âl(w) / âwj
Derivative of L2 penalty = λã»â||w||2^2 / âwj
L2 regularization ã®å¹æ -2 λ wj
wj > 0 ã®å Žåã¯ã-2 λ wj ãè² ã«ãªããwjãæžå°ããã
wj < 0 ã®å Žåã¯ã-2 λ wj ãæ£ã«ãªããwjãå¢å ããã
Sparse logistic regression with L1 regularization
coefficients ã sparse ã ãšèšç®ãæ©ããªãïŒmany wj = 0ïŒ
ã©ã®å€æ°ãäºæž¬ãšé¢ä¿ããŠãããïŒ
L1 regularized logistic regression
total quality = measure of fit - measure of magnitude of coefficients
measure of fit: l(w)
measure of magnitude of coefficients: ||w||1=|w0|+âŠ+|wD|
L2 regularization ãšåããã¥ãŒãã³ã°ãã©ã¡ãŒã¿ λ ãå°å ¥ãã
â(w) - λ||w||1
Coefficient path
çŽç·çã«æžãïŒL2ãšéãã¹ã ãŒã¹ã§ã¯ãªãïŒ
å°ãããªã£ãŠãã£ãŠæçµçã«ãŒãã«ãªããïŒL2ãšã®éãïŒ
Summary of overfitting in logistic regression
ãã€ãoverfitting ãé·è°·æ°ããã
倧ããªå€ã®åŠç¿æžã¿ coeffiients ãš overfitting ã®é¢ä¿
decision boundaries ã§ã® overfitting ã®åœ±é¿åºŠãšãlinear classifier ã«ãããäºæž¬ã®ç¢ºçãšã®é¢ä¿
L2 regularize logistic regression ã®æå³
ãã¥ãŒãã³ã°ãã©ã¡ãŒã¿ λ ãå€åããããšåŠç¿ãã coefficients ã«ã©ã®ãããªå€åãèµ·ãããã
coefficient path plot ã®è§£é
gradient ascent ã䜿ã£ã L2 regularized logistic regression coefficients ã®äºæž¬
L1 regularizeation ã䜿ã£ã sparse 㪠logistic regression solution
EOF
[Classification] Week 7: Scaling to Huge Datasets & Online Learning
https://www.coursera.org/learn/ml-classification/home/week/7
ãªã gradient ascent ã¯é ããã»
äžå coefficients ãæŽæ°ãããã³ã«ããã¹ãŠã®ããŒã¿ã䜿ã£ãŠèšç®ããªããã°ãªããªãã
ããŒã¿ã¯ã©ãã©ã倧ãããªãã®ã«ãã¬ã³ã¡ã³ãã¯ããªç§ã§çµæãè¿ããªããã°ãªããªãã
ããŒã¿ãå°ããé ã¯ãã¢ãã«ã®ç²ŸåºŠãéèŠã ã£ãã
ã«ãŒãã«æ³ãGraphicalã¢ãã«
ããŒã¿ã倧ãããªã£ãŠãã¢ãã«ãã·ã³ãã«ã«ãªã£ãã
ããžã¹ãã£ãã¯ååž°ãMatrix Factorization
ããŒã¿ãããã«å€§ãããªã£ãŠãã¢ãã«ã®ç²ŸåºŠãæ±ããããããã«ãªã£ãã
䞊ååŠçãGPUãã¯ã©ã¹ã¿ã³ã³ãã¥ãŒãã£ã³ã°
Boosted tree, Tensor Factorization, deep learning, massive graphical models
åŠçæéã倧ããæ¹åããä¿®æ£ãMLã¢ã«ãŽãªãºã ã«å ãã
Stochastic gradient ascent
coefficients ã®æŽæ°ã«ããŒã¿ã®ãµãã»ããã䜿ã
Learning, one data point at a time
gradient ascent ã¯ãã¹ãŠã®ããŒã¿ãã€ã³ãã®èšç®çµæã®ç·å
åã¹ãããã§ãã¹ãŠã®ããŒã¿ã䜿ã£ãŠèšç®ããªããã°ãªããªãã
åã¹ãããã®åŠçæé ïŒ 1ããŒã¿ãã€ã³ãã®åŠçæé à ããŒã¿ãã€ã³ãæ°
ããŒã¿éã«æ¯äŸããŠåŠç¿ã®æéããããããã«ãªãã
Stochastic gradient ascent ã§ã¯ãåã¹ãããã§ç°ãªãããŒã¿ãã€ã³ãã1ã€ã ãã䜿ãã
Stochastic gradient ascent
ããžã¹ãã£ãã¯ååž°ã«ããã Stochastic gradient ascent
æ¯åç°ãªãããŒã¿ãã€ã³ãã䜿ã£ãŠèšç®ããã
åã¹ãããã®åŠçæé ïŒ 1ããŒã¿ãã€ã³ãã®åŠçæé
Comparing gradient to stochastic gradient
ã©ã¡ããè¯ããïŒ å Žåã«ããã
Stochastic gradient ã®æ¹ãåŠçæéã¯çãã
ãããã©ã¡ãŒã¿ãžã®æå¿åºŠãéåžžã«åŒ·ããªãã
Stochastic gradient ã®æ¹ããããæ©ãé«ã尀床ã«å°éãããããã€ãºïŒã¶ãïŒã倧ãããªãã
æéãçµã€ãšãgradient ãæçµçã«ã¯è¿œãä»ãã
Stocastic gradient ã¯ãgradientã®æ¹è¯ã§ãè¯ãã¹ã±ãŒã©ããªãã£ããããçŸå®äžçã«å€§ããªåœ±é¿ãäžããããæ£ããæŽ»çšããã«ã¯ããªãããŒã§ããã
Why would stochastic gradient ever work???
gradient ã¯ãã£ãšãæ¥åŸé ã®ããã¹ãããªæ¹åã ãããç»ããæ¹åã§ããã°ã©ã®æ¹åã§ãã£ãŠãæçšã§ããã
gradient ã®ããã¹ãããªæ¹åã¯ããã¹ãŠã®ããŒã¿ãã€ã³ãããåŸãããæ¹åã®ãç·åãã§ããã
stochastic gradient ascent ã§ã¯ãã²ãšã€ã®ããŒã¿ãã€ã³ãããç»ãæ¹åãåŸãã
ã»ãšãã©ã®å Žå㯠likelihood ã¯é«ããªããçšã«äœããªãããå¹³åçã«ã¯æ¹åããŠããã
Convergence path
Stochastic gradient ã¯ãã€ãºãå«ã¿ãªããçºæ¯ããªããæé©è§£ã«è¿ã¥ãã
åæãããšããã§ãçºæ¯ããŠããã
gradient ã¯ãã£ãããšã¹ã ãŒãºã«æé©è§£ã«è¿ã¥ãã
Stochastic gradient: practical tricks
åã¹ãããã§ããŒã¿ãã€ã³ã1ã€ã ãã䜿ã£ãŠãã©ã¡ãŒã¿ãæŽæ°ããã®ã§ãããŒã¿ã®äžŠã³é ããã€ã¢ã¹ãçã¿åºã
ããŒã¿ã®ã·ã¹ããããã¯ãªé çªïŒè² ã®å€ãå ã幎霢ãè¥ãé ããªã©ïŒã¯å€§ããªãã€ã¢ã¹ãçã
åŠç¿ãããåã«ããŒã¿ãã·ã£ããã«ãã
Choosing the step size η
stochastic gradient ã«ãããã¹ããããµã€ãºã®éžæã¯ gradient ã«ãããã¹ããããµã€ãºã®éžæãšäŒŒãŠããããstochastic gradient ã§ã¯éåžžã«äžå®å®ã§ããã
ã¹ããããµã€ãºãå°ãããšåæãããŸã§ã«æéããããã
ã¹ããããµã€ãºã倧ãããšå€§ããæ¯åããã
ã¹ããããµã€ãºã倧ãããããš goes to crazyãïŒæé©è§£ããé ããšããã§æ¯åããŠããïŒ
ã¹ããããµã€ãºã®éžæã¯ãgradient ãšæ¯ã¹ãŠå€ãã® trial and error ãå¿ èŠãšããã
exponential ãªæ¢çŽ¢ç©ºéã®äžã§è©Šãã
ãŽãŒã«ïŒå°ããããηãšå€§ããããηãèŠã€ããããã« learning curve ãæãã
ã€ãã¬ãŒã·ã§ã³ã®ãã³ã«ã¹ããããµã€ãºãå°ããããããšããã®ã¯ stochastic gradient ã«ã¯éèŠã
ηt = η0 / t
Donât trust the last coefficientsâŠ
stochastic gradient ã¯æé©è§£ã®åšèŸºã§æ¯åããŠããããããå®å šã«ã¯åæããªããã
ãªã®ã§ããæåŸã®å€ãã¯ãè¯ãå€ã§ãããããããªãããæªãå€ã§ãããããããªãã
ãã€ãºãæå°åããããã«ãæåŸã® coefficients ãè¿ãã®ã§ã¯ãªãããããŸã§ã®åºåã®å¹³åã䜿ãã
Learning from batches of data
ïŒoptionalã®ãã岿ïŒ
Measuring convergence
ïŒoptionalã®ãã岿ïŒ
Adding regularization
ïŒoptionalã®ãã岿ïŒ
Online learning: Fitting models from streaming data
Batch learning: åŠç¿ã«å¿ èŠãªããŒã¿ãåŠç¿éå§æã«ãã¹ãŠããã£ãŠããã
Online learning: æéã®çµéãšãšãã«åŠç¿çšã®ããŒã¿ãå°çãããããŒã¿ãå°çãããåŠç¿ããªããã°ãªããªãã
äŸãã°ãåºåã¿ãŒã²ãã£ã³ã°
ãŠãŒã¶ãŒã®è¡åïŒã¯ãªãã¯ãããã©ããããªã©ïŒã«å¿ããŠãããŒã¿ã远å ããŠåŠç¿ããã
ãªã³ã©ã€ã³åŠç¿ã§ã¯ãåã¿ã€ã ã¹ãããã§
å ¥åããŒã¿ãåŸã
äºæž¬ããã
å®éã®çµæã確èªãã
åã¿ã€ã ã¹ãããã§ coefficients ãå³æã«æŽæ°ããªããã°ãªããªãã
Stochastic gradient ascent ã¯ãªã³ã©ã€ã³åŠç¿ã«äœ¿ããã
åã€ãã¬ãŒã·ã§ã³ã§ããŒã¿ãã€ã³ã1ã€ã ãã䜿ãããã
coefficients ãå³æã«æŽæ°ããPros & Cons
Pros
ã¢ãã«ã¯åžžã«ææ° â ã»ãšãã©ã®å Žåã¯ç²ŸåºŠãé«ã
èšç®ã³ã¹ããå°ãã
ãã¹ãŠã®ããŒã¿ãèç©ããå¿ èŠããªãã
Cons
ã·ã¹ãã å šäœãéåžžã«è€éã«ãªã
ã·ã¹ãã ãæ§ç¯ãç¶æããçŸå®çãªã³ã¹ãã
ã»ãšãã©ã®äŒæ¥ã¯ãæ¥æ¬¡ãæ¯æã鱿¬¡ã§ããŒã¿ãä¿åããã©ã¡ãŒã¿ãæŽæ°ããã·ã¹ãã ãæ§ç¯ããŠããã
Summary of scaling to huge datasets & online learning
䞊ååã«ããã¹ã±ãŒãªã³ã°
ãã«ãã³ã¢ããã»ããµ
ã³ã³ãã¥ãŒã¿ã¯ã©ã¹ã¿
ã¹ã±ãŒã«ããã倧ããªæ©äŒ
䞊åïŒåæ£MLã¢ã«ãŽãªãºã ã®å¿ èŠæ§
ãŸãšã
stochastic gradient ã«ããåŠç¿ã¢ã«ãŽãªãºã ã®åçãªé«éå
stochastic gradient ããªãæ©èœããã®ãã«ã€ããŠã®çè§£
stochastic gradient ã®å®éã®é©çš
ãªã³ã©ã€ã³åŠç¿ã®åé¡
stochastic gradient ãšãªã³ã©ã€ã³åŠç¿ã®é¢é£
EOF
[Classification] Week 6: Evaluating classifiers: Precision & Recall
https://www.coursera.org/learn/ml-classification/home/week/6
ã¬ã¹ãã©ã³ã®ããã¢ãŒã·ã§ã³ã®ããã«ã¬ãã¥ãŒã䜿ãã
30%顧客ãå¢ããããã«ãã¬ãã¥ãŒã䜿ã£ãŠãä¿¡é Œæ§ã®é«ããããŒã±ãã£ã³ã°ãã£ã³ããŒã³ãæã€ã
reviews ãã€ã³ããããgreat quotes ã great spokespeople ãã¢ãŠããããã
positive ãªã¬ãã¥ãŒã sentiment classifier ã§å€å¥ããã
positive ãšå€å¥ãããæç« ãWebãµã€ãã«èªåçã«æ²èŒããã
What does it mean for a classifier to be good?
è¯ã粟床ãšã¯äœãïŒ
binary classification ã§ã©ã³ãã 㪠classification ã ãš classification error 㯠0.5 ãšãªããïŒbaselineïŒ
kåã®ã¯ã©ã¹ãªã classification error 㯠1 - 1/k ãšãªãã
å°ãªããšãããããè¶ããªããã°ãªããªããã§ãªããšæå³ããªãã
inbalanced problems ã®çœ
90% ã®æç« ã negative ã ã£ãå Žåããã¹ãŠã®æç« ã negative ãšå€å®ããã°ã粟床ã¯90%ãšãªãã
粟床ãšããŠã¯çŽ æŽããããèªåã«ã¯äœ¿ãç©ã«ãªããªããïŒãšããã±ãŒã¹ïŒ
èªååãããããŒã±ãã£ã³ã°ãã£ã³ããŒã³ã§ã10åã®ã¬ãã¥ãŒãWebãµã€ãã«èŒããå ŽåïŒ
PRECISION: negative ãªæç« ãééããŠæ²èŒããŠããªããïŒ
RECALL: positive ãªæç« ãééããŠéæ²èŒã«ããŠããªããïŒ
粟床 accuracy ã¯ãããã®åé¡ãããŸãæããããªãã
Precision: Fraction of positive predictions that are actually positive
ééã£ãŠ negative ã positive ãšå€å¥ããŠããªããïŒ
Precision = true-positive / (true-positive + false-positive)
ãã¹ã: 1.0
ã¯ãŒã¹ã: 0.0
Positive ãšå€å¥ããã6ã€ã®ããŒã¿ã®ãã¡æ¬åœã« positive ãªã®ã¯4ã€ã ã£ããšããã
true-positive = 4, false-positive = 2
Precision = 4 / (4+2) = 0.66
ãªã precision ãéèŠãã
é«ã precision ã¯ãpositive ãšå€å¥ããããã®ãæ¬åœã« positive ã§ããç¶æ ã«è¿ãããšã瀺ãã
Recall: Fraction of positive data predicted to be positive
æ¬åœã«ãã¹ãŠã® positive ãæ€åºã§ããŠãããïŒ
Recall = true-positive / ( true-positive + false-negative )
ãã¹ã: 1.0
ã¯ãŒã¹ã: 0.0
æ¬åœã¯ positive ãªããŒã¿6ã€ã®ãã¡ã4ã€ã positive ãšå€å¥ããã2ã€ã negative ãšå€å¥ããããšããã
true-postiive = 4, false-negative = 2
Recal = 4 / (4+2) = 0.66
ãªã Recall ãéèŠãã
é«ã Recall ã¯ããã¹ãŠã® positive ãæ€åºã§ããŠããç¶æ ã«è¿ãããšã瀺ãã
Precision-recall extremes
楜芳çãªã¢ãã«ã¯ãããå€ãã®ããŒã¿ã positive ãšå€å¥ããã¡ã
recall ãé«ããprecision ãäœããªãã
æ²èгççãªã¢ãã«ã¯ãããå°ãªãããŒã¿ã positive ãšå€å¥ããã¡ã
recall ãäœããprecision ãé«ããªãã
precision ãš recall ã®ãã©ã³ã¹
楜芳çãªã¢ãã«ã¯ããå€ãã® positive ãå€å¥ããããããå€ãã® false-positive ãå«ãã
æ²èгçãªã¢ãã«ã¯ããå°ãªã positive ãå€å¥ããããããå°ãªã false-positive ãå«ãã
Tradeoff precision and recall
precision ãš recall ã®ãã¬ãŒããªãã¯ã³ã³ãããŒã«å¯èœãïŒ
P(y=+1| x) 確信床ã䜿ãã°å¯èœã
æ²èгçãªã¢ãã«ãæ§ç¯ããå Žåã«ã¯ P(y=+1| x) ãããé«ãå€ã®æã ã positive ãšå€å¥ããã°ããã
if P(y=+1| x) > 0.999 then +1 else -1
楜芳çãªã¢ãã«ãæ§ç¯ããå Žåã«ã¯ P(y=+1| x) ãããäœãå€ã®æã positive ãšå€å¥ããã°ããã
if P(y=+1| x) > 0.1 then +1 else -1
precision ãš recall ã®ãã¬ãŒããªããéŸå€ã§ã³ã³ãããŒã«ãã
Precision-recall curve
t = 1.0 ãšããŠæ²èгç㪠precision = 1.0, recall = 0.0 ãªã¢ãã«ããå§ããŠãtãåŸã ã«äžããŠãã£ãæã
çæ³çãªã¢ãã«ã¯ t ãäžããŠã precision ãäžããããrecall ãäžãã£ãŠããã
çæ³ã¯ precision = recall = 1.0
å®éã«ã¯ããã¯ãªãããprecision ãäžãã£ãŠãããïŒprecision-recall curveïŒ
ã©ã®ã¢ãã«ãè¯ããïŒ ã©ããã£ãŠæ±ºãããïŒ
ã¢ã«ãŽãªãºã ãæ¯èŒãã
F1 measure, area-under-the-curve (AUC), ...
ãããã㯠Precision at k
kåã®äºæž¬ãããæã® precision ãææšãšããŠæ¯èŒããã
äŸãã°ã5åã®äºæž¬ããããšãã« precision = 0.8 ãšãã
Summary of precision-recall
classification accuracy / error ã¯åžžã«é©åãªè©äŸ¡ææšã§ãããšã¯éããªãã
precision 㯠positive ãšå€å®ããããã®ã確ãã« positive ã§ãããã©ããã瀺ãã
recall 㯠positive ãªãã®ã positive ãšå€å®ã§ããŠãããã瀺ãã
precision-recall ã®ãã¬ãŒããªãã¯ç¢ºä¿¡åºŠãéŸå€ãšããŠèšå®ããã
precision-recall ã¯ã«ãŒããæãã
precision at k ã䜿ã£ãŠã¢ãã«ãæ¯èŒã§ããã
EOF
Watson Analyticsã¢ã«ãŠã³ãã®äœææ¹æ³ïŒ2016/04/09çïŒ
以äžã¯2016幎4æ9æ¥æç¹ã§ç¢ºèªããWatson Analyticsã®ã¢ã«ãŠã³ãã®äœææé ã§ããæéãçµã€ãšè¥å¹²å€ããå¯èœæ§ãããããšããäºæ¿ãã ããã
1. Watson Analyticsã®ãµã€ãã«è¡ã
http://www.ibm.com/analytics/watson-analytics/us-en/
äžèšURLãéãããªã¬ã³ãžã®ãTry it for Freeããã¯ãªãã¯ããã
2. ã¢ã«ãŠã³ããç»é²ãã
âPlease complete your registration for Watson Analytics" ãšèšãããã®ã§ãã¡ãŒã«ã¢ãã¬ã¹ãšãã«ããŒã ããã¹ã¯ãŒããšåœåãå ¥åããŠãRegisterããã¯ãªãã¯ããã
確èªç»é¢ãåºãŠç¢ºèªã¡ãŒã«ãéã£ãæšã衚瀺ãããã
3. ã¡ãŒã«ã¢ãã¬ã¹ã®ç¢ºèª
ç»é²ããã¡ãŒã«ã¢ãã¬ã¹ã«ç¢ºèªã®ã¡ãŒã«ãå±ãã®ã§ããValidate Email Addressããã¯ãªãã¯ããŠç¢ºãã«èªåã®ã¡ãŒã«ã¢ãã¬ã¹ã§ããããšã確èªããã
4. ç»é²ããã¢ã«ãŠã³ãã䜿ã£ãŠãã°ã€ã³ãã
IBMã®ãµãŒãã¹ã®ãã°ã€ã³ç»é¢ã«é£ã°ãããã®ã§ãä»ãç»é²ããã¡ãŒã«ã¢ãã¬ã¹ãšãã¹ã¯ãŒãã䜿ã£ãŠãã°ã€ã³ããã
5. Watson Analyticsã®ããŒã ç»é¢ã«å°ç
Watson Analyticsã®ããŒã ç»é¢ã«å°çããã°ã¢ã«ãŠã³ãäœæã¯å®äºã
以äžã
[Classification] Week 5: Boosting
https://www.coursera.org/learn/ml-classification/home/week/5
ã·ã³ãã«ãªïŒåŒ±ãïŒclassifierã¯è¯ãã
äœã忣ãšéãåŠç¿ã
ãããé«ããã€ã¢ã¹
é©åãªclassifierãæ¢ãã«ã¯
ãã®1: 説æå€æ°ãå¢ãããïŒæ±ºå®æšã®ïŒæ·±ããå¢ããã
ãã®2: ïŒïŒ
Boostingã«é¢ããåã
è€æ°ã®åŒ±ãlearners(classifiers)ã¯çµã¿åãããŠãã匷ãlearnerãäœãããïŒ
Schapire (1990) Boosting
ã·ã³ãã«ãªææ³ã忥çã§åºã䜿ããããKaggleã§åã£ã
Ensemble classifier
Ensemble Methods
åäžã®classifierãè€æ°çµã¿åãããŠäºæž¬ã®ããã«æç¥šããã
åclassifierã®äºæž¬çµæ f(x) ã«éã¿ã¥ã w ãããã
äžè¬çã«ã¯
y^ = sign(Σw^t ft(x))
Boosting
Boostingã§ã¯äºæž¬ãããŸããããªãïŒé£ããã倱æããïŒãšããã«ãã©ãŒã«ã¹ãã
Decision stumpãšãã§
éèŠãªããŒã¿ãã€ã³ãã«ã€ããŠã¯ αi ã§éã¿ã¥ãããã
ããéèŠãªããŒã¿ãã€ã³ãã«ã¯ãã倧ãã αi ãã
åŠç¿ã®æã«ã¯ãåã«ããŒã¿ãã€ã³ãã αi åããããã®ãšããŠæ±ãã
äŸã㰠αi ã 2 ãªãããã®ããŒã¿ãã€ã³ãã®æ°ãäºåã«ããã
Boosting = Greedy learning ensembles from data
äºæž¬ã«å€±æããããŒã¿ãã€ã³ãã®ãŠã§ã€ããäžãã
AdaBoost
AdaBoost: learning ensemble
αi = 1/N ããå§ãã
For t = 1,âŠ,T
Learn ft(x) with data weights αi
Compute coefficient ŵt
Recompute weights αi
æçµçãªã¢ãã«ã¯ y^ = sign(Σw^t ft(x))
Computing coefficient ŵt
ft(x)ãè¯å¥œãªããŠã§ã€ããå°ãããè¯ããªããªã倧ãã
åé¡ã«å€±æããããŒã¿ãã€ã³ãã®æ°ããŠã§ã€ãã«ãã
weighted error = äºæž¬ã«å€±æããããŒã¿ãã€ã³ãã®ãŠã§ã€ãç·å / å šããŒã¿ãã€ã³ãã®ãŠã§ã€ãç·å
coefficient ŵtã®èšç®
coefficient ŵt = 1/2 * ln( (1-weighted_error(ft)) / weighted_error(ft))
Recompute weights αi
αiã®æŽæ°
äºæž¬ãåœãã£ãŠããã αi = αi * e^(-ŵt)
äºæž¬ãã¯ãããŠããã αi = αi * e^(ŵt)
αi ã®æ£èŠå
äºæž¬ãã¹ãå€ããªããšÎ±iãéåžžã«å€§ãããªã
äºæž¬ãã¹ãæžããšÎ±iãéåžžã«å°ãããªã
æ°å€çãªå€åã倧ãããªãã®ã§ãæ£èŠåãã
ã€ãã¬ãŒã·ã§ã³ãã¹ãŠã® αi ã®ç·åã1ã«ãªãããã«æ£èŠåã
αi = αi / Σαj
AdaBoost example
t=1: ãªãªãžãã«ã®ããŒã¿ããåŠç¿ããïŒã€ãã¬ãŒã·ã§ã³1ïŒ
äºæž¬ãã¹ããããŒã¿ãã€ã³ãæ°ã䜿ã£ãŠÎ±iã調æŽãã
t=2: éã¿ã¥ãããããŒã¿ã䜿ã£ãŠåŠç¿ããïŒã€ãã¬ãŒã·ã§ã³2ïŒ
çµã¿åããçµæã¯éã¿ã¥ãããclassifierã®ç·åãšãªã
30åã€ãã¬ãŒã·ã§ã³ããŠã¿ãçµæã® decision boundary ãèŠã
AdaBoost summary
For t = 1,âŠ,T
Learn ft(x) with data weights αi
Compute coefficient ŵt
Recompute weights αi
Normalize weights αi
æçµçãªã¢ãã«ã¯ y^ = sign(Σw^t ft(x))
Boosted decision stumps
ãã¹ãŠã®èª¬æå€æ°ã® decision stump ãèŠãŠããã£ãšã decision error ãäœããã®ã ŵt ãèšç®ããããã® weighted_erorr(ft) ãšããŠäœ¿ãã
Boosting convergence & overfitting
ã€ãã¬ãŒã·ã§ã³ãç¹°ãè¿ããš boosting ã® training error 㯠0 ã«ãªãã
ãã¯ãã«ã«ã«ã¯ç¡éã«ã€ãã¬ãŒã·ã§ã³ãç¹°ãè¿ãã°æçµçã«ã¯ 0 ã«ãªã
training error ãæ¯åãããã¯ãã
åã€ãã¬ãŒã·ã§ã³ã weighted_error(ft) < 0.5 ãšããåé¡ãåžžã«èŠã€ãããããšã¯éããªãã
極端ãªäŸïŒïŒãšïŒãéãªã£ãŠãããšåé¡ã§ããªãã
Boosting ã® test error ã¯å®åžžç¶æ ã«è¿ã¥ãã
overfitting ã«å¯ŸããŠèæ§ã匷ã
ã€ãã¬ãŒã·ã§ã³ã®åæ° T ã«ã€ã㊠sensitive ã«ãªãå¿ èŠã¯ãªãã
ãšã¯èšããæçµçã«ã¯ overfitting ã«ãªãã®ã§ãTã®æå€§å€ãéžã¶å¿ èŠãããã
ã〠boosting ãæ¢ãããšå€æãããïŒ
ããŒã¿éãå€ããšã â validation set ã䜿ã
ããŒã¿éãå°ãªããšã â cross validation ãè¡ã
Summary of boosting
Boostingã®æŽŸçãšãé¡äŒŒã®ã¢ã«ãŽãªãºã
Boostingã®æ°çŸã®æŽŸçããã
Gradient boosting: AdaBoostã«äŒŒãŠãããåºæ¬çãªåé¡ãè¶ ããæã«äŸ¿å©
ensemblesãåŠç¿ããã¢ãããŒãã®äžã§æéèŠãªãã®
Random Forest:
Bagging: ããŒã¿ã®ãµãã»ãããäœã£ãŠæšãã€ãããå¹³åã䜿ã£ãŠäºæž¬ããã
boosting ããã·ã³ãã«ã§äžŠååãããã
äžè¬çã«ã¯boostingããé«ããšã©ãŒãèµ·ããïŒã€ãã¬ãŒã·ã§ã³ã®Tãåãå ŽåïŒ
Boostingã®ã€ã³ãã¯ã
ãã£ãšãæçšãªæ©äŒåŠç¿ã®ææ³
ã³ã³ãã¥ãŒã¿ããžã§ã³ Extremely useful in computer vision
ç«¶æã§åŒ·ã Used by most winners of ML competitions (Kaggle, KDD Cup,âŠ)
å®éã«ãããã€ãããŠããMLã·ã¹ãã 㯠model ensembles ã䜿ã£ãŠãã Most deployed ML systems use model ensembles
EOF
[Classification] Week 4: Preventing Overfitting in Decision Trees
https://www.coursera.org/learn/ml-classification/home/week/4
Overfitting review
logistic regressionã«ãããoverfitting
ã¢ãã«ãè€éã«ãªããšããæç¹ãŸã§ training error ã true error ãæžå°ããã
ã¢ãã«ãè€éã«ãªãããããšãtraining error ã¯äžããã true error ã¯äžæãå§ããã
ãã¬ãŒãã³ã°ããŒã¿ã§ã¯ãšã©ãŒãäžããããæ°ããããŒã¿ã ãšãšã©ãŒãäžããã
ãã®ç¶æ ãoverfitting
overfitting -> overconfident prediction
degree ãäžãããšãdecision boundaries ãããã¿ã«çްãããªã
bad overfitting, crazy overfitting
Overfitting in decision trees
Decision stump (Depth 1)
äžã€ç®ã®èª¬æå€æ° x[1] ã§åå²ããã
depth ãæ·±ãããŠãããšã©ããªããïŒ
training errorã¯æžã£ãŠãããdecision boundariesãè€éã«ãªã£ãŠããã
training error ã 0.00 ãšãã«ãªãã®ã¯ big warning
ããæ·±ãããªãŒã¯ãããäœã training error ãå®çŸããã
training error ãã0ããšããã®ã¯å®ç§ãªã¢ãã«ãªã®ãïŒ
ããã§ã¯ãªãã
ãªã depth ãæ·±ããããš training error ãæžãã®ãïŒ
Given a subset of data M (a node in a tree)
For each feature hi(x):
-1. Split data of M according to feature hi(x)
-2. Compute classification error split
Chose feature h*(x) with lowest classification error
ããããååå²ã§ training error ãæžãããããªèšèšã«ãªã£ãŠããã
å®éã® loan data ã§æ€èšŒããŠã¿ããšã
training error ãš validation error ãæ¯èŒããŠãvalidation error ãæå°ã«ãªãã¢ãã«ããã¹ãã®depthã
Principle of Occam's razor: Simpler trees are better
Principle of Occam's Razor ãªãã«ã ã®ååã®åå
"Among competing hypotheses, the one with fewest assumptions should be selectedâ, William of Occam, 13th Century
è€æ°ã®æžå°ã説æããæãè€æ°ã®åå ã§èª¬æããããããåäžã®åå ã§èª¬æã§ããæ¹ãéžæãã¹ãã§ããã
ãªãã«ã ã®ååã decision trees ã«é©çšãããš
åã validation error ã ã£ãå Žåã«ãïŒã·ã³ãã«ãšè€éã®ïŒäžéçãªã¢ãã«ãšãè€éãªã¢ãã«ãšã©ã¡ããéžã¶ã¹ããïŒ
äžéçãªã¢ãã«ïŒããè€éã§ã¯ãªãæ¹ïŒã§ããã
Modified tree learning problem
äœã classification error ã®ãã·ã³ãã«ãªã decision tree ãæ¢ãã
ã©ããã£ãŠããã·ã³ãã«ãª tree ãæ¢ããïŒ
Early stopping: tree ãè€éã«ãªããããåã«ã¢ã«ãŽãªãºã ãæ¢ããã
Pruning: ã¢ã«ãŽãªãºã ãçµäºããåŸã« tree ãåãåã£ãŠã·ã³ãã«ã«ããã
Early stopping for learning decision trees
æ·±ã tree ã¯è€éããäžæããã
Early stopping condition 1: Limit the depth of a tree
Early stopping condition 1: Limit depth of tree
ãããããæå€§ã®æ·±ã max_depth ãæ±ºããŠããã
ã©ããã£ãŠ max_depth ãæ±ºãããïŒ
validation set ã cross-validation ã䜿ãã
Early stopping condition 2: Use classification error to limit depth of tree
Early stopping condition 2: No split improves classification error
æ¬æ¥ãåsplitã§ã¯ã©ã¹ãå®å šã«äºæž¬ã§ããããã«ãªããŸã§splitãååž°ãããããã©ã®èª¬æå€æ°ã§splitããŠã classification error ãæ¹åãããªãå Žåã«ããã§åæ¢ãããã
classification errorãæ¹åãããªãå Žåã®çŸå®çãªå¯ŸåŠæ³
magic parameter ε ãå°å ¥ããããšã©ãŒã ε ããæ¹åããªãã£ããæ¢ããã
ãã®æ¹æ³ã«ã¯ããã€ãã®çœ ãããïŒsee pruning sectionïŒ
å®éã«ã¯éåžžã«äŸ¿å©ãªæ¹æ³
Early stopping condition 3: Stop if number of data points contained in a node is too small
Early stopping condition 3: Stop when data points in a node <= Nmin
ããŒã¿ãã€ã³ããèšå®ããéŸå€ãäžåã£ãã忢ããã
ãšãŠãå°ãªãããŒã¿ãã€ã³ããããªãsplitã¯æãããŠä¿¡çšã§ããã®ãïŒ
äŸãã°ãããŒã¿ãã€ã³ã3ããã¡ Safe 1, Risky 2 ãªã©ã
Summary of decision trees with early stopping
Early stopping: Summary
Limit tree depth: äžå®ã®æ·±ããè¶ ããã忢ãã
Classification error: classification error ãååã«äœæžããŠããéã¯ç¶ç¶ãã
Minimum node âsizeâ: å°ãªãããŒã¿ãã€ã³ãããå«ãŸãªãããŒãã®åå²ã¯è¡ããªãã
Greedy decision tree learning
Step 1: 空ã®ããªãŒããå§ãã
Step 2: 説æå€æ°ãäžã€éžã³splitãã
ããªãŒã®åsplitã«ãããŠ:
Step 3: 忢ããæ¡ä»¶ã«åèŽãããæ¢ããŠããã®ããŒãã«ãããäºæž¬ãäœæããã (Stopping conditions 1 & 2 or Early stopping conditions 1, 2 & 3)
Step 4: 忢ã§ããªããã°ãStep 2 ã«è¡ããååž°ã㊠split ãç¶ç¶ããã
Overfitting in Decision Trees: Pruning
ïŒOptional ãªã®ã§äžæŠå²æïŒ
Summary of overfitting in decision trees
decision trees ã«ããã overfitting ãå€å¥ãã
early stopping ã«ãã£ãŠ overfitting ã鲿¢ãã
tree depth ãå¶éãã
classification error ãäœæžããªãã£ãã split ãæ¢ãã
å°ãªãããŒã¿ãã€ã³ããããªãäžéããŒã㯠split ããªãã
è€é㪠tree ã® pruning ã«ãã£ãŠ overfitting ã鲿¢ãã
Use a total cost formula that balances classification error and tree complexity
Use total cost to merge potentially complex trees into simpler ones
EOF
[Classification] Week 3: Decision Trees
https://www.coursera.org/learn/ml-classification/home/week/3
Predicting potential loan defaults
ããŒã³ãè¿æžãããªãå¯èœæ§ãäºæž¬ãã
äœã®èŠçŽ ãããŒã³ã®ãªã¹ã¯ãé«ãããïŒ
ã¯ã¬ãžãããã¹ããªãåå ¥ãæéãå人æ å ±
ããŒã³ç³è«ãã€ã³ããããšããŠãClassifier Modelã䜿ã£ãŠSafe/Riskyãå€å¥
Decision trees: Intuition
å ¥åã«è€æ°ã®èŠçŽ ïŒCredit, Income, TermïŒããã£ãæã®ã¹ã³ã¢ãäºæž¬ããã
ããªãŒæ§é ã«ããå Žååã
Decision tree learning task
Observations ããæšæ§é ãäœãã
ãã¬ãŒãã³ã°ããŒã¿ã䜿ã£ãŠ quality metric ãæé©åããã
Classification Error
ãšã©ãŒ = äºæž¬ã«å€±æããæ° / äºæž¬ããæ°
ãã¹ãã¯0.0ãææªã¯1.0
Classification errorãæå°åããæšæ§é ãèŠã€ãã
ã©ããã£ãŠæé©ãªæšãèŠã€ãããïŒ
åè£ãšãªãæšã¯ææ°é¢æ°çã«å¢ããã
NPå°é£
ã·ã³ãã«ãªïŒgreedyïŒã¢ã«ãŽãªãºã ã¯ãè¯ããæšãèŠã€ãã
approxymately minimize classification error
Greedy decision tree learning: Algorithm outline
Step1: ãã¹ãŠã®ããŒã¿ãç©ºã®æšããå§ããã
Step2: äœããã®èª¬æå€æ°ã§åå²ãã
äŸãã°ãã¯ã¬ãžãããã¹ããª
Step3: äºæž¬ããã
Step4: å®å šã«äºæž¬ã§ããªãå Žåã«ã¯ãããã«ååž°çã«ïŒå¥ã®èª¬æå€æ°ã§ïŒåå²ãã
Feature split learning = Decision stump learning
åŠç¿çšããŒã¿ããå§ãã
ãã¹ãŠã®ããŒã¿ããå§ãã
ã«ãŒãããŒãã§ãã¯ã©ã¹ïŒoutcomeïŒããšã«åé¡ãã
ç¹å®ã®èª¬æå€æ°ïŒäŸãã° creditïŒã§åå²ããã
åå²ããåŸã®ããŒãã¯äžéããŒãïŒintermediate nodesïŒãšãªãã
äžéããŒãã§ã®äºæž¬ã¯ããã®ããŒãã«å«ãŸããããžã§ãªãã£ãšãªãã¯ã©ã¹ãçšããã
Selecting best feature to split on
æé©ãªèª¬æå€æ°ã§åå²ããå¿ èŠãããã
äŸãã°ã credit ãš term ã®2ã€ã®å€æ°ããã£ãå Žåã«ã©ã¡ãã§åå²ãã¹ããïŒ
ããŒããã©ã®ããã«å¹ççã«åå²ãããïŒ
classification errorãèšç®ãããšããã¢ã€ãã£ã¢
ã«ãŒãããŒãã®majorityã§å€æãããšãerrorã¯0.45
creditã§åå²ãããš 0.2ãtermã§åå²ãããš0.25ã«ãªãã
ããäœãerrorãšãªã credit ã§ã®åå²ãè¡ãã
èŠããã«ãgreedy decision tree learning ãšã¯
説æå€æ°ã®ãã¡ãsplitã®ãšã©ãŒãäžçªäœããªã倿°ã䜿ã£ãŠåå²ããææ³ã
Decision Tree Learning: Recursion & Stopping conditions
ããªãŒã®åå²ããã€æ¢ãããïŒ
åããŒãã§100%äºæž¬ãã§ããããã«ãªã£ããçµããïŒâããŒãã®æã€yïŒoutcomeïŒãå šéšåãïŒã
100%äºæž¬ãã§ããªãã®ã§ããã°ãä»ã®èª¬æå€æ°ã䜿ã£ãŠããã«åå²ããã
䜿ã£ãŠããªã説æå€æ°ããªããªã£ããçµããã
Stopping condition 1: All data agrees on y
Stopping condition 2: Already split on all features
Predictions with decision trees
predict(tree_node, input) * If current tree_node is a leaf: * return majority class of data points in leaf * else * next_note = child node of tree_node whose feature value agrees with input * return predict(next_note, input)
Multiclass classification & predicting probabilities
Multiclass prediction: outcomeã3ã€ä»¥äž
Safe, Risky, Dangerãªã©
Predicting probabilities with decision trees
æ¡ä»¶ä»ã確çã§èãã
P(y = danger | x), x: credit = poor
7 / (3+1+7) = 0.64
Decision tree learning: Real valued features
å®éã®å€ïŒå¹Žåã幎霢ãªã©ïŒãã©ãæ±ããïŒ
æ°åã®ãŸãŸæ±ããšéåŠç¿ãšãªãã
æ°åã®ãŸãŸã§ã¯ãªããéŸå€ãèšå®ããŠã¯ã©ã¹åãããã
$60kæªæºã$60k以äžããªã©ã
äºæ¬¡å 空éã§è¡šçŸã§ãã
Decision trees vs logistic regression: Example
decision boundaries ã䌌ãŠãã
æ±ºå®æšã®æ·±ããæ·±ãããŠãã
ããžã¹ãã£ãã¯ååž°ã®èª¬æå€æ°ãå¢ãããŠãã
Summary of decision trees
æ±ºå®æšã«ããåé¡åšãå®çŸ©ãã
æ±ºå®æšã®åºåãè§£éãã
greedy algorithmã䜿ã£ãŠåŠç¿ããŠæ±ºå®æšãäœã
äºæž¬ãããããã«æ±ºå®æšã蟿ã£ãŠãã
Majority class predictions ïŒãã£ãšãå€ãã¯ã©ã¹ãçšããïŒ
Probability predictions ïŒç¢ºçãäºæž¬ããïŒ
æ±ºå®æšã¯ Multiclass classification ãæ±ãã
EOF
PyInstallã䜿ã£ãŠPythonã¹ã¯ãªããããWindowsçšã®å®è¡ãã€ããªãäœæãã
Pythonã€ã³ã¿ããªã¿ã®å ¥ã£ãŠããªãWindowsç°å¢ã§ãPythonããã°ã©ã ãå®è¡ããããªã£ãã®ã§ãPythonã¹ã¯ãªãããWindowså®è¡ãã€ããªã«å€æããæ¹æ³ã調ã¹ãŠã¿ãŸããã
åææ¡ä»¶
以äžã®ç°å¢ã§ã®å®çŸæ¹æ³ã§ããå·çæç¹ã«ããã2.7ç³»ã®ææ°çã§æããŠã¿ãŸããã
Windows 7 Professional Service Pack 1 ïŒ64ãããçïŒ
Python 2.7.11
Python for Windows Extensions Build 220
PyInstaller 3.1.1
ã»ããã¢ãã
ãœãããŠã§ã¢ã®å ¥æ
ãŸããPython 2.7.11 ãããŠã³ããŒãããŸããä»åã¯64ãããç°å¢ãªã®ã§ Windows x86-64 MSI installer ã䜿ããŸãã
https://www.python.org/downloads/release/python-2711/
次ã«ãPython for Windows Extensions Build 220 ã®ãã¡ã64ãããçã§Python 2.7ã«å¯Ÿå¿ãã pywin32-220.win-amd64-py2.7.exe ãããŠã³ããŒãããŸãã
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/
ãããŠãPyInstaller 3.1.1 ãããŠã³ããŒãããŸããWindowsçã¯ZIPããã±ãŒãžã«ãªã£ãŠããã®ã§ PyInstaller 3.1.1 (zip) ãããŠã³ããŒãããŸãã
http://www.pyinstaller.org/
ãããŸã§ã§å¿ èŠãªãœãããŠã§ã¢ã®ããŠã³ããŒãã¯å®äºã§ãã
ãœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«
ãŸããPythonã®ã€ã³ã¹ããŒã«ãè¡ããŸããç¹ã«é£ããããšã¯ãããŸããã python-2.7.11.amd64.msi ãèµ·åããŠã€ã³ã¹ããŒã«ããŸãã
次ã«ã Python for Windows Extensions ãã€ã³ã¹ããŒã«ããŸããåãããã«ã€ã³ã¹ããŒã©ãèµ·åããŠã€ã³ã¹ããŒã«ãé²ããŸããéäžãPythonã®ã€ã³ã¹ããŒã«ãã£ã¬ã¯ããªã確èªãããŸãã®ã§ããããæ£ããèšå®ãããŠããããšã確èªããŠãã ããã
æåŸã«ãPyInstallerãã€ã³ã¹ããŒã«ããŸããPyInstallerã¯ã€ã³ã¹ããŒã©ã«ããã€ã³ã¹ããŒã«ã§ã¯ãªããZIPãè§£åããŠäžã«ãããã£ã¬ã¯ããªããšé©åœãªå Žæã«é 眮ããŠãããŸããä»åã¯ãCãã©ã€ãã®çŽäžã« PyInstaller-3.1 ãã£ã¬ã¯ããªãé 眮ããŸããã
以äžã§ããœãããŠã§ã¢ã®ã»ããã¢ããã¯å®äºã§ãã
Hello.pyãWindowsãã€ããªã«å€æãã
ããã§ã¯ãPythonã§æžããã Hello World ã¹ã¯ãªãããWindowsãã€ããªã«å€æããŠã¿ãŸãããã
ã¹ã¯ãªãããäœæãã
ä»åã¯ä»¥äžã®ãããªç°¡åãªPythonã¹ã¯ãªããã䜿çšããŸãã
ãã«ãçšã®ããããã¡ã€ã«ãäœæãã
次ã«ãã«ãçšã®ããããã¡ã€ã«ãäœæããŸãïŒãã¡ããã³ãã³ãã©ã€ã³ããçŽæ¥æã§å ¥åããŠãæ§ããŸããïŒã
ãã«ãçšã®ããããã¡ã€ã«ã§ã¯ãPython for Windows Extensions ã® pywintypes27.dll ãã¡ã€ã«ã®ãããã£ã¬ã¯ããªã PATH ç°å¢å€æ°ã«è¿œå ããŸããïŒãããããªããšãç§ã®ç°å¢ã§ã¯ãã«ãæã« ImportError: No system module 'pywintypes' (pywintypes27.dll) ãšãããšã©ãŒãåºãŸããïŒ
PATH ç°å¢å€æ°ãèšå®ããããhello.py ãã¡ã€ã«ãåŒæ°ãšããŠãPyInstallerã® pyinstaller.py ãå®è¡ããŸãã
ãããŸã§ã§ããœãŒã¹ã³ãŒãã® hello.py ãšãã«ãã¹ã¯ãªããã® build.bat ãæºåã§ããŸããã
Windowsçšãã€ããªãäœæãã
ããã§ã¯ãbuild.bat ãå®è¡ã㊠hello.py ã®å®è¡ãã€ããªãäœæããŸãããã
build.bat ãå®äºãããšãhello.spec ãšãããã¡ã€ã«ãšãšãã« buildãdist ãšãããµããã£ã¬ã¯ããªãäœæãããŸãã
ãã® dist ãµããã£ã¬ã¯ããªã® hello ãµããã£ã¬ã¯ããªã®äžã«ãä»åäœæãã hello.py ã®ãã€ããªïŒãšé¢é£ãã¡ã€ã«ïŒãäœæãããŠããŸãã
ããã§ hello.py ã¹ã¯ãªããããäœæããWindowsçšå®è¡ãã€ããªãã§ããŸããã
Windowsçšãã€ããªãå®è¡ãã
äœæããããã¡ã€ã«ã®ãã¡ãå®è¡ã«å¿ èŠãªã®ã¯ EXE ãã¡ã€ã«ãš DLL ãã¡ã€ã«ã§ãããããã®ãã¡ã€ã«ã ããæ®ããŠä»ã®ãã¡ã€ã«ãåé€ãã hello.exe ãå®è¡ããŠã¿ãŸãã
ããã°ã©ã ãæ£ããå®è¡ãããŠããããšãåãããŸãããã® EXE ãã¡ã€ã«ãš DLL ãã¡ã€ã«ãé åžããã°ãããšããšPythonã¹ã¯ãªããã§ãã£ãããã°ã©ã ããPythonã€ã³ã¿ããªã¿ã®ãªãWindowsç°å¢ã§ãåäœãããããšãã§ããããã«ãªããŸãã
以äžã
[Machine Learning Foundation] Week 4: Clustering and Similarity: Retrieving Documents
https://www.coursera.org/learn/ml-foundations/home/week/4
Retrieving documents of interest
ä»ãäœãããã¥ã¡ã³ããèªãã§ãããšããŠãããã«äŒŒãŠãããã®ãèŠã€ããã®ããŽãŒã«ã
ã©ããã£ãŠã䌌ãŠããããæž¬ããïŒ
æç« ãã©ããã£ãŠæ€çŽ¢ãããïŒ
Word count representation for measuring similarity
Bag of words model
èªé ã¯ç¡èŠãã
æäžã«åºãŠããåèªã®æ°ãæ°ããã
é¡äŒŒåºŠã®èšç®ã¯ãåãåèªã®åºçŸåæ°ãæããŠãå šåèªã®ç·åãåã
ææžAã®åèªã«ãŠã³ã: 1000530010000
ææžBã®åèªã«ãŠã³ã: 3000200101000
â 1 * 3 + 5 * 2 = 13 ïŒé¡äŒŒåºŠïŒ
Word Countsã®åé¡ã¯ææžã®é·ã
ææžã®é·ããåã«2åã«ãªããšãé¡äŒŒåºŠã¯4åã«ãªãã
åã ã®ææžã®åèªã®åºçŸåæ°ããããã2åã«ãªãããã
ææžAã®åèªã«ãŠã³ã: 20001060020000
ææžBã®åèªã«ãŠã³ã: 6000 400202000
â 2 * 6 + 10 * 4 = 52 ïŒé¡äŒŒåºŠïŒ
解決æ³ïŒNormalization æ£èŠå
äºä¹åå¹³æ¹ã§å²ã sqrt(1^2 + 5^2 + 3^2 + 1^2)
Prioritizing important words with tf-idf
Word Countsã®åé¡ïŒãçšããªåèª
é »åºåèªïŒthe, player, field, goalïŒãçšãªåèªïŒfutbol, MessiïŒãå§åãã
Document frequency ææžã®é »åºŠ
ãçšãªåèªããç¹åŸŽã¥ããã®ã¯ãã³ãŒãã¹ã§ã®ãåºçŸããªãå ·åãã
ããå°ãªãææžäžã«åºãŠããåèªãéèŠãã
ã€ãŸããåèªwãåºãŠããææžã®æ°ã§ãåèªwãéã¿ã¥ãïŒãã£ã¹ã«ãŠã³ãïŒããã
éèŠãªåèª
ãçšãªåèªãã ãèããã°ããã®ãïŒ
ãéèŠãªåèªããç¹åŸŽã¥ããã®ã¯ãç¹å®ã®ææžå ã§ããããåºãŠããåèªïŒcommon locallyïŒ
ã³ãŒãã¹å ã§ã¯çšã«ããåºãŠããªããïŒrare globallyïŒ
ææžå ã®é »åºŠïŒlocal frequencyïŒãšã³ãŒãã¹å ã§ã®çšãïŒglobal rarityïŒã®ãã¬ãŒããªã
TF-IDF document representation
Term frequency â inverse document frequency (tf-idf)
Term frequency 㯠Word Counts ãšåãã
Inverse document frequency 㯠log(# docs / (1 + # docs using word))
å€ãã®ææžã§äœ¿ãããŠããåèªã¯ãïŒåæ¯ãšååãè¿ã¥ããŠããã®logãªã®ã§ïŒIDFå€ã0ã«è¿ã¥ãã
çšãªåèªã¯ïŒåæ¯ã倧ãããªã£ãŠååãå°ãããªãã®ã§ïŒIDFå€ã倧ãããªãã
åèªããšã« TF ãš IDF ãèšç®ãããããæã㊠TF-IDF ãšããã
Retrieving similar documents
Nearest neighbor search è¿åæ¢çŽ¢
ã¯ãšãªãšãªãææžãšãæ€çŽ¢å¯Ÿè±¡ã®ã³ãŒãã¹
è·é¢ distance metric ãæå®ããŠããã£ãšã䌌ãŠããææžã®ã»ãããåºåããã
1 â Nearest neighbor
å ¥åã¯ã¯ãšãªã®ææžãåºåã¯ãã£ãšã䌌ãŠããææžã²ãšã€ã
ã¢ã«ãŽãªãºã
foreach doc in corpus: s = similarity(doc, query) if s < best_s: best_s = s return best_s
k â Nearest neighbor
å ¥åã¯ã¯ãšãªã®ææžãåºåã¯kåã®äŒŒãŠããææžã
Clustering documents
ãããã¯ã§ããã¥ã¡ã³ãçŸ€ãæ§é åãã
ããã¥ã¡ã³ã矀ã®äžã«ã°ã«ãŒãïŒã¯ã©ã¹ã¿ïŒãèŠã€ããã: ã¹ããŒããšããã¥ãŒã¹ãšã
åææžã®ã©ãã«ãæ¢ç¥ã ã£ããã©ããªããïŒ
ã©ãã«ãä»ãããããã¬ãŒãã³ã°çšïŒåŠç¿çšïŒã®ææžçŸ€
ã¹ããŒãããã¥ãŒã¹ããšã³ã¿ãŒãã€ã¡ã³ããç§åŠ
Multiclass classification problem ãèµ·ãã https://en.wikipedia.org/wiki/Multiclass_classification
è€æ°ã®ã¯ã©ã¹ã«å±ããææžã¯ã©ããªããïŒ
æåž«ããåŠç¿ supervised learning ã®äŸ
Clustering
ã©ãã«ã¯ç¡ããã¯ã©ã¹ã¿ã®æ§é ãæããã«ããã
å ¥åã¯ãã¯ãã«ãšããŠã®ããã¥ã¡ã³ããåºåã¯ã¯ã©ã¹ã¿ã®ã©ãã«ã
æåž«ãªãåŠç¿
äœãã¯ã©ã¹ã¿ã決ããã®ãïŒ
ã¯ã©ã¹ã¿ã決å®ã¥ããã®ã¯ãäžå¿ãšåœ¢/æ¡ããã
ããææžïŒdocïŒãã¯ã©ã¹ã¿ïŒtopic labelïŒã«å²ãåœãŠããšãã¯ã©ã¹ã¿å ã®ã¹ã³ã¢ã¯ä»ã®ãã®ããé«ãã
ä»ã®ã¯ã©ã¹ã¿ã®äžå¿ããããå²ãåœãŠãããã¯ã©ã¹ã¿ã®äžå¿ã®æ¹ãé¡äŒŒåºŠãé«ãã
k-means
åæ: é¡äŒŒåºŠã¡ããªã㯠= ã¯ã©ã¹ã¿ã®äžå¿ãžã®è·é¢ïŒå°ããæ¹ãè¯ãïŒ
ã¢ã«ãŽãªãºã
(0) ã¯ã©ã¹ã¿ã®äžå¿ã決ãã
(1) äžçªè¿ãã¯ã©ã¹ã¿ã®äžå¿ã«ã察象ãå²ãåœãŠã
(2) å²ãåœãŠããã察象ã®å¹³åå€ã䜿ã£ãŠã¯ã©ã¹ã¿ã®äžå¿ãæŽæ°ãã
(3) åæãããŸã§ 1.+2. ãç¹°ãè¿ãã
Other examples
ç»åã®ã¯ã©ã¹ã¿ãªã³ã°
ã°ã«ãŒãã«ããæ€çŽ¢
æµ·ããã³ã¯ã®è±ãç¬ã倿¥ãé²ããªã©ãªã©
å¥åº·ç¶æ ã«ããæ£è ã®ã°ã«ãŒãå
ããè¯ãéå£ãšçŸç ã®ç¹åŸŽã¥ã
äŸ: æ£è ãšçºäœã¯å€æ§ã§ããããã
芳枬ãããæéçµéã«ãã£ãŠçºäœãã¯ã©ã¹ã¿ãªã³ã°ãã
Amazonã®åå
è³Œå ¥å±¥æŽããååã®ã«ããŽãªãçºèŠããïŒãå®¶å ·ãã§ã¯ãªããåäŸãã®ãããªïŒ
ãããã¯ãããŠãŒã¶ã®ã°ã«ãŒãããçºèŠããã
æ€çŽ¢çµæãæ§é åãã
æ€çŽ¢ã®åèªã¯ãè€æ°ã®æå³ãæã€ããšããã
äŸ: cardinal ïŒé³¥ãéçããŒã ãæ¢æ©å¿ïŒ
åºåãæ§é åããããã«ã¯ã©ã¹ã¿ãªã³ã°ã䜿ã
Discovering similar neighborhoods
Task 1: å°ããåºåã§äœå® ã®äŸ¡æ Œãäºæž¬ããã
é£ãã: ã²ãšæã®ãã¡äžéšã®å°åã§ããäœå® ã®è²©å£²ããªãã
解決æ³: 䌌ããã¬ã³ãã«ããå°åãã¯ã©ã¹ã¿ãªã³ã°ããã¯ã©ã¹ã¿å ã§æ å ±ãå ±æããã
Task 2: å¶æªäºä»¶ãäºæž¬ããèŠå¯ã«ããè¯ãä»äºãããŠãããã
ãã¯ãã䌌ãŠããå°åãã¯ã©ã¹ã¿ãªã³ã°ããã¯ã©ã¹ã¿å ã§æ å ±ãå ±æã
åã ã«ããããã®å°åãäºæž¬ãããããäºæž¬ã®å¶åºŠã¯äžããã
EOF
[Regression] Week 6: Going nonparametric: Nearest neighbor and kernel regression
https://www.coursera.org/learn/ml-regression/home/week/6
Nearest neighbor regression
屿çãªæ§é ãæã¡èŸŒã¿ããå Žåã
ããŒã¿ã¯å€§éã«ããããšãåæ
1 nearest neighbor (1-NN) regression
äžçªè¿ãããŒã¿ãã€ã³ãããå€ãæšå®ãã
äžè¬çã«äººéãèããæ¹æ³ã«è¿ã
æ±ãæ¹
ã¯ãšãªXqã«ãè·é¢ããäžçªããŒã¿ãã€ã³ãXNNãèŠã€ããã®æã®YNNã䜿ãã
ãããã€å³
è·é¢ã®å®çŸ©
äžæ¬¡å ã®å Žåã¯ãŠãŒã¯ãªããè·é¢ïŒdistance(Xj,Xq) = |Xj-Xq|
倿¬¡å ã®å Žåã¯ãããããããç°ãªã次å ã«ã¯ç°ãªãéã¿ãä»ããã
sqrt(a1(Xj[1]-Xq[1])^2 + ... + ad(Xj[d]-Xq[d])^2))
ä»ã«ã¯ Mahalanobis, rank-based, correlation-based, cosine similarity, Manhattan, Hamming
ããŒã¿ãã€ã³ããå€ããšç¶ºéºã«ãã£ããããããããŒã¿ãæ¬ èœãããšãžã£ã³ããã
ããŒã¿éãå€ãå Žåã説æå€æ°ãå€ãå Žåã«åã
èšç®é
è·é¢ã®èšç®ã1å1usã100,000ããŒã¿ãã€ã³ããããšãããšãæå°ãèŠã€ããæé㯠1us * 100,000 points = 1sã
å šéšã§50msã§çµãããããå Žåã説æå€æ°ã1/20ã«æžããå¿ èŠãããïŒ100倿°â5倿°ïŒãªã©ã
k-Nearest neighbors
ããå€ãã®ããŒã¿ãã€ã³ãããäºæž¬ãããšãä¿¡é ŒåºŠãäžããã
ãã€ãºãå€ãå Žåã«ããŸããã£ããããã
å¢çãããŒã¿ãçãªãšããã§åé¡ãèµ·ããã
äžé£ç¶æ§ïŒdiscontinuitiesïŒãæã¡èŸŒãŸããã
inputã®å°ããªå€åãoutputã倧ããå€åãããã®ã§ãä¿¡é Œã§ããªããªãã
Weighted k-nearest neighbors
äºæž¬ããéãk-NNã®ããŒã¿ãã€ã³ãã®ãã¡ã䌌ãŠãããã®ã«ãã倧ããªéã¿ã¥ããããã
yq = (cqNN1*yNN1 + cqNN2*yNN2 + cqNN3*yNN3 + ... + cqNNk*yNNk) / sum(cqNNj)
ã¯ãšãªãšã®è·é¢ distance(xNNj,xq) ã倧ããïŒïŒäŒŒãŠããªãïŒå Žåã«ã¯éã¿ã¥ãä¿æ° cqNNj ãå°ãããè·é¢ãå°ããïŒïŒäŒŒãŠããïŒå Žåã«ã¯éã¿ã¥ãä¿æ°ã倧ããã
éã¿ã¥ãã®ä¿æ°ã«ã¯ã«ãŒãã«é¢æ°ã䜿ãã
ã«ãŒãã«é¢æ°
äžæ¬¡å ã®å Žå㯠Kernelλ(|xi-Ââxq|) = exp(-(xi-xq)2/λ) ã
Kernel regression
k-NNã ãã§ã¯ãªããã¹ãŠã®ããŒã¿ãã€ã³ãã«éã¿ã¥ãããã
å¢çããµããŒãããã
ããŒã«ã«ãã£ããã®ããã«ã¯ãµãã»ããã®ããŒã¿ãããã°ããã
bandwidth Î»ã®æŠå¿µ
λãçãïŒå°ããïŒåãããããšãªãŒããŒãã£ããã£ã³ã°ã«ãªããå ¥åã®å€åã«å¯ŸããŠéå°ã«ã»ã³ã·ãã£ãã«ãªããvarianceã倧ãããªãã
λãåºãïŒå€§ããïŒåãããããšã¹ã ãŒãºããããã£ããã«ãªããå ¥åã®å€åã«å¯ŸããŠå€åããªããªããvarianceãå°ãããªãã
ãã°ãã°ãã«ãŒãã«ã®éžæãããλã®éžæã®æ¹ããã£ãœã©åé¡ãšãªãã
ã©ããã£ãŠÎ»ã決ããïŒ
Cross Validation!!
Formalizing the idea of local fits
kernel regression ã¯éã¿ã¥ãïŒconstantïŒãå€ããªãã local fits ãå®çŸããã
ã¿ãŒã²ãããã€ã³ããäžå¿ãšããŠãŠã£ã³ããŠÎ»ã®äžã«å°ããã€ããŒã¿ãã€ã³ããåã蟌ã¿ãå°ããã€ããŒã¿ãã€ã³ããå€ããŠããã
ããŒã¿ãã€ã³ãããšã«éã¿ã¥ããå€ããã
ã°ããŒãã«ãªéã¿ã¥ããäœ¿ãææ³ãšãããç°ãªãã
local regression
locally weighted linear regression ãšããã®ãããã
local ãªéã¿ã¥ãã linear regression ã«æã¡èŸŒãã
variance ã®å¢å ãæå°åãã€ã€ãå¢çã«ããã bias ãæžå°ãããã
Local quadratic fit
å¢çã®åé¡ã解決ãããvariance ãå¢ããããå éšã«ãããæªã¿ãæããããšãã§ããã help capture curvature in the interior
ãªã¹ã¹ã¡ã®ããã©ã«ã
local linear regression
Discussion on k-NN and kernel regression
Nonparametricææ³
k-NNãškernel regression ã¯ãã³ãã©ã¡ããªãã¯ææ³ã®äŸ
ãã³ãã©ã¡ããªãã¯ææ³ã®äžè¬çãªãŽãŒã«
æè»æ§
f(x)ã®åæãå°ãªããã
ããŒã¿ãã€ã³ãNãå¢ããã«åŸã£ãŠè€éããå¢ãïŒâè€éãªäºè±¡ã衚çŸã§ããïŒïŒ
ä»ã«ããããã
Splines, trees, locally weighted structured regression modelsâŠ
ãã€ãºïŒãšã©ãŒïŒã®ç¡ãç¡éã®ããŒã¿ïŒÎµi=0ïŒãä»®å®ãããšã1-NN fit ã® MSEïŒbias+errorïŒã¯ 0 ã«ãªãã
ãã©ã¡ããªãã¯ææ³ãšéãã
ç¡éã®ããŒã¿ïŒÎµi=0ïŒãä»®å®ãããšãkãå¢ãããŠããã° NN fit ã® MSE 㯠0 ã«ãªãã
NN and kernel methodsã¯ããŒã¿ãæ¢çŽ¢ç©ºéãã«ããŒããŠããå Žåã«ããŸãåäœãã
for large d or small N
次å d ãå¢ãããšã空éãã«ããŒããããã«ããŒã¿ãã€ã³ã N ãå¢ããå¿ èŠãããã
è¯ãããã©ãŒãã³ã¹ã®ããã«ã¯ N = O(exp(d)) ã®ããŒã¿ãã€ã³ããå¿ èŠã
NNæ¢çŽ¢ã®è€éã
naive 㪠brute force ã¢ãããŒãã ãš 1-NN ã®æ€çŽ¢ã« O(N) ãããã
k-NN ã®æ¢çŽ¢ã«ã¯ O(Nlogk) ãããã
Nã倧ããã£ããã©ãããïŒ â Clustering & Retrieval ã®ã³ãŒã¹ã§
k-NN for classification
Classificationãæãåºã: SPAMå€å®
k-NNãClassificationã«äœ¿ã
k-NNã«ããæç¥šïŒspam or not spamïŒã«ãã£ãŠå€å®ããã
EOF
æžéçæŽ»2015
ç³è³ªå¶é Advent Calendar 2015 ã® Day24 ã§ããæ»ã蟌ã¿ã§åå ããããšã«ããŸããããœãããã®æ¹ããæ¥ãŸããã@snagaã§ããåTumblrã§ãã
æšæ¥ã¯ @tmd45 ããã®ãããã«3ã¶æçµé - TMD45'β'LOG!!!ãã§ãããæ¹ããŠãAdvent Celendarã®ä»ã®æ¹ãã¡ã®èšäºãå šéšèªãŸããŠããã ããŸããããåèã«ãªããŸããããšãŠãé¢çœãã§ãã
åã¯ã10æäžæ¬ãããããæžéçæŽ»ã«å ¥ã£ãŠããã®ã§ãç³è³ªå¶éãå«ãããã®èŸºã®è«žã ãšãã®ææã«ã€ããŠæžããŠã¿ãããšæããŸãã
â çµç·¯
å€åã«å°ãäœèª¿ã厩ããå€ã¯ããããæãæ°å³ã«ããŠãããã®ã®ãç§ã«ãªã£ãŠããããŸãäœèª¿ããããªããªãã®ã§ãã©ãããããèããŠããã®ã10æäžæ¬ããäžæ¬ãããã§ããããããæããã«å€ªã£ãŠããŠããŠãéåäžè¶³ãšã¹ãã¬ã¹ãšäœèª¿äžè¯ã®ã³ã³ããªç¶æ ããã°ããç¶ããŠããŸããã
å€ã®çµããããã«Misfitãšããè²·ã£ãŠãŠã©ãŒãã³ã°ããã£ãŠã¿ããã®ã®ãæåŸ ããã»ã©ã¯æ¹åããªããªãŒãšæããŠããŠãããã¡ãã£ãšå¹æã®ããéã£ãããšããããããªãŒãšæã£ãŠããææã§ããããŸããã
ãŸããäžéšãªã³ã©ã€ã³ã³ãã¥ããã£ïŒïŒïŒã§ã¡ã·ãããæµè¡ã£ãŠããŸããããå æ°ã«ã¡ã·ããããããã«ã¯å¥åº·ãªèº«äœãå¿ èŠããšããããšã§ããã®ç¹ãæžéçæŽ»ã«å ¥ãçç±ã®ã²ãšã€ã«ãªããŸãããå€ç¬ã®ã°ã«ã¡ãã¯ã«ã³é ã奜ãã§ãã
â 10æäžæ¬
æåã®ããã«ã±ã¯ç³è³ªå¶éã§ã¯ãªããã¡ã¹ãã£ã³ã°ã§ããã
ããªãŒããŒããŒãèªãã§ããŠã忥ãã¡ã¹ãã£ã³ã°ããšãããã®ãç¥ã£ãã®ããã®é ã§ãããèŠã¯ãå€é£ããç¿æ¥ã®æŒé£ãŸã§ïŒçŽ18æéïŒåºåœ¢ç©ãå£ã«ããªãããšããã¢ã¬ã§ãã
調ã¹ãŠã¿ãçµæãèè žã®èª¿åãè¯ããªããäœèª¿ãè¯ããªããäœéãæžãããªã©ãªã©ã®å¹æãæ³å®ãããçæŽ»ãžã®ã€ã³ãã¯ããããã»ã©å€§ãããªããšæãããã®ã§ãããšãããã1é±éããšæéãæ±ºããŠãã®æ¥ãããã©ã€ããŠã¿ãŸããã
çµæãäžé±éåŸã«1ãã以äžäœéãæžããäœèª¿ãããããè¯ãã£ãã®ã§ç¶ç¶ããŠã¿ãããšã«ããŸããããã®ãããããç¯å¶ç掻ã£ãœããªã£ãŠãããŸãã
ãã®é ã¯ããŸã æ®éã«ã«ã¬ãŒãšããé£ã¹ãŠãŸããã
â 11æäžæ¬
äœèª¿ãå°ãè¯ããªã£ãŠããã®ã§ããžã§ã®ã³ã°ãå§ããŸãããèµ°ãæ¥ã¯å€§äœ7ããã40åããããèµ°ããŸãã
ãJabra Pulseããšããå¿æãæž¬ããBluetoothã€ã€ãã³ãè³Œå ¥ããã®ã§ãããå¿æãã¢ãã¿ãŒããªãããžã§ã®ã³ã°ããããã«ãªã£ãããã以åã®ããã«åçŽã«ã¿ã€ã ã ãèŠãŠããé ãããæ¥œã«èµ°ããããã«ãªããŸãããïŒä»¥åã®ããŒã¹ã¯éãããããã§ããïŒ
â 11æäžæ¬
äœéã3ããæžã£ãã®ãèšå¿µããŠãããã¹ãããã¥ãŒã
ãã®é ãããŸã æ®éã«ã«ã¬ãŒãšãé£ã¹ãŠãŸããã
â 11æäžæ¬
ããããã€ãã³ããéãªã£ãŠæ»ã«ãããªææã§ããããçæŽ»ãµã€ã¯ã«ãçæŽ»ã¹ã¿ã€ã«ãšããäžå¿ãç¶æããŠããŸããã
â 12æäžæ¬
ç³è³ªå¶ééå§ã
ãã£ããã¯ãé£ã§ä»äºãããŠããŠãã€ãã©ã³ããäžç·ã«åã£ãŠããååïŒå ã©ãŒã¡ã³æäººïŒãç³è³ªå¶éãå§ããããšã§ããã
ãšããããã§ãåºæ¬ã麺ã»ç±³ã»ãã³ã¯é£ã¹ããã©ã³ãã«ãèãé£ã¹ãããšãå¢ããŠããŸããã
ãŸãããããŸã§ã¯æã«ã°ãªãŒã³ã¹ã ãŒãžãŒã飲ãã ãããŠããã®ã§ãããç³è³ªãèæ ®ããŠé£²ãŸãªãããã«ããŠã¿ãŸããã
â 12æäžæ¬
ãšããã€ãã³ãã«ãŠç³è³ªèŠå¯ãããšåãšã³ã«ãŠã³ãã
ãã®æã®æèŠªäŒã®æçãéã§æ¬åœã«ããã£ãã§ãã
â 12æäžæ¬
ç³è³ªå¶éãç¶ç¶äžã
åºæ¬ã麺ã»ç±³ã»ãã³ã¯é£ã¹ãŠããŸããã
ããæ¥ã®æ©åŸ¡é£¯ã¯âã®ãããªæãã§ãã
â 2ãµæéã®ææ
ãšããããã§ã10æäžæ¬ããæžéçæŽ»ã«å ¥ã£ãããã§ãããçµæãšããŠãäœéã¯6ããæžããŠã§ã¹ãã5ïœ6ã»ã³ãã»ã©æžããäœèª¿ããããªã£ãŠããŸããïŒèµ€ã®ç Žç·ã¯7æ¥ç§»åå¹³åïŒã
ç§ã«è²·ã£ããžãŒã³ãºãããšããšããµã€ãºãªãŒããŒãšãªããããã¯ããã§è€éãªæ°åãªã®ã§ããã
ããšãå人çã«çµæ§å¬ããã®ã¯ãæ°å€çãªæ¹åãããããšãªãããä»ã·ãŒãºã³ã¯ãŸã äžåºŠã颚éªãåŒããŠããããå šè¬çã«äœèª¿ãè¯ãã以åé ·ãã£ãè °çãè©ããããªããªã£ãããšããããšã ã£ããããŸãã
â çŸåšç¶ç¶ããŠããããš
çŸåšç¶ç¶ããŠããããšã¯ä»¥äžã®éãã§ãã
â 忥ãã¡ã¹ãã£ã³ã° ãå€é£ã¯æ©ãã«åããç¿æ¥ã®æŒé£ãŸã§äœãé£ã¹ãªãããšãããµã€ã¯ã«ãåºæ¬çã«ç¶æããŠããŸãã
â¡ãžã§ã®ã³ã° ãé±ã«3æ¥ãããã®ãžã§ã®ã³ã°ãç¶æããŠããŸããæ¯å7ãããå±¥æŽãèŠããšã12æã¯10æ¥ã»ã©èµ°ã£ãããã§ãã
â¢ç³è³ªå¶é ãåºæ¬çã«ãç±³ã»éººã»ãã³é¡ã¯é¿ããŠããŸãããšã¯èšããé£äºã®ã³ã¹ããæªåããŠããã®ã§ããã©ã³ãã³ãªã©ãéšåçã«å°å ¥ããŠããŸãã
ãªãããé ã¯ã¡ããã¡ãã飲ã¿ãŸãã
â ç³è³ªå¶éããã£ãŠã¿ãŠ
ããšããšçæ°Žåç©ã«ãã»ã©æãå ¥ããç¡ãã®ã§ãèªåã«ãšã£ãŠã¯ç¹ã«é£ãããªããç³è³ªå¶éãšã¯çžæ§ã¯ããæ°ãããŠããŸãããŸãããŸã峿 Œã«å¶éããŠããªãããããšããã®ããããããããŸãããã
ãã ãåºæ¬çã«ã»ãšãã©å€é£ã»äžé£ãªã®ã§ãããå®é£ç³»ã®å€é£ã¯ãåçŽã«ã飯ãæããšå³ãæ¿ãããã®ã§ãã¡ãã£ãšé£åããŠããŸããçæ°Žåç©ãšçµã¿åãããŠé£ã¹ãåæã§å³ä»ããããŠããããã§ããããã
å·éã«èãããšãã³ã³ãããšãã®æ¹ããã£ãœã©é£äºãããããããªæ°ãããŠããŸããå®çªã¯ããµã©ãããµã©ãããã³ããã§åµããã©ã³ã¯ãã«ãããããã§ãããããä»äºäžããããã«æ¯æ¥19æãšãã«ã¯åž°å® ã§ããªãã®ã§ãïŒæ©ãã«å€é£ãçµããããã«ãïŒã³ã³ããã§æžãŸãããšãå€ããªã£ãŠããŸããã
ã°ã©ããèŠããšåããã®ã§ãããç³è³ªå¶éãå§ããããããããããã«ã°ã©ããã°ããšäžãã£ãŠããŠãããã¯ããã§åããªããšæã£ãŠãããããŸãã幎å ã«ããš1ãããããèœãšãããšå¬ããã®ã§ããã
äœèª¿ã¯çµæ§ãããé£äºã®çŽåŸãé ãã·ã£ãŒããªç¶æ ãç¶æãããŠãããããªæ°ãããã®ã§ãç³è³ªå¶éã¹ã¿ã€ã«ãçµæ§ããããããªãããªãŒãšå人çã«ã¯æã£ãŠããŸãã
äžç¹ãå€ãã®äººãææããŠããããã«ãç³è³ªå¶éã¯é£è²»ãããããšããã®ã¯äºå®ã æããŸãïŒèªçããªãããã§ãããã®ã§ããïŒããå¥åº·ããéã§è²·ãããšèããã°ããŸãã¹ããŒããžã ã«ãéãæãã®ãšåããããªãã®ãªã®ã§æ§ããªãã®ã§ãããããã¡ãã£ãšå·¥å€«ããŠãããããªãŒãšæã£ãŠããŸãã
ããšãããã¡ãã£ãšäžã®äžã®ïŒç³è³ªå¶éã®ïŒé£äºã®éžæè¢ãå¢ãããšãããªãŒãæè¿ãã¹ã³ãã¥ããããé£ã¹ãŸãïŒã©ã€ã¹æããèãè±è å¢éïŒã
â ä»åŸã«ã€ããŠ
ç®æšäœéã¯ããš3ïœ4ããæžããããªã®ã§ããããéæãããŸã§ã¯ãä»ã®è«žã ãç¶ããŠããã€ããã§ãã
å人çã«ã¯ã©ãŒã¡ã³ãšãçœç±³ãšãã¯ããšããšããã»ã©èå³ã¯ãªãã®ã§ãããã«ã¬ãŒæäººãªã®ã§ãã«ã¬ãŒãšã©ãæãåããä»ããŠãããããä»åŸã®ç³è³ªå¶éã©ã€ãã¹ã¿ã€ã«ãå·Šå³ãããšèšã£ãŠãéèšã§ã¯ãªããããããŸããã
ãå®è¥¿å çãã«ã¬ãŒãé£ã¹ããã§ãã»ã»ã»ã
ããŒããã€ãå°å ¥ãããããšãæããŸããããããŒããã€ã¯ããå°ãäœéãçµã£ãŠããã«ããããšæã£ãŠãŸããïŒ1ãµæåŸããããç®æšã«ã»ã»ã»ïŒ
ãŸããã«ã¬ãŒãé£ã¹ããã®ã§ãã£ãŠãå¥ã«ã©ã€ã¹ã§ãªããŠãããã®ãäºå®ãªã®ã§ããã»ã»ã»ã
ããšããžã§ã®ã³ã°ã«å ããŠãããããçãã¬ãå°å ¥ãããããªãŒãšæã£ããæããªãã£ããã
ãããªæãã®ããæ°ã¶æã§ãã
ã§ã¯ã§ã¯ã
ææ¥ã¯ç³è³ªå¶é Advent Calendar 2015 æçµæ¥ã§ããèª°ãæžãã®ããªãŒïŒ