Hollywood actress Cameron Diaz has celebrated her 50th birthday by throwing a glitzy dinner for her famous friends at the lavish Nobu restaurant in Malibu, California.